[nobug] model-provider patches
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java index ff978e0..df7c4b8 100644 --- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java +++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java
@@ -42,19 +42,14 @@ import org.eclipse.jst.jee.application.ICommonApplication; import org.eclipse.jst.jee.application.ICommonModule; import org.eclipse.swt.widgets.Display; -import org.eclipse.wst.common.componentcore.ArtifactEdit; import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties; -import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel; import org.eclipse.wst.common.componentcore.internal.ReferencedComponent; import org.eclipse.wst.common.componentcore.internal.StructureEdit; import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent; import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsOp; -import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities; import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants; import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel; -import org.eclipse.wst.common.internal.emfworkbench.validateedit.IValidateEditContext; import org.eclipse.wst.common.project.facet.core.IFacetedProject; import org.eclipse.wst.common.project.facet.core.IProjectFacet; import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager; @@ -300,20 +295,6 @@ } protected IStatus validateEdit() { - IStatus status = super.validateEdit(); - if (status.isOK()) { - IValidateEditContext validator = (IValidateEditContext) UIContextDetermination.createInstance(IValidateEditContext.CLASS_KEY); - IVirtualComponent sourceComp = (IVirtualComponent) model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT); - IProject project = sourceComp.getProject(); - ArtifactEdit edit = null; - try { - edit = ComponentUtilities.getArtifactEditForWrite(sourceComp); - status = validator.validateState((EditModel) edit.getAdapter(ArtifactEditModel.ADAPTER_TYPE)); - } finally { - if (edit != null) - edit.dispose(); - } - } - return status; + return validateEditEAR(); } }
diff --git a/plugins/org.eclipse.jst.jee/jeecreation/org/eclipse/jst/jee/project/facet/EarCreateDeploymentFilesOperation.java b/plugins/org.eclipse.jst.jee/jeecreation/org/eclipse/jst/jee/project/facet/EarCreateDeploymentFilesOperation.java index 657ea84..7b12a66 100644 --- a/plugins/org.eclipse.jst.jee/jeecreation/org/eclipse/jst/jee/project/facet/EarCreateDeploymentFilesOperation.java +++ b/plugins/org.eclipse.jst.jee/jeecreation/org/eclipse/jst/jee/project/facet/EarCreateDeploymentFilesOperation.java
@@ -25,29 +25,30 @@ super(model); } - protected void createDeploymentFiles(IProject project, IProgressMonitor monitor) { + protected void createDeploymentFiles(IProject project, final IProgressMonitor monitor) { final IVirtualComponent component = ComponentCore.createComponent(project); final IModelProvider provider = ModelProviderManager.getModelProvider(project); provider.modify(new Runnable(){ public void run() { + IVirtualReference[] componentReferences = J2EEProjectUtilities.getJ2EEModuleReferences(component); + if(componentReferences != null && componentReferences.length > 0){ + final IDataModel dataModel = DataModelFactory.createDataModel(new AddComponentToEnterpriseApplicationDataModelProvider()); + dataModel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, component); + List modList = (List) dataModel.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST); + for(int i = 0; i < componentReferences.length; i++) { + IVirtualComponent referencedComponent = componentReferences[i].getReferencedComponent(); + modList.add(referencedComponent); + } + dataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modList); + try { + dataModel.getDefaultOperation().execute(monitor, null); + } catch (ExecutionException e) { + Logger.getLogger().logError(e); + } + } } }, IModelProvider.FORCESAVE); - IVirtualReference[] componentReferences = J2EEProjectUtilities.getJ2EEModuleReferences(component); - if(componentReferences != null && componentReferences.length > 0){ - final IDataModel dataModel = DataModelFactory.createDataModel(new AddComponentToEnterpriseApplicationDataModelProvider()); - dataModel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, component); - List modList = (List) dataModel.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST); - for(int i = 0; i < componentReferences.length; i++) { - IVirtualComponent referencedComponent = componentReferences[i].getReferencedComponent(); - modList.add(referencedComponent); - } - dataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modList); - try { - dataModel.getDefaultOperation().execute(monitor, null); - } catch (ExecutionException e) { - Logger.getLogger().logError(e); - } - } + }