[jboss-cvs] jbosside/ejb3/plugins/org.jboss.ide.eclipse.ejb3.wizards.core/src/main/org/jboss/ide/eclipse/ejb3/core/facet ...
Robert Stryker
rawblem at gmail.com
Mon Jan 29 15:11:57 EST 2007
User: rawb
Date: 07/01/29 15:11:57
Modified: ejb3/plugins/org.jboss.ide.eclipse.ejb3.wizards.core/src/main/org/jboss/ide/eclipse/ejb3/core/facet
Ejb30FacetPostInstallDelegate.java
Log:
Ensured ejb properly added to dd
Revision Changes Path
1.3 +51 -0 jbosside/ejb3/plugins/org.jboss.ide.eclipse.ejb3.wizards.core/src/main/org/jboss/ide/eclipse/ejb3/core/facet/Ejb30FacetPostInstallDelegate.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Ejb30FacetPostInstallDelegate.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/ejb3/plugins/org.jboss.ide.eclipse.ejb3.wizards.core/src/main/org/jboss/ide/eclipse/ejb3/core/facet/Ejb30FacetPostInstallDelegate.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- Ejb30FacetPostInstallDelegate.java 22 Jan 2007 20:19:23 -0000 1.2
+++ Ejb30FacetPostInstallDelegate.java 29 Jan 2007 20:11:57 -0000 1.3
@@ -6,7 +6,10 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -20,14 +23,26 @@
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jem.util.logger.proxy.Logger;
import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
+import org.eclipse.jst.j2ee.application.Application;
+import org.eclipse.jst.j2ee.application.Module;
+import org.eclipse.jst.j2ee.application.internal.impl.EjbModuleImpl;
+import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
+import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationOp;
+import org.eclipse.jst.j2ee.application.internal.operations.IAddComponentToEnterpriseApplicationDataModelProperties;
import org.eclipse.jst.j2ee.internal.common.operations.JavaModelUtil;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetInstallDataModelProperties;
import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
import org.eclipse.jst.j2ee.project.facet.J2EEFacetInstallDelegate;
import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
import org.eclipse.wst.common.project.facet.core.IDelegate;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
@@ -85,6 +100,42 @@
}
+ protected void addToEar(IVirtualComponent earComp, IVirtualComponent j2eeComp, String moduleURI ){
+ final IDataModel dataModel = DataModelFactory.createDataModel(new AddEjb30ToEnterpriseApplicationDataModelProvider());
+ Map map = (Map)dataModel.getProperty(IAddComponentToEnterpriseApplicationDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP);
+ map.put(j2eeComp, moduleURI);
+
+ dataModel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComp);
+
+ List modList = (List) dataModel.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
+ modList.add(j2eeComp);
+ dataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modList);
+ try {
+ dataModel.getDefaultOperation().execute(null, null);
+ } catch (ExecutionException e) {
+ Logger.getLogger().logError(e);
+ }
+ }
+ protected class AddEjb30ToEnterpriseApplicationDataModelProvider extends AddComponentToEnterpriseApplicationDataModelProvider {
+ public IDataModelOperation getDefaultOperation() {
+ return new AddEjb30ToEnterpriseApplicationOp(model);
+ }
+ }
+
+ public class AddEjb30ToEnterpriseApplicationOp extends AddComponentToEnterpriseApplicationOp {
+ public AddEjb30ToEnterpriseApplicationOp(IDataModel model) {
+ super(model);
+ }
+ protected Module createNewModule(IVirtualComponent wc) {
+ IProject p = wc.getProject();
+ if( J2EEProjectUtilities.isProjectOfType(p, "jbide.ejb30"))
+ return new EjbModuleImpl();
+ return null;
+ }
+
+
+ }
+
public void jbossPostInstall(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
addClasspathEntries(project, fv, config, monitor);
addJNDIFile(project);
More information about the jboss-cvs-commits
mailing list