[262159] resolve problem with Source folder update in headless NewJavaClass data model
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/SourceFolderUpdateTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/SourceFolderUpdateTest.java new file mode 100644 index 0000000..56c1d81 --- /dev/null +++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/j2ee/operations/SourceFolderUpdateTest.java
@@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2008 SAP AG and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * SAP AG - initial API and implementation + *******************************************************************************/ +package org.eclipse.wtp.j2ee.headless.tests.j2ee.operations; + +import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.SOURCE_FOLDER; +import static org.eclipse.wst.common.componentcore.internal.operation.IArtifactEditOperationDataModelProperties.PROJECT_NAME; +import junit.framework.Test; + +import org.eclipse.core.runtime.Path; +import org.eclipse.jst.j2ee.internal.common.operations.NewJavaClassDataModelProvider; +import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; +import org.eclipse.wst.common.frameworks.datamodel.IDataModel; +import org.eclipse.wst.common.tests.OperationTestCase; +import org.eclipse.wtp.j2ee.headless.tests.utility.operations.UtilityProjectCreationOperationTest; + +public class SourceFolderUpdateTest extends OperationTestCase { + + public SourceFolderUpdateTest(String name) { + super(name); + } + + public static Test suite() { + return new SourceFolderUpdateTest("testSourceFolderUpdate"); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + + // create 2 utility projects + runAndVerify(UtilityProjectCreationOperationTest.getUtilityDataModel("project1", null)); + runAndVerify(UtilityProjectCreationOperationTest.getUtilityDataModel("project2", null)); + } + + public void testSourceFolderUpdate() { + // create the new Java class data model + IDataModel model = DataModelFactory.createDataModel(new NewJavaClassDataModelProvider()); + + // set the first project + model.setStringProperty(PROJECT_NAME, "project1"); + + // the data model provider should already set the source folder, but we + // reset it in order to avoid further calls to the default value + model.setStringProperty(SOURCE_FOLDER, "/project1/src"); + + // set the second project + model.setStringProperty(PROJECT_NAME, "project2"); + + // check if the source folder has switched to the one of the second project + assertEquals(new Path("/project2/src"), new Path(model.getStringProperty(SOURCE_FOLDER))); + } + + @Override + protected void tearDown() throws Exception { + super.tearDown(); + deleteAllProjects(); + } + + + +}
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java index 1524ae7..f4c8dee 100644 --- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java +++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/wtp/j2ee/headless/tests/plugin/AllPluginTests.java
@@ -55,6 +55,7 @@ addTest(org.eclipse.wtp.j2ee.headless.tests.ear.operations.AllTests.suite()); addTest(org.eclipse.wtp.j2ee.headless.tests.appclient.operations.AllTests.suite()); addTest(org.eclipse.wtp.j2ee.headless.tests.utility.operations.AllTests.suite()); + addTest(org.eclipse.wtp.j2ee.headless.tests.j2ee.operations.SourceFolderUpdateTest.suite()); addTest(org.eclipse.jst.j2ee.tests.modulecore.AllTests.suite()); // model provider addTest(ModelProviderTest.suite());