blob: 073994d3f9811ea9267c7d7b946ac016537a57a9 [file] [log] [blame]
/*
* 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.servlet.tomcat.tests;
import junit.framework.Test;
import junit.framework.TestCase;
import org.eclipse.core.resources.IProject;
import org.eclipse.jst.j2ee.application.operations.J2EEArtifactCreationDataModel;
import org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel;
import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationDataModel;
import org.eclipse.jst.j2ee.internal.web.archive.operations.WebModuleCreationOperation;
import org.eclipse.jst.j2ee.web.operations.AddServletOperation;
import org.eclipse.jst.j2ee.web.operations.NewServletClassDataModel;
import org.eclipse.wst.common.tests.LogUtility;
import org.eclipse.wst.common.tests.ProjectUtility;
import org.eclipse.wst.common.tests.SimpleTestSuite;
import org.eclipse.wst.common.tests.TaskViewUtility;
import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifier;
import org.eclipse.wtp.j2ee.headless.tests.j2ee.verifiers.DataModelVerifierFactory;
/**
* @author blancett
*
* To change the template for this generated type comment go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
public class WebProjectCreationTomcatTest extends TestCase {
protected String projectName = null;
public static void createStandaloneWebProject(WebModuleCreationDataModel model) throws Exception {
WebModuleCreationOperation webOp = new WebModuleCreationOperation(model);
webOp.run(null);
ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
TaskViewUtility.verifyNoErrors();
}
public static void createServlet(NewServletClassDataModel model) throws Exception {
AddServletOperation op = new AddServletOperation(model);
op.run(null);
ProjectUtility.verifyProject(model.getTargetProject().getName(), true);
TaskViewUtility.verifyNoErrors();
}
public WebModuleCreationDataModel setupStandaloneWebProject(String aProjectName, int j2eeVersion) throws Exception {
projectName = aProjectName;
IProject javaProject = ProjectUtility.getProject(projectName);
WebModuleCreationDataModel model = new WebModuleCreationDataModel();
model.setProperty(WebModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
model.setProperty(WebModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
model.setIntProperty(WebModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
model.setProperty(WebModuleCreationDataModel.SERVER_TARGET_ID,AllTomcatTests.TOMCAT_RUNTIME.getId());
createStandaloneWebProject(model);
createServlet(projectName);
return model;
}
public WebModuleCreationDataModel setupStandaloneAnnotatedWebProject(String aProjectName, int j2eeVersion) throws Exception {
projectName = aProjectName;
IProject javaProject = ProjectUtility.getProject(projectName);
WebModuleCreationDataModel model = new WebModuleCreationDataModel();
model.setProperty(WebModuleCreationDataModel.PROJECT_NAME, javaProject.getName());
model.setProperty(WebModuleCreationDataModel.PROJECT_LOCATION, javaProject.getLocation());
model.setIntProperty(WebModuleCreationDataModel.J2EE_MODULE_VERSION, j2eeVersion);
model.setProperty(WebModuleCreationDataModel.SERVER_TARGET_ID,AllTomcatTests.TOMCAT_RUNTIME.getId());
createStandaloneWebProject(model);
createAnnotatedServlet(projectName);
return model;
}
/**
* @throws Exception
*/
private void createServlet(String projectName) throws Exception {
NewServletClassDataModel servletModel = setupServletCreationDataModel(projectName);
createServlet(servletModel);
}
/**
* @throws Exception
*/
private void createAnnotatedServlet(String projectName) throws Exception {
NewServletClassDataModel servletModel = setupAnnotatedServletCreationDataModel(projectName);
createServlet(servletModel);
}
public NewServletClassDataModel setupAnnotatedServletCreationDataModel(String projectName) {
NewServletClassDataModel servletDataModel = new NewServletClassDataModel();
servletDataModel.setProperty(NewServletClassDataModel.PROJECT_NAME, projectName);
servletDataModel.setProperty(NewServletClassDataModel.CLASS_NAME, "FooServlet");
servletDataModel.setProperty(NewServletClassDataModel.DISPLAY_NAME,"FooServlet");
servletDataModel.setBooleanProperty(NewServletClassDataModel.USE_ANNOTATIONS,true);
return servletDataModel;
}
public NewServletClassDataModel setupServletCreationDataModel(String projectName) {
NewServletClassDataModel servletDataModel = new NewServletClassDataModel();
servletDataModel.setProperty(NewServletClassDataModel.PROJECT_NAME, projectName);
servletDataModel.setProperty(NewServletClassDataModel.CLASS_NAME, "FooServlet");
servletDataModel.setProperty(NewServletClassDataModel.DISPLAY_NAME,"FooServlet");
servletDataModel.setBooleanProperty(NewServletClassDataModel.USE_ANNOTATIONS,false);
return servletDataModel;
}
public void createVaildProjectAndServletCreation(String projectName,int j2eeVersion) throws Exception {
LogUtility.getInstance().resetLogging();
J2EEArtifactCreationDataModel model = null;
model = setupStandaloneWebProject(projectName, j2eeVersion);
LogUtility.getInstance().verifyNoWarnings();
checkValidDataModel(model);
}
public void createVaildAnnotatedProjectAndServletCreation(String projectName,int j2eeVersion) throws Exception {
LogUtility.getInstance().resetLogging();
J2EEArtifactCreationDataModel model = null;
model = setupStandaloneAnnotatedWebProject(projectName, j2eeVersion);
LogUtility.getInstance().verifyNoWarnings();
checkValidDataModel(model);
}
/**
* @param model
*/
protected void checkValidDataModel(J2EEArtifactCreationDataModel model) {
DataModelVerifier verifier = DataModelVerifierFactory.getInstance().createVerifier(model);
try {
verifier.verify(model);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void testVaild12WebProjectNameCreation() throws Exception {
ProjectUtility.deleteAllProjects();
createVaildProjectAndServletCreation("FooTomcatWebProject12", J2EEVersionConstants.WEB_2_2_ID);
}
/* TODO Uncomment this method when Annotation support for servlets is enabled
* public void testVaild12AnnotatedWebProjectNameCreation() throws Exception {
ProjectUtility.deleteAllProjects();
createVaildAnnotatedProjectAndServletCreation("FooAnnotatedTomcatWebProject12", J2EEVersionConstants.WEB_2_2_ID);
}*/
public void testVaild13WebProjectNameCreation() throws Exception {
ProjectUtility.deleteAllProjects();
createVaildProjectAndServletCreation("Foo1TomcatWebProject13", J2EEVersionConstants.WEB_2_3_ID);
}
/* TODO Uncomment this method when Annotation support for servlets is enabled
* public void testVaild13AnnotatedWebProjectNameCreation() throws Exception {
ProjectUtility.deleteAllProjects();
createVaildAnnotatedProjectAndServletCreation("Foo1TomcatWebProject13", J2EEVersionConstants.WEB_2_3_ID);
}*/
public void testVaild14WebProjectNameCreation() throws Exception {
ProjectUtility.deleteAllProjects();
createVaildProjectAndServletCreation("Foo1TomcatWebProject14", J2EEVersionConstants.WEB_2_4_ID);
}
/* TODO Uncomment this method when Annotation support for servlets is enabled
* public void testVaild14AnnotatedWebProjectNameCreation() throws Exception {
ProjectUtility.deleteAllProjects();
createVaildAnnotatedProjectAndServletCreation("Foo1TomcatWebProject14", J2EEVersionConstants.WEB_2_4_ID);
}*/
public static Test suite() {
return new SimpleTestSuite(WebProjectCreationTomcatTest.class);
}
/* (non-Javadoc)
* @see org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.ModuleProjectCreationOperationTest#getProjectCreationDataModel()
*/
public J2EEModuleCreationDataModel getProjectCreationDataModel() {
// TODO Auto-generated method stub
return null;
}
}