You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ge...@apache.org on 2005/08/26 13:37:55 UTC
svn commit: r240209 - in
/geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core:
internal/ operations/
Author: geirm
Date: Fri Aug 26 04:37:49 2005
New Revision: 240209
URL: http://svn.apache.org/viewcvs?rev=240209&view=rev
Log:
GERONIMIO-919
Modified:
geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/DeploymentPlanCreationOperation.java
geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/GeronimoUtils.java
geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/ExportDeploymentPlanOperation.java
geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/IExportDeploymentPlanDataModelProperties.java
Modified: geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/DeploymentPlanCreationOperation.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/DeploymentPlanCreationOperation.java?rev=240209&r1=240208&r2=240209&view=diff
==============================================================================
--- geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/DeploymentPlanCreationOperation.java (original)
+++ geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/DeploymentPlanCreationOperation.java Fri Aug 26 04:37:49 2005
@@ -19,20 +19,15 @@
import java.util.Collections;
import org.apache.geronimo.xml.ns.j2ee.application.ApplicationFactory;
-import org.apache.geronimo.xml.ns.j2ee.application.ApplicationPackage;
import org.apache.geronimo.xml.ns.j2ee.application.ApplicationType;
-import org.apache.geronimo.xml.ns.j2ee.application.util.ApplicationResourceFactoryImpl;
import org.apache.geronimo.xml.ns.web.DocumentRoot;
import org.apache.geronimo.xml.ns.web.WebAppType;
import org.apache.geronimo.xml.ns.web.WebFactory;
-import org.apache.geronimo.xml.ns.web.WebPackage;
-import org.apache.geronimo.xml.ns.web.util.WebResourceFactoryImpl;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -45,25 +40,15 @@
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.datamodel.properties.IComponentCreationDataModelProperties;
import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.IFlexibleProject;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.frameworks.datamodel.properties.IFlexibleProjectCreationDataModelProperties;
-import org.eclipse.wst.server.core.IModule;
import org.openejb.xml.ns.openejb.jar.JarFactory;
-import org.openejb.xml.ns.openejb.jar.JarPackage;
import org.openejb.xml.ns.openejb.jar.OpenejbJarType;
-import org.openejb.xml.ns.openejb.jar.util.JarResourceFactoryImpl;
public class DeploymentPlanCreationOperation extends AbstractDataModelOperation {
- public static final String WEB_DEP_PLAN_NAME = "geronimo-web.xml";
-
- public static final String EJB_DEP_PLAN_NAME = "openejb-jar.xml";
-
- public static final String APP_DEP_PLAN_NAME = "geronimo-application.xml";
-
public DeploymentPlanCreationOperation() {
}
@@ -81,13 +66,16 @@
if (comp.getComponentTypeId().equals(
IModuleConstants.JST_WEB_MODULE)) {
- createGeronimoWebDeploymentPlan(comp);
+ createGeronimoWebDeploymentPlan(GeronimoUtils
+ .getWebDeploymentPlanFile(comp));
} else if (comp.getComponentTypeId().equals(
IModuleConstants.JST_EJB_MODULE)) {
- createOpenEjbDeploymentPlan(comp);
+ createOpenEjbDeploymentPlan(GeronimoUtils
+ .getOpenEjbDeploymentPlanFile(comp));
} else if (comp.getComponentTypeId().equals(
IModuleConstants.JST_EAR_MODULE)) {
- createGeronimoApplicationDeploymentPlan(comp);
+ createGeronimoApplicationDeploymentPlan(GeronimoUtils
+ .getApplicationDeploymentPlanFile(comp));
}
}
@@ -95,40 +83,12 @@
}
- public ApplicationType createGeronimoApplicationDeploymentPlan(
- IVirtualComponent comp) {
- IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
- .getProjectRelativePath().append("META-INF").append(
- APP_DEP_PLAN_NAME);
-
- IFile planFile = getProject().getFile(deployPlanPath);
- return createGeronimoApplicationDeploymentPlan(planFile);
- }
-
- public WebAppType createGeronimoWebDeploymentPlan(IVirtualComponent comp) {
- IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
- .getProjectRelativePath().append("WEB-INF").append(
- WEB_DEP_PLAN_NAME);
-
- IFile planFile = getProject().getFile(deployPlanPath);
- return createGeronimoWebDeploymentPlan(planFile);
- }
-
- public OpenejbJarType createOpenEjbDeploymentPlan(IVirtualComponent comp) {
- IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
- .getProjectRelativePath().append("META-INF").append(
- EJB_DEP_PLAN_NAME);
-
- IFile planFile = getProject().getFile(deployPlanPath);
- return createOpenEjbDeploymentPlan(planFile);
- }
-
public ApplicationType createGeronimoApplicationDeploymentPlan(IFile dpFile) {
URI uri = URI
.createPlatformResourceURI(dpFile.getFullPath().toString());
ResourceSet resourceSet = new ResourceSetImpl();
- // registerForWeb(resourceSet);
+ GeronimoUtils.registerAppFactoryAndPackage(resourceSet);
Resource resource = resourceSet.createResource(uri);
org.apache.geronimo.xml.ns.j2ee.application.DocumentRoot documentRoot = ApplicationFactory.eINSTANCE
@@ -153,7 +113,7 @@
.createPlatformResourceURI(dpFile.getFullPath().toString());
ResourceSet resourceSet = new ResourceSetImpl();
- registerForWeb(resourceSet);
+ GeronimoUtils.registerWebFactoryAndPackage(resourceSet);
Resource resource = resourceSet.createResource(uri);
DocumentRoot documentRoot = WebFactory.eINSTANCE.createDocumentRoot();
@@ -176,61 +136,21 @@
.createPlatformResourceURI(dpFile.getFullPath().toString());
ResourceSet resourceSet = new ResourceSetImpl();
- registerForWeb(resourceSet);
+ GeronimoUtils.registerEjbFactoryAndPackage(resourceSet);
Resource resource = resourceSet.createResource(uri);
- org.openejb.xml.ns.openejb.jar.DocumentRoot documentRoot = JarFactory.eINSTANCE.createDocumentRoot();
+ org.openejb.xml.ns.openejb.jar.DocumentRoot documentRoot = JarFactory.eINSTANCE
+ .createDocumentRoot();
OpenejbJarType root = JarFactory.eINSTANCE.createOpenejbJarType();
-
+
root.setConfigId(getProject().getName() + "/" + getComponentName());
-
+
documentRoot.setOpenejbJar(root);
resource.getContents().add(documentRoot);
doSave(resource);
return root;
- }
-
- public static void registerForWeb(ResourceSet resourceSet) {
- // Register the appropriate resource factory to handle all file
- // extentions.
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
- new WebResourceFactoryImpl());
-
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
- new ApplicationResourceFactoryImpl());
-
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
- new JarResourceFactoryImpl());
-
- // Register the package to ensure it is available during loading.
- resourceSet.getPackageRegistry().put(JarPackage.eNS_URI,
- JarPackage.eINSTANCE);
-
- resourceSet.getPackageRegistry().put(WebPackage.eNS_URI,
- WebPackage.eINSTANCE);
-
- resourceSet.getPackageRegistry().put(ApplicationPackage.eNS_URI,
- ApplicationPackage.eINSTANCE);
- }
-
- public static IFile getGeronimoWebDeploymentPlanFile(IModule module) {
- IProject project = module.getProject();
-
- IFlexibleProject flexProject = ComponentCore
- .createFlexibleProject(project);
- IVirtualComponent component = flexProject
- .getComponent(module.getName());
- IPath deployPlanPath = component.getRootFolder().getUnderlyingFolder()
- .getProjectRelativePath().append("WEB-INF").append(
- WEB_DEP_PLAN_NAME);
-
- IFile planFile = project.getFile(deployPlanPath);
- return planFile;
}
public boolean isGeronimoRuntimeTarget() {
Modified: geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/GeronimoUtils.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/GeronimoUtils.java?rev=240209&r1=240208&r2=240209&view=diff
==============================================================================
--- geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/GeronimoUtils.java (original)
+++ geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/internal/GeronimoUtils.java Fri Aug 26 04:37:49 2005
@@ -15,17 +15,20 @@
*/
package org.apache.geronimo.core.internal;
-import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.net.MalformedURLException;
import javax.enterprise.deploy.shared.ModuleType;
+import org.apache.geronimo.xml.ns.j2ee.application.ApplicationPackage;
+import org.apache.geronimo.xml.ns.j2ee.application.ApplicationType;
+import org.apache.geronimo.xml.ns.j2ee.application.util.ApplicationResourceFactoryImpl;
import org.apache.geronimo.xml.ns.web.DocumentRoot;
import org.apache.geronimo.xml.ns.web.WebAppType;
+import org.apache.geronimo.xml.ns.web.WebPackage;
+import org.apache.geronimo.xml.ns.web.util.WebResourceFactoryImpl;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
@@ -40,186 +43,271 @@
import org.eclipse.wst.common.componentcore.resources.IFlexibleProject;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
import org.eclipse.wst.server.core.IModule;
+import org.openejb.xml.ns.openejb.jar.JarPackage;
import org.openejb.xml.ns.openejb.jar.OpenejbJarType;
+import org.openejb.xml.ns.openejb.jar.util.JarResourceFactoryImpl;
public class GeronimoUtils {
- public static String getConfigId(IModule module) {
+ public static final String WEB_PLAN_NAME = "geronimo-web.xml";
- String configId = null;
+ public static final String OPENEJB_PLAN_NAME = "openejb-jar.xml";
- if (isWebModule(module)) {
- WebAppType deploymentPlan = getWebDeploymentPlan(module);
+ public static final String APP_PLAN_NAME = "geronimo-application.xml";
- if (deploymentPlan != null)
- configId = deploymentPlan.getConfigId();
-
- if (configId == null)
- configId = getId(module);
- } else if (isEjbJarModule(module)) {
- configId = getId(module);
- }
-
- return configId;
- }
-
- public static boolean isWebModule(IModule module) {
- return "j2ee.web".equals(module.getModuleType().getId());
- }
-
- public static boolean isEjbJarModule(IModule module) {
- return "j2ee.ejb".equals(module.getModuleType().getId());
- }
-
- public static ModuleType getJSR88ModuleType(IModule module) {
- if (isWebModule(module)) {
- return ModuleType.WAR;
- } else if (isEjbJarModule(module)) {
- return ModuleType.EJB;
- }
- return null;
- }
-
- public static String getContextRoot(IModule module) {
- String contextRoot = null;
-
- WebAppType deploymentPlan = getWebDeploymentPlan(module);
- if (deploymentPlan != null)
- contextRoot = deploymentPlan.getContextRoot();
-
- if (contextRoot == null)
- contextRoot = getId(module);
-
- return contextRoot;
- }
-
- public static String getId(IModule module) {
- // use the module ID
- String moduleId = module.getId();
-
- IJ2EEModule j2eeModule = (IJ2EEModule) module.loadAdapter(IJ2EEModule.class, null);
- if (j2eeModule != null && j2eeModule instanceof J2EEFlexProjDeployable) {
- J2EEFlexProjDeployable j2eeFlex = (J2EEFlexProjDeployable) j2eeModule;
- // j2eeFlex
- ArtifactEdit edit = null;
-
- try {
- edit = ArtifactEdit.getArtifactEditForRead(j2eeFlex.getComponentHandle());
- XMIResource res = (XMIResource) edit.getContentModelRoot().eResource();
- moduleId = res.getID(edit.getContentModelRoot());
- } finally {
- if (edit != null)
- edit.dispose();
- }
- }
-
- if (moduleId != null && moduleId.length() > 0)
- return moduleId;
-
- // ...but if there is no defined module ID, pick the best alternative
-
- IPath moduleLocation = j2eeModule.getLocation();
- if (moduleLocation != null) {
- moduleId = moduleLocation.removeFileExtension().lastSegment();
- }
-
- if (j2eeModule instanceof IWebModule) {
- // A better choice is to use the context root
- // For wars most appservers use the module name
- // as the context root
- String contextRoot = ((IWebModule) j2eeModule).getContextRoot();
- if (contextRoot.charAt(0) == '/')
- moduleId = contextRoot.substring(1);
- }
-
- return moduleId;
- }
-
- // Temporary workaround - ensure the .deployable copy
- // of the file is also updated (WTP should be doing this)
- public static void copyDeploymentPlanToDeployable(IModule module) {
- IFile planFile = DeploymentPlanCreationOperation.getGeronimoWebDeploymentPlanFile(module);
- if (planFile.exists()) {
- try {
- IJ2EEModule j2eeModule = (IJ2EEModule) module.loadAdapter(IJ2EEModule.class, null);
- File deployableFile = j2eeModule.getLocation().addTrailingSeparator().append(
- "WEB-INF").addTrailingSeparator().append(DeploymentPlanCreationOperation.WEB_DEP_PLAN_NAME).toFile();
- InputStream input = planFile.getContents();
- FileOutputStream output = new FileOutputStream(deployableFile);
- byte[] buffer = new byte[1000];
- int bytesRead = 0;
- while (bytesRead > -1) {
- bytesRead = input.read(buffer);
- if (bytesRead > 0)
- output.write(buffer, 0, bytesRead);
- }
- output.close();
- input.close();
- } catch (Exception e) {
- Trace.trace(Trace.SEVERE, "Error copying deployment plan", e);
- }
- }
- }
-
- private static Resource load(IFile dpFile) {
- try {
- ResourceSet resourceSet = new ResourceSetImpl();
- DeploymentPlanCreationOperation.registerForWeb(resourceSet);
-
- URI uri = URI.createPlatformResourceURI(dpFile.getFullPath().toString());
-
- Resource resource = resourceSet.createResource(uri);
- if (!resource.isLoaded()) {
- resource.load(null);
- }
- return resource;
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public static WebAppType getWebDeploymentPlan(IFile dpFile) {
- if (dpFile.exists()) {
- Resource resource = load(dpFile);
+ public static String getConfigId(IModule module) {
+
+ String configId = null;
+
+ if (isWebModule(module)) {
+ WebAppType deploymentPlan = getWebDeploymentPlan(module);
+
+ if (deploymentPlan != null)
+ configId = deploymentPlan.getConfigId();
+
+ if (configId == null)
+ configId = getId(module);
+ } else if (isEjbJarModule(module)) {
+ configId = getId(module);
+ }
+
+ return configId;
+ }
+
+ public static boolean isWebModule(IModule module) {
+ return "j2ee.web".equals(module.getModuleType().getId());
+ }
+
+ public static boolean isEjbJarModule(IModule module) {
+ return "j2ee.ejb".equals(module.getModuleType().getId());
+ }
+
+ public static ModuleType getJSR88ModuleType(IModule module) {
+ if (isWebModule(module)) {
+ return ModuleType.WAR;
+ } else if (isEjbJarModule(module)) {
+ return ModuleType.EJB;
+ }
+ return null;
+ }
+
+ public static String getContextRoot(IModule module) {
+ String contextRoot = null;
+
+ WebAppType deploymentPlan = getWebDeploymentPlan(module);
+ if (deploymentPlan != null)
+ contextRoot = deploymentPlan.getContextRoot();
+
+ if (contextRoot == null)
+ contextRoot = getId(module);
+
+ return contextRoot;
+ }
+
+ public static String getId(IModule module) {
+ // use the module ID
+ String moduleId = module.getId();
+
+ IJ2EEModule j2eeModule = (IJ2EEModule) module.loadAdapter(
+ IJ2EEModule.class, null);
+ if (j2eeModule != null && j2eeModule instanceof J2EEFlexProjDeployable) {
+ J2EEFlexProjDeployable j2eeFlex = (J2EEFlexProjDeployable) j2eeModule;
+ // j2eeFlex
+ ArtifactEdit edit = null;
+
+ try {
+ edit = ArtifactEdit.getArtifactEditForRead(j2eeFlex
+ .getComponentHandle());
+ XMIResource res = (XMIResource) edit.getContentModelRoot()
+ .eResource();
+ moduleId = res.getID(edit.getContentModelRoot());
+ } finally {
+ if (edit != null)
+ edit.dispose();
+ }
+ }
+
+ if (moduleId != null && moduleId.length() > 0)
+ return moduleId;
+
+ // ...but if there is no defined module ID, pick the best alternative
+
+ IPath moduleLocation = j2eeModule.getLocation();
+ if (moduleLocation != null) {
+ moduleId = moduleLocation.removeFileExtension().lastSegment();
+ }
+
+ if (j2eeModule instanceof IWebModule) {
+ // A better choice is to use the context root
+ // For wars most appservers use the module name
+ // as the context root
+ String contextRoot = ((IWebModule) j2eeModule).getContextRoot();
+ if (contextRoot.charAt(0) == '/')
+ moduleId = contextRoot.substring(1);
+ }
+
+ return moduleId;
+ }
+
+ public static ApplicationType getApplicationDeploymentPlan(
+ IVirtualComponent comp) {
+ IFile dpPlan = getApplicationDeploymentPlanFile(comp);
+ return getApplicationDeploymentPlan(dpPlan);
+ }
+
+ public static WebAppType getWebDeploymentPlan(IVirtualComponent comp) {
+ IFile dpPlan = getWebDeploymentPlanFile(comp);
+ return getWebDeploymentPlan(dpPlan);
+ }
+
+ public static OpenejbJarType getOpenEjbDeploymentPlan(IVirtualComponent comp) {
+ IFile dpPlan = getOpenEjbDeploymentPlanFile(comp);
+ return getOpenEjbDeploymentPlan(dpPlan);
+ }
+
+ public static ApplicationType getApplicationDeploymentPlan(IFile file) {
+ if (file.getName().equals(APP_PLAN_NAME) && file.exists()) {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ registerAppFactoryAndPackage(resourceSet);
+ Resource resource = load(file, resourceSet);
+ if (resource != null) {
+ return ((org.apache.geronimo.xml.ns.j2ee.application.DocumentRoot) resource
+ .getContents().get(0)).getApplication();
+ }
+
+ }
+ return null;
+ }
+
+ public static WebAppType getWebDeploymentPlan(IFile file) {
+ if (file.getName().equals(WEB_PLAN_NAME) && file.exists()) {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ registerWebFactoryAndPackage(resourceSet);
+ Resource resource = load(file, resourceSet);
if (resource != null) {
- return ((DocumentRoot) resource.getContents().get(0)).getWebApp();
+ return ((DocumentRoot) resource.getContents().get(0))
+ .getWebApp();
}
- }
+
+ }
return null;
}
-
- public static OpenejbJarType getOpenEjbDeploymentPlan(IFile dpFile) {
- if (dpFile.exists()) {
- Resource resource = load(dpFile);
+
+ public static OpenejbJarType getOpenEjbDeploymentPlan(IFile file) {
+ if (file.getName().equals(OPENEJB_PLAN_NAME) && file.exists()) {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ registerEjbFactoryAndPackage(resourceSet);
+ Resource resource = load(file, resourceSet);
if (resource != null) {
- return ((org.openejb.xml.ns.openejb.jar.DocumentRoot) resource.getContents().get(0)).getOpenejbJar();
+ return ((org.openejb.xml.ns.openejb.jar.DocumentRoot) resource
+ .getContents().get(0)).getOpenejbJar();
}
- }
+ }
return null;
}
- private static WebAppType getWebDeploymentPlan(IModule module) {
- IFile dpFile = DeploymentPlanCreationOperation.getGeronimoWebDeploymentPlanFile(module);
- if (dpFile.exists()) {
- Resource resource = load(dpFile);
- if (resource != null) {
- return ((DocumentRoot) resource.getContents().get(0)).getWebApp();
- }
- } else {
- if (module != null) {
- return createWebDeploymentPlan(module);
- }
- }
- return null;
- }
-
- private static WebAppType createWebDeploymentPlan(IModule module) {
- IFlexibleProject flexProject = ComponentCore.createFlexibleProject(module.getProject());
- IVirtualComponent component = flexProject.getComponent(module.getName());
- DeploymentPlanCreationOperation op = new DeploymentPlanCreationOperation();
- return op.createGeronimoWebDeploymentPlan(component);
+ public static IFile getWebDeploymentPlanFile(IVirtualComponent comp) {
+ IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
+ .getProjectRelativePath().append("WEB-INF").append(
+ WEB_PLAN_NAME);
+ return comp.getProject().getFile(deployPlanPath);
+
+ }
+
+ public static IFile getOpenEjbDeploymentPlanFile(IVirtualComponent comp) {
+ IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
+ .getProjectRelativePath().append("META-INF").append(
+ OPENEJB_PLAN_NAME);
+ return comp.getProject().getFile(deployPlanPath);
+
+ }
+
+ public static IFile getApplicationDeploymentPlanFile(IVirtualComponent comp) {
+ IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
+ .getProjectRelativePath().append("META-INF").append(
+ APP_PLAN_NAME);
+ return comp.getProject().getFile(deployPlanPath);
+
+ }
+
+ public static WebAppType getWebDeploymentPlan(IModule module) {
+ return getWebDeploymentPlan(getVirtualComponent(module));
}
+
+ private static IVirtualComponent getVirtualComponent(IModule module) {
+ IProject project = module.getProject();
+
+ IFlexibleProject flexProject = ComponentCore
+ .createFlexibleProject(project);
+ IVirtualComponent component = flexProject
+ .getComponent(module.getName());
+ return component;
+ }
+
+ private static Resource load(IFile dpFile, ResourceSet resourceSet) {
+ try {
+
+ URI uri = URI.createPlatformResourceURI(dpFile.getFullPath()
+ .toString());
+
+ Resource resource = resourceSet.createResource(uri);
+ if (!resource.isLoaded()) {
+ resource.load(null);
+ }
+ return resource;
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * Register the appropriate resource factory to handle all file extentions.
+ * Register the package to ensure it is available during loading.
+ *
+ * @param resourceSet
+ */
+ public static void registerWebFactoryAndPackage(ResourceSet resourceSet) {
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
+ new WebResourceFactoryImpl());
+
+ resourceSet.getPackageRegistry().put(WebPackage.eNS_URI,
+ WebPackage.eINSTANCE);
+
+ }
+
+ /**
+ * Register the appropriate resource factory to handle all file extentions.
+ * Register the package to ensure it is available during loading.
+ *
+ * @param resourceSet
+ */
+ public static void registerEjbFactoryAndPackage(ResourceSet resourceSet) {
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
+ new JarResourceFactoryImpl());
+ resourceSet.getPackageRegistry().put(JarPackage.eNS_URI,
+ JarPackage.eINSTANCE);
+
+ }
+
+ /**
+ * Register the appropriate resource factory to handle all file extentions.
+ * Register the package to ensure it is available during loading.
+ *
+ * @param resourceSet
+ */
+ public static void registerAppFactoryAndPackage(ResourceSet resourceSet) {
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(Resource.Factory.Registry.DEFAULT_EXTENSION,
+ new ApplicationResourceFactoryImpl());
+
+ resourceSet.getPackageRegistry().put(ApplicationPackage.eNS_URI,
+ ApplicationPackage.eINSTANCE);
+
+ }
+
}
Modified: geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/ExportDeploymentPlanOperation.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/ExportDeploymentPlanOperation.java?rev=240209&r1=240208&r2=240209&view=diff
==============================================================================
--- geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/ExportDeploymentPlanOperation.java (original)
+++ geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/ExportDeploymentPlanOperation.java Fri Aug 26 04:37:49 2005
@@ -15,22 +15,13 @@
*/
package org.apache.geronimo.core.operations;
-import java.io.IOException;
-import java.net.MalformedURLException;
-
-import org.apache.geronimo.core.internal.DeploymentPlanCreationOperation;
+import org.apache.geronimo.core.internal.GeronimoUtils;
import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit;
import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
@@ -95,30 +86,23 @@
// TODO
private void addToGeronimoApplicationPlan(EObject eObject,
IVirtualComponent component) {
-
}
private EObject getDeploymentPlanForComponent(IVirtualComponent comp) {
- if (comp.getComponentTypeId().equals(EJBArtifactEdit.TYPE_ID)) {
- return getWebDeploymentPlan(comp);
+
+ if (comp.getComponentTypeId().equals(EARArtifactEdit.TYPE_ID)) {
+ return GeronimoUtils.getApplicationDeploymentPlan(comp);
}
-
+
if (comp.getComponentTypeId().equals(WebArtifactEdit.TYPE_ID)) {
- return getWebDeploymentPlan(comp);
+ return GeronimoUtils.getWebDeploymentPlan(comp);
+ }
+
+ if (comp.getComponentTypeId().equals(EJBArtifactEdit.TYPE_ID)) {
+ return GeronimoUtils.getOpenEjbDeploymentPlan(comp);
}
return null;
- }
-
- private EObject getWebDeploymentPlan(IVirtualComponent comp) {
- IPath deployPlanPath = comp.getRootFolder().getUnderlyingFolder()
- .getProjectRelativePath().append("WEB-INF").append(
- WEB_PLAN_NAME);
- return load(comp.getProject().getFile(deployPlanPath));
- }
-
- private EObject getOpenEjbDeploymentPlan(IVirtualComponent comp) {
- return null;
- }
+ }
/*
* (non-Javadoc)
@@ -128,7 +112,6 @@
*/
public IStatus redo(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
- // TODO Auto-generated method stub
return null;
}
@@ -140,29 +123,6 @@
*/
public IStatus undo(IProgressMonitor monitor, IAdaptable info)
throws ExecutionException {
- return null;
- }
-
- public EObject load(IFile file) {
- if (file.exists()) {
- try {
- ResourceSet resourceSet = new ResourceSetImpl();
- DeploymentPlanCreationOperation.registerForWeb(resourceSet);
-
- URI uri = URI.createPlatformResourceURI(file.getFullPath()
- .toString());
-
- Resource resource = resourceSet.createResource(uri);
- if (!resource.isLoaded()) {
- resource.load(null);
- }
- return (EObject) resource.getContents().get(0);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
return null;
}
Modified: geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/IExportDeploymentPlanDataModelProperties.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/IExportDeploymentPlanDataModelProperties.java?rev=240209&r1=240208&r2=240209&view=diff
==============================================================================
--- geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/IExportDeploymentPlanDataModelProperties.java (original)
+++ geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core/operations/IExportDeploymentPlanDataModelProperties.java Fri Aug 26 04:37:49 2005
@@ -1,13 +1,12 @@
package org.apache.geronimo.core.operations;
+
public interface IExportDeploymentPlanDataModelProperties {
public static final String PROJECT_NAME = "IExportDeploymentPlanDataModelProperties.PROJECT_NAME";
public static final String COMPONENT_NAME = "IExportDeploymentPlanDataModelProperties.COMPONENT_NAME";
-
+
public static final String EXPORT_LOCATION = "IExportDeploymentPlanDataModelProperties.EXPORT_LOCATION";
-
- public static final String WEB_PLAN_NAME = "geronimo-web.xml";
}