[175139] IModel api additions
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java index 9c4998a..ddfee4c 100644 --- a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java +++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/operations/EJBExportOperationTest.java
@@ -15,6 +15,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile; +import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBComponentExportDataModelProvider; import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; @@ -62,7 +63,7 @@ } protected void testDDExported(IVirtualComponent component) throws Exception { - EJBArtifactEdit ejbEdit = null; + EnterpriseArtifactEdit ejbEdit = null; EJBJarFile ejbJarFile = null; try { ejbEdit = EJBArtifactEdit.getEJBArtifactEditForRead(component);
diff --git a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java index 2cc5614..7d8542a 100644 --- a/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java +++ b/tests/org.eclipse.jst.j2ee.tests/ejbmodule-tests/org/eclipse/wtp/j2ee/headless/tests/ejb/verifiers/EJBProjectCreationDataModelVerifier.java
@@ -9,6 +9,7 @@ import junit.framework.Assert; import org.eclipse.jem.util.emf.workbench.ProjectUtilities; +import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; import org.eclipse.jst.j2ee.ejb.EJBJar; import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties; @@ -29,7 +30,7 @@ */ public void verifyProjectCreationDataModel(IDataModel model) { Object key = new Object(); - EJBArtifactEdit ejbEdit = null; + EnterpriseArtifactEdit ejbEdit = null; try { Object dd = null;
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditFVTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditFVTest.java index f3b67da..0b5addc 100644 --- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditFVTest.java +++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditFVTest.java
@@ -6,6 +6,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; import org.eclipse.jst.j2ee.ejb.EJBJar; import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; import org.eclipse.wst.common.componentcore.internal.ComponentResource; @@ -79,7 +80,7 @@ } private void validateResource() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForWrite(ejbProject); // EList resourceList = wbComponent.getResources();
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditTest.java index 6794383..b70b53d 100644 --- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditTest.java +++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/j2ee/flexible/project/apitests/artifactedit/EJBArtifactEditTest.java
@@ -4,6 +4,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.jst.j2ee.application.Module; +import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; import org.eclipse.jst.j2ee.ejb.EJBJar; import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; import org.eclipse.jst.j2ee.internal.common.XMLResource; @@ -31,7 +32,7 @@ } public void testGetJ2EEVersion() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); String version = new Integer(edit.getJ2EEVersion()).toString(); @@ -44,7 +45,7 @@ } public void testGetDeploymentDescriptorResource() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); String uri = edit.getDeploymentDescriptorResource().getURI().toString(); @@ -60,7 +61,7 @@ // /////BUG in PlatformURL\\\\\\\\\\\ public void testGetDeploymentDescriptorRoot() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); edit.getDeploymentDescriptorRoot(); @@ -82,7 +83,7 @@ public void testCreateModelRoot() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForWrite(ejbProject); edit.createModelRoot(); @@ -105,7 +106,7 @@ */ // ///////////////BUG in PlatformURLModuleConnection public void testCreateModelRootint() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { // ///////BUG in PlatformURLModuleConnection edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); @@ -127,7 +128,7 @@ * Class under test for void EJBArtifactEdit(ComponentHandle, boolean) */ public void testEJBArtifactEditComponentHandleboolean() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = new EJBArtifactEdit(ejbProject, true); assertNotNull(edit); @@ -142,7 +143,7 @@ * Class under test for void EJBArtifactEdit(ArtifactEditModel) */ public void testEJBArtifactEditArtifactEditModel() { - EJBArtifactEdit edit = new EJBArtifactEdit(getArtifactEditModelforRead()); + EnterpriseArtifactEdit edit = new EJBArtifactEdit(getArtifactEditModelforRead()); assertNotNull(edit); edit.dispose(); } @@ -240,7 +241,7 @@ } public void testAddEJBJarIfNecessary() { - EJBArtifactEdit test = new EJBArtifactEdit(getArtifactEditModelforRead()) { + EnterpriseArtifactEdit test = new EJBArtifactEdit(getArtifactEditModelforRead()) { protected void addEJBJarIfNecessary(XMLResource aResource) { // TODO add test super.addEJBJarIfNecessary(aResource); @@ -257,7 +258,7 @@ * Class under test for EJBArtifactEdit getEJBArtifactEditForRead(ComponentHandle) */ public void testGetEJBArtifactEditForReadComponentHandle() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); assertTrue(edit != null); @@ -272,7 +273,7 @@ * Class under test for EJBArtifactEdit getEJBArtifactEditForWrite(ComponentHandle) */ public void testGetEJBArtifactEditForWriteComponentHandle() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForWrite(ejbProject); } finally { @@ -287,7 +288,7 @@ * Class under test for EJBArtifactEdit getEJBArtifactEditForRead(WorkbenchComponent) */ public void testGetEJBArtifactEditForReadWorkbenchComponent() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForRead(ejbProject); assertTrue(edit != null); @@ -302,7 +303,7 @@ * Class under test for EJBArtifactEdit getEJBArtifactEditForWrite(WorkbenchComponent) */ public void testGetEJBArtifactEditForWriteWorkbenchComponent() { - EJBArtifactEdit edit = null; + EnterpriseArtifactEdit edit = null; try { edit = EJBArtifactEdit.getEJBArtifactEditForWrite(ejbProject); } finally { @@ -324,7 +325,7 @@ return new ArtifactEditModel(this.toString(), context, true, TestWorkspace.APP_CLIENT_MODULE_URI); } - public EJBArtifactEdit getArtifactEditForRead() { + public EnterpriseArtifactEdit getArtifactEditForRead() { return new EJBArtifactEdit(getArtifactEditModelforRead()); }
diff --git a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/jee/model/tests/ModelProviderTest.java b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/jee/model/tests/ModelProviderTest.java index b0d4009..d1aad50 100644 --- a/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/jee/model/tests/ModelProviderTest.java +++ b/tests/org.eclipse.jst.j2ee.tests/j2ee-tests/org/eclipse/jst/jee/model/tests/ModelProviderTest.java
@@ -1,4 +1,5 @@ package org.eclipse.jst.jee.model.tests; +import junit.framework.Assert; import junit.framework.Test; import org.eclipse.core.commands.ExecutionException; @@ -11,6 +12,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EAttribute; @@ -26,6 +28,7 @@ import org.eclipse.jst.j2ee.archive.emftests.GeneralEMFPopulationTest; import org.eclipse.jst.j2ee.earcreation.IEarFacetInstallDataModelProperties; import org.eclipse.jst.j2ee.ejb.project.operations.IEjbFacetInstallDataModelProperties; +import org.eclipse.jst.j2ee.internal.J2EEConstants; import org.eclipse.jst.j2ee.internal.J2EEVersionConstants; import org.eclipse.jst.j2ee.internal.common.CreationConstants; import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil; @@ -36,6 +39,8 @@ import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties; import org.eclipse.jst.j2ee.web.project.facet.IWebFacetInstallDataModelProperties; import org.eclipse.jst.javaee.application.Application; +import org.eclipse.jst.javaee.core.Description; +import org.eclipse.jst.javaee.core.JavaeeFactory; import org.eclipse.jst.javaee.ejb.EJBJar; import org.eclipse.jst.javaee.web.WebApp; import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties; @@ -54,6 +59,7 @@ public class ModelProviderTest extends GeneralEMFPopulationTest { private static final String PROJECTNAME = "TestModelProviders"; + private final String descText = "Testing setting the desc"; public ModelProviderTest(String name) { super(name); } @@ -131,17 +137,64 @@ String projName = "TestEE5EarProject";//$NON-NLS-1$ IProject earProj = createEarProject(projName, J2EEVersionConstants.JEE_5_0_ID); - IModelProvider provider = ModelProviderManager.getModelProvider(earProj); + final IModelProvider provider = ModelProviderManager.getModelProvider(earProj); - Application ear = (Application)provider.getModelObject(); + + provider.modify(new Runnable() { + public void run() { + Application ear = (Application)provider.getModelObject(); + if (ear.getDescriptions().isEmpty()) + ear.getDescriptions().add(JavaeeFactory.eINSTANCE.createDescription()); + Description desc = (Description)ear.getDescriptions().get(0); + desc.setValue(descText); + } + } + , null); + + //Close project to force flush + earProj.close(new NullProgressMonitor()); + //Re-open project + earProj.open(new NullProgressMonitor()); + + + IModelProvider newProvider = ModelProviderManager.getModelProvider(earProj); + Application sameEar = (Application)newProvider.getModelObject(); + Description desc = (Description)sameEar.getDescriptions().get(0); + Assert.assertEquals(descText, desc.getValue()); + } public void testUseEar14Model() throws Exception { String projName = "TestEE14EarProject";//$NON-NLS-1$ IProject earProj = createEarProject(projName, J2EEVersionConstants.J2EE_1_4_ID); - IModelProvider provider = ModelProviderManager.getModelProvider(earProj); - org.eclipse.jst.j2ee.application.Application ear = (org.eclipse.jst.j2ee.application.Application)provider.getModelObject(); + final IModelProvider provider = ModelProviderManager.getModelProvider(earProj); + + // Test getting model through path api. + org.eclipse.jst.j2ee.application.Application ear = (org.eclipse.jst.j2ee.application.Application)provider.getModelObject(new Path(J2EEConstants.APPLICATION_DD_URI)); + + + provider.modify(new Runnable() { + public void run() { + org.eclipse.jst.j2ee.application.Application ear = (org.eclipse.jst.j2ee.application.Application)provider.getModelObject(); +// if (ear.getDescriptions().isEmpty()) +// ear.getDescriptions().add(CommonFactory.eINSTANCE.createDescription()); + ear.setDescription(descText); + + } + } + , null); + + //Close project to force flush + earProj.close(new NullProgressMonitor()); + //Re-open project + earProj.open(new NullProgressMonitor()); + + + IModelProvider newProvider = ModelProviderManager.getModelProvider(earProj); + org.eclipse.jst.j2ee.application.Application sameEar = (org.eclipse.jst.j2ee.application.Application)newProvider.getModelObject(); + org.eclipse.jst.j2ee.common.Description desc = (org.eclipse.jst.j2ee.common.Description)sameEar.getDescriptions().get(0); + Assert.assertEquals(descText, desc.getValue()); } public void testUseWeb25Model() throws Exception { @@ -149,9 +202,29 @@ String projName = "TestEE5WebProject";//$NON-NLS-1$ IProject webProj = createWebProject(projName, J2EEVersionConstants.WEB_2_5_ID); - IModelProvider provider = ModelProviderManager.getModelProvider(webProj); - - WebApp webApp = (WebApp)provider.getModelObject(); + final IModelProvider provider = ModelProviderManager.getModelProvider(webProj); + + provider.modify(new Runnable() { + public void run() { + WebApp webApp = (WebApp)provider.getModelObject(); + if (webApp.getDescriptions().isEmpty()) + webApp.getDescriptions().add(JavaeeFactory.eINSTANCE.createDescription()); + Description desc = (Description)webApp.getDescriptions().get(0); + desc.setValue(descText); + } + } + , null); + + //Close project to force flush + webProj.close(new NullProgressMonitor()); + //Re-open project + webProj.open(new NullProgressMonitor()); + + + IModelProvider newProvider = ModelProviderManager.getModelProvider(webProj); + WebApp sameWebApp = (WebApp)newProvider.getModelObject(); + Description desc = (Description)sameWebApp.getDescriptions().get(0); + Assert.assertEquals(descText, desc.getValue()); } @@ -159,8 +232,30 @@ String projName = "TestEE14WebProject";//$NON-NLS-1$ IProject webProj = createWebProject(projName, J2EEVersionConstants.WEB_2_4_ID); - IModelProvider provider = ModelProviderManager.getModelProvider(webProj); - org.eclipse.jst.j2ee.webapplication.WebApp webApp = (org.eclipse.jst.j2ee.webapplication.WebApp)provider.getModelObject(); + final IModelProvider provider = ModelProviderManager.getModelProvider(webProj); + + provider.modify(new Runnable() { + public void run() { + org.eclipse.jst.j2ee.webapplication.WebApp webApp = (org.eclipse.jst.j2ee.webapplication.WebApp)provider.getModelObject(); +// if (webApp.getDescriptions().isEmpty()) +// webApp.getDescriptions().add(CommonFactory.eINSTANCE.createDescription()); +// org.eclipse.jst.j2ee.common.Description desc = (org.eclipse.jst.j2ee.common.Description)webApp.getDescriptions().get(0); +// desc.setValue(descText); + webApp.setDescription(descText); + } + } + , null); + + //Close project to force flush + webProj.close(new NullProgressMonitor()); + //Re-open project + webProj.open(new NullProgressMonitor()); + + + IModelProvider newProvider = ModelProviderManager.getModelProvider(webProj); + org.eclipse.jst.j2ee.webapplication.WebApp sameWebApp = (org.eclipse.jst.j2ee.webapplication.WebApp)newProvider.getModelObject(); + org.eclipse.jst.j2ee.common.Description desc = (org.eclipse.jst.j2ee.common.Description)sameWebApp.getDescriptions().get(0); + Assert.assertEquals(descText, desc.getValue()); } @@ -169,18 +264,60 @@ String projName = "TestEE5EjbProject";//$NON-NLS-1$ IProject ejbProj = createEjbProject(projName, J2EEVersionConstants.EJB_3_0_ID); - IModelProvider provider = ModelProviderManager.getModelProvider(ejbProj); - - EJBJar ejbJar = (EJBJar)provider.getModelObject(); + final IModelProvider provider = ModelProviderManager.getModelProvider(ejbProj); + + provider.modify(new Runnable() { + public void run() { + EJBJar ejbJar = (EJBJar)provider.getModelObject(); + if (ejbJar.getDescriptions().isEmpty()) + ejbJar.getDescriptions().add(JavaeeFactory.eINSTANCE.createDescription()); + Description desc = (Description)ejbJar.getDescriptions().get(0); + desc.setValue(descText); + } + } + , null); + + //Close project to force flush + ejbProj.close(new NullProgressMonitor()); + //Re-open project + ejbProj.open(new NullProgressMonitor()); + + + IModelProvider newProvider = ModelProviderManager.getModelProvider(ejbProj); + EJBJar sameEjbJar = (EJBJar)newProvider.getModelObject(); + Description desc = (Description)sameEjbJar.getDescriptions().get(0); + Assert.assertEquals(descText, desc.getValue()); } public void testUseEjb21Model() throws Exception { String projName = "TestEE14EjbProject";//$NON-NLS-1$ - IProject webProj = createEjbProject(projName, J2EEVersionConstants.EJB_2_1_ID); - IModelProvider provider = ModelProviderManager.getModelProvider(webProj); - org.eclipse.jst.j2ee.ejb.EJBJar ejbJar = (org.eclipse.jst.j2ee.ejb.EJBJar)provider.getModelObject(); + IProject ejbProj = createEjbProject(projName, J2EEVersionConstants.EJB_2_1_ID); + final IModelProvider provider = ModelProviderManager.getModelProvider(ejbProj); + + provider.modify(new Runnable() { + public void run() { + org.eclipse.jst.j2ee.ejb.EJBJar ejbJar = (org.eclipse.jst.j2ee.ejb.EJBJar)provider.getModelObject(); +// if (ejbJar.getDescriptions().isEmpty()) +// ejbJar.getDescriptions().add(CommonFactory.eINSTANCE.createDescription()); +// org.eclipse.jst.j2ee.common.Description desc = (org.eclipse.jst.j2ee.common.Description)ejbJar.getDescriptions().get(0); +// desc.setValue(descText); + ejbJar.setDescription(descText); + } + } + , null); + + //Close project to force flush + ejbProj.close(new NullProgressMonitor()); + //Re-open project + ejbProj.open(new NullProgressMonitor()); + + + IModelProvider newProvider = ModelProviderManager.getModelProvider(ejbProj); + org.eclipse.jst.j2ee.ejb.EJBJar sameEjbJar = (org.eclipse.jst.j2ee.ejb.EJBJar)newProvider.getModelObject(); + org.eclipse.jst.j2ee.common.Description desc = (org.eclipse.jst.j2ee.common.Description)sameEjbJar.getDescriptions().get(0); + Assert.assertEquals(descText, desc.getValue()); } /* not yet working - comment out for now
diff --git a/tests/org.eclipse.jst.j2ee.tests/savestrategy-tests/org/eclipse/wtp/headless/tests/savestrategy/EJBImportOperationTest.java b/tests/org.eclipse.jst.j2ee.tests/savestrategy-tests/org/eclipse/wtp/headless/tests/savestrategy/EJBImportOperationTest.java index d82b175..b1f143d 100644 --- a/tests/org.eclipse.jst.j2ee.tests/savestrategy-tests/org/eclipse/wtp/headless/tests/savestrategy/EJBImportOperationTest.java +++ b/tests/org.eclipse.jst.j2ee.tests/savestrategy-tests/org/eclipse/wtp/headless/tests/savestrategy/EJBImportOperationTest.java
@@ -11,6 +11,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.jem.util.emf.workbench.ProjectUtilities; +import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit; import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit; import org.eclipse.jst.j2ee.internal.ejb.project.operations.EJBComponentImportDataModelProvider; import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; @@ -39,7 +40,7 @@ String fileName = getFullPathForEJBJar("Test13EJB.jar"); testImport(projectName, fileName); IProject proj = ProjectUtilities.getProject(projectName); - EJBArtifactEdit ejbEdit = null; + EnterpriseArtifactEdit ejbEdit = null; try { //ejbEdit = EJBArtifactEdit.getEJBArtifactEditForRead(proj); ejbEdit = new EJBArtifactEdit(proj,true,true);