Author: dennyxu
Date: 2008-11-11 02:02:33 -0500 (Tue, 11 Nov 2008)
New Revision: 11650
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDeployable.java
Removed:
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDelegate.java
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleFactory.java
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.core/META-INF/MANIFEST.MF
Log:
JBIDE-3079: Deployment does not work for the ESB project which is imported from other
workspace
Modified: trunk/esb/plugins/org.jboss.tools.esb.project.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.core/META-INF/MANIFEST.MF 2008-11-11
05:22:54 UTC (rev 11649)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.core/META-INF/MANIFEST.MF 2008-11-11
07:02:33 UTC (rev 11650)
@@ -25,7 +25,10 @@
org.eclipse.jst.common.frameworks,
org.eclipse.wst.server.core,
org.eclipse.jst.common.project.facet.core,
- org.jboss.ide.eclipse.as.classpath.core
+ org.jboss.ide.eclipse.as.classpath.core,
+ org.eclipse.wst.web;bundle-version="1.1.204",
+ org.eclipse.jem.util;bundle-version="2.0.100",
+ org.eclipse.wst.common.emfworkbench.integration;bundle-version="1.1.201"
Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName
Export-Package: org.jboss.tools.esb.core,
Deleted:
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDelegate.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDelegate.java 2008-11-11
05:22:54 UTC (rev 11649)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDelegate.java 2008-11-11
07:02:33 UTC (rev 11650)
@@ -1,162 +0,0 @@
-package org.jboss.tools.esb.core.module;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.IModuleFile;
-import org.eclipse.wst.server.core.model.IModuleResource;
-import org.eclipse.wst.server.core.util.ModuleFile;
-import org.eclipse.wst.server.core.util.ModuleFolder;
-import org.eclipse.wst.server.core.util.ProjectModule;
-import org.jboss.tools.esb.core.ESBProjectConstant;
-import org.jboss.tools.esb.core.facet.IJBossESBFacetDataModelProperties;
-
-public class JBossESBModuleDelegate extends ProjectModule {
-
- public JBossESBModuleDelegate(IProject project){
- super(project);
- }
- @Override
- public IModule[] getChildModules() {
- return null;
- }
-
- public IModuleResource[] members() throws CoreException {
- IProject project = getProject();
- String esbFolder =
(String)project.getPersistentProperty(IJBossESBFacetDataModelProperties.QNAME_ESB_CONTENT_FOLDER);
- if(esbFolder == null || "".equals(esbFolder)){
- esbFolder = ESBProjectConstant.DEFAULT_ESB_CONFIG_RESOURCE_FOLDER;
- }
- IFolder configFolder = project.getFolder(esbFolder);
- IJavaProject javaPrj = JavaCore.create(project);
- IPath output = javaPrj.getOutputLocation();
- // if the jboss-esb.xml file is not in META-INF folder, try to get it from other folder
of the project
- // block this logic as Max's suggestion
- //List<IModuleResource> mrs = getConfigModuleFile(project, configFolder);
-
- List<IModuleResource> mrs = new ArrayList<IModuleResource>();
-
- IModuleResource[] esbContent = getModuleResources(Path.EMPTY, configFolder);
- IModuleResource[] classes = getModuleResources(Path.EMPTY,
project.getWorkspace().getRoot().getFolder(output));
- IModuleResource[] allResource = new IModuleResource[esbContent.length + classes.length
+ mrs.size()];
- System.arraycopy(esbContent, 0, allResource, 0, esbContent.length);
- System.arraycopy(classes, 0, allResource, esbContent.length, classes.length);
- if(mrs.size() > 0){
- IModuleResource[] mr = mrs.toArray(new IModuleResource[]{});
- System.arraycopy(mr, 0, allResource, esbContent.length + classes.length, mr.length);
- }
- return allResource;
- }
-
- private List<IModuleResource> getConfigModuleFile(IProject project, IFolder
configFolder) throws CoreException {
- List<IModuleResource> mrs = new ArrayList<IModuleResource>();
- IFolder metainf = configFolder.getFolder(ESBProjectConstant.META_INF);
- IResource res = metainf.findMember(ESBProjectConstant.ESB_CONFIG_JBOSSESB);
- IModuleFile tmpmf;
- if(res == null){
- tmpmf = getModuleResourcesOutofESBContent(new Path(ESBProjectConstant.META_INF),
project, ESBProjectConstant.ESB_CONFIG_JBOSSESB);
- if( tmpmf != null){
- mrs.add(tmpmf);
- }
- }
-
- //check the deployment.xml just like jboss-esb.xml
- res = metainf.findMember(ESBProjectConstant.ESB_CONFIG_DEPLOYMENT);
- if(res == null){
- tmpmf = getModuleResourcesOutofESBContent(new Path(ESBProjectConstant.META_INF),
project, ESBProjectConstant.ESB_CONFIG_DEPLOYMENT);
- if(tmpmf != null){
- mrs.add(tmpmf);
- }
- }
-
- res = configFolder.findMember(ESBProjectConstant.ESB_CONFIG_QUEUE_SERVICE_JBM);
- if(res == null){
- tmpmf = getModuleResourcesOutofESBContent(Path.EMPTY, project,
ESBProjectConstant.ESB_CONFIG_QUEUE_SERVICE_JBM);
- if(tmpmf != null){
- mrs.add(tmpmf);
- }
- }
- res = configFolder.findMember(ESBProjectConstant.ESB_CONFIG_QUEUE_SERVICE_JBMQ);
- if(res == null){
- tmpmf = getModuleResourcesOutofESBContent(Path.EMPTY, project,
ESBProjectConstant.ESB_CONFIG_QUEUE_SERVICE_JBMQ);
- if( tmpmf != null ){
- mrs.add(tmpmf);
- }
- }
-
- return mrs;
- }
-
-
- @Override
- public IStatus validate() {
- return null;
- }
-
- @Override
- protected IModuleResource[] getModuleResources(IPath path, IContainer container) throws
CoreException {
-
- IResource[] resources = container.members();
- if (resources != null) {
- int size = resources.length;
- List<IModuleResource> list = new ArrayList<IModuleResource>(size);
- for (int i = 0; i < size; i++) {
- IResource resource = resources[i];
- if (resource != null && resource.exists()) {
- String name = resource.getName();
- if (resource instanceof IContainer) {
- IContainer container2 = (IContainer) resource;
- ModuleFolder mf = new ModuleFolder(container2, name, path);
- mf.setMembers(getModuleResources(path.append(name), container2));
- list.add(mf);
- } else if (resource instanceof IFile) {
- list.add(new ModuleFile((IFile) resource, name, path));
- }
- }
- }
- IModuleResource[] moduleResources = new IModuleResource[list.size()];
- list.toArray(moduleResources);
- return moduleResources;
- }
- return new IModuleResource[0];
- }
-
- // create moduleresource for a name specified resource
- protected IModuleFile getModuleResourcesOutofESBContent(IPath path, IContainer
container, String fileName) throws CoreException {
-
- IResource file = container.findMember(fileName, false);
- if(file != null){
- return new ModuleFile((IFile)file, file.getName(), path);
- }
-
- IResource[] resources = container.members();
- if (resources != null) {
- int size = resources.length;
- for (int i = 0; i < size; i++) {
- IResource resource = resources[i];
- if (resource != null && resource.exists()) {
- if (resource instanceof IContainer) {
- IModuleFile mf = getModuleResourcesOutofESBContent(path, (IContainer)resource,
fileName);
-
- if(mf != null) return mf;
- }
- }
- }
-
- }
-
- return null;
- }
-}
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDeployable.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDeployable.java
(rev 0)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleDeployable.java 2008-11-11
07:02:33 UTC (rev 11650)
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.esb.core.module;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+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;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.web.internal.deployables.ComponentDeployable;
+import org.jboss.tools.esb.core.ESBProjectConstant;
+
+public class JBossESBModuleDeployable extends ComponentDeployable {
+
+ public JBossESBModuleDeployable(IProject project, IVirtualComponent component) {
+ super(project);
+ }
+
+
+ public String getURI(IModule module) {
+ IVirtualComponent comp = ComponentCore.createComponent(module.getProject());
+ String aURI = null;
+ if (comp !=null) {
+ if (!comp.isBinary() &&
isProjectOfType(module.getProject(),ESBProjectConstant.ESB_PROJECT_FACET)) {
+ IVirtualReference ref = component.getReference(comp.getName());
+ aURI = ref.getRuntimePath().append(comp.getName()+".esb").toString();
//$NON-NLS-1$
+ }
+ }
+
+ if (aURI !=null && aURI.length()>1 &&
aURI.startsWith("/")) //$NON-NLS-1$
+ aURI = aURI.substring(1);
+ return aURI;
+ }
+
+ public String getVersion() {
+ IFacetedProject facetedProject = null;
+ try {
+ facetedProject = ProjectFacetsManager.create(component.getProject());
+ if (facetedProject !=null &&
ProjectFacetsManager.isProjectFacetDefined(ESBProjectConstant.ESB_PROJECT_FACET)) {
+ IProjectFacet projectFacet =
ProjectFacetsManager.getProjectFacet(ESBProjectConstant.ESB_PROJECT_FACET);
+ return facetedProject.getInstalledVersion(projectFacet).getVersionString();
+ }
+ } catch (Exception e) {
+ //Ignore
+ }
+ return "4.2"; //$NON-NLS-1$
+ }
+
+
+}
Deleted:
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleFactory.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleFactory.java 2008-11-11
05:22:54 UTC (rev 11649)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/module/JBossESBModuleFactory.java 2008-11-11
07:02:33 UTC (rev 11650)
@@ -1,48 +0,0 @@
-package org.jboss.tools.esb.core.module;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-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;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.model.ModuleDelegate;
-import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
-import org.jboss.tools.esb.core.ESBProjectConstant;
-import org.jboss.tools.esb.core.ESBProjectCorePlugin;
-
-public class JBossESBModuleFactory extends ProjectModuleFactoryDelegate {
-
- public JBossESBModuleFactory() {
- }
-
- @Override
- public ModuleDelegate getModuleDelegate(IModule module) {
- if(module instanceof JBossESBModule){
- IProject project = module.getProject();
- return new JBossESBModuleDelegate(project);
- }
- return null;
- }
-
- protected IModule[] createModules(IProject project) {
- IFacetedProject facetProject;
- try {
- facetProject = ProjectFacetsManager.create(project);
- if (facetProject == null) {
- return null;
- }
- IProjectFacet esbFacet =
ProjectFacetsManager.getProjectFacet(ESBProjectConstant.ESB_PROJECT_FACET);
-
- if(facetProject.hasProjectFacet(esbFacet)){
- JBossESBModule module = new JBossESBModule(project, this, this.getId());
- return new IModule[]{ module };
- }
- } catch (CoreException e) {
- ESBProjectCorePlugin.getDefault().getLog().log(e.getStatus());
- }
- return null;
-
- }
-
-}