commited for NA
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/fvtests/AbstractModuleCreationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/fvtests/AbstractModuleCreationTest.java
new file mode 100644
index 0000000..c13f5b5
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/fvtests/AbstractModuleCreationTest.java
@@ -0,0 +1,67 @@
+package org.eclipse.jst.j2ee.flexible.project.fvtests;
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.j2ee.application.operations.FlexibleJ2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.FlexibileWebModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.FlexibileWebModuleCreationOperation;
+import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
+import org.eclipse.wst.common.tests.ProjectUtility;
+
+public abstract class AbstractModuleCreationTest extends TestCase {
+	protected static final String ILLEGAL_PROJECT_NAME_MESSAGE = "Illegal project name: ";
+	protected static final String UNEXPECTED_ERROR_MESSAGE = "Unexpected exception";
+	protected static final String TEST_FAILED_MESSAGE = "Test fails Exception should of been trown";
+	protected static final String MANIFEST_CLASS_NAME = "Junit_Test_Dummy_Class";
+	protected static final String MANIFEST_WRITE_ERROR = "Could not write to manifest test failed";
+	protected static final String MANIFEST_LOCK_ERROR = "Manifest IO error - File could be locked";
+	protected static final String MANIFEST_CORE_ERROR = "Java core error";
+
+	
+	public static final int APPLICATION_CLIENT_MODULE = 0;
+	public static final int WEB_MODULE = 1;
+	public static final int EJB_MODULE = 2;
+	public static final int EAR_MODULE = 3;
+//	public IProject ejbproject;
+//	public IProject earproject;
+	protected String projectName = null;
+	
+	public AbstractModuleCreationTest(String name) {
+		super(name);
+	}
+	
+	public AbstractModuleCreationTest() {
+		super();
+	}	
+
+
+	public   FlexibleJ2EEModuleCreationDataModel setupWebModule(int j2eeVersion) throws Exception {
+		projectName = getWebModuleProjectName();
+		IProject javaProject = ProjectUtility.getProject(projectName);
+		
+		FlexibileWebModuleCreationDataModel model = new FlexibileWebModuleCreationDataModel();
+		
+		model.setProperty( FlexibileWebModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
+		model.setIntProperty(FlexibileWebModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
+		
+		createWebModule(model, null);
+		return model;
+	}
+
+	public static void createWebModule(FlexibileWebModuleCreationDataModel model, IProject earProject) throws Exception {
+//		if (earProject != null) {
+//			model.setBooleanProperty(WebModuleCreationDataModel.ADD_TO_EAR, true);
+//			model.setProperty(WebModuleCreationDataModel.EAR_PROJECT_NAME, earProject.getName());
+//		}
+		
+		FlexibileWebModuleCreationOperation webOp = new FlexibileWebModuleCreationOperation(model);
+		webOp.run(null);
+		
+		//ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
+		//TaskViewUtility.verifyNoErrors();
+	}
+
+	public String getWebModuleProjectName() {
+		return "Flexibile"; //$NON-NLS-1$
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/fvtests/WebModuleCreationTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/fvtests/WebModuleCreationTest.java
new file mode 100644
index 0000000..b7cf0d3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/fvtests/WebModuleCreationTest.java
@@ -0,0 +1,41 @@
+/*
+ * Created on Jan 6, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.j2ee.flexible.project.fvtests;
+
+import junit.framework.Test;
+
+import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.wst.common.tests.ProjectUtility;
+import org.eclipse.wst.common.tests.SimpleTestSuite;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.AbstractProjectCreationTest;
+import org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.RandomObjectGenerator;
+
+/**
+ * @author blancett
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class WebModuleCreationTest extends AbstractModuleCreationTest {
+	
+    public static Test suite() {
+        return new SimpleTestSuite(WebModuleCreationTest.class);
+    }
+    	
+	
+	public void testVaild12WebProjectNameCreationWithAlphabetChars() throws Exception {
+		int test = 0;
+		
+		setupWebModule(J2EEVersionConstants.WEB_2_2_ID);
+		
+//		ProjectUtility.deleteAllProjects();
+//		for (int i = 0; i < RandomObjectGenerator.createRandomProjectNumber(); i++)
+//			createVaildProjectNameCreationWithAlphabetChars(WEB_PROJECT, J2EEVersionConstants.WEB_2_2_ID, false);
+	}
+
+}