Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 22811 invoked from network); 26 Aug 2005 11:38:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Aug 2005 11:38:03 -0000 Received: (qmail 93281 invoked by uid 500); 26 Aug 2005 11:38:02 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 93256 invoked by uid 500); 26 Aug 2005 11:38:02 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 93196 invoked by uid 99); 26 Aug 2005 11:38:02 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Aug 2005 04:38:02 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 26 Aug 2005 04:38:18 -0700 Received: (qmail 22719 invoked by uid 65534); 26 Aug 2005 11:38:00 -0000 Message-ID: <20050826113800.22718.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r240209 - in /geronimo/trunk/sandbox/eclipse-plugin/org.apache.geronimo.core/src/org/apache/geronimo/core: internal/ operations/ Date: Fri, 26 Aug 2005 11:37:55 -0000 To: scm@geronimo.apache.org From: geirm@apache.org X-Mailer: svnmailer-1.0.3 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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"; }