[jbosstools-commits] JBoss Tools SVN: r24031 - in trunk/bpel/plugins: org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util and 4 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Aug 10 14:50:49 EDT 2010


Author: bbrodt
Date: 2010-08-10 14:50:48 -0400 (Tue, 10 Aug 2010)
New Revision: 24031

Added:
   trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployResourceSetImpl.java
Modified:
   trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java
   trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployUtils.java
   trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/resource/BPELResourceSetImpl.java
   trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/util/WSDLImportResolver.java
   trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/SchemaImportDialog.java
   trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkWizard.java
Log:
https://jira.jboss.org/browse/JBIDE-6786

Modified: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java	2010-08-10 18:27:39 UTC (rev 24030)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/pages/ProcessPage.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -33,6 +33,7 @@
 import org.eclipse.bpel.apache.ode.deploy.model.dd.ddPackage;
 import org.eclipse.bpel.apache.ode.deploy.ui.Activator;
 import org.eclipse.bpel.apache.ode.deploy.ui.editors.ODEDeployMultiPageEditor;
+import org.eclipse.bpel.apache.ode.deploy.ui.util.DeployResourceSetImpl;
 import org.eclipse.bpel.apache.ode.deploy.ui.util.DeployUtils;
 import org.eclipse.bpel.model.BPELFactory;
 import org.eclipse.bpel.model.PartnerLink;
@@ -59,6 +60,7 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
 import org.eclipse.emf.edit.command.AddCommand;
 import org.eclipse.emf.edit.command.RemoveCommand;
 import org.eclipse.emf.edit.command.SetCommand;
@@ -149,6 +151,9 @@
 	private EditingDomain domain;
 	private TableViewer scopeTableViewer;
 	private Form mainform;
+	// https://jira.jboss.org/browse/JBIDE-6786
+	// we will manage this for ServiceCellEditor and PortTypeLabelProvider
+	private ResourceSetImpl resourceSet = null;
 	
 	public ProcessPage(FormEditor editor, ProcessType pt) {
 		super(editor, "ODED" + pt.getName().toString(), pt.getName().getLocalPart()); //$NON-NLS-1$
@@ -158,6 +163,8 @@
 		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
 		
 		this.domain = this.editor.getEditingDomain();
+		// https://jira.jboss.org/browse/JBIDE-6786
+		resourceSet = new DeployResourceSetImpl();
 	}
 
 	@Override
@@ -300,7 +307,8 @@
 		viewer.setUseHashlookup(true);
 		viewer.setColumnProperties(columnNames);
 		viewer.setContentProvider(new PortTypeContentProvider(isInbound));
-		viewer.setLabelProvider(new PortTypeLabelProvider(ddFile.getProject(), current.eResource().getResourceSet()));
+		// https://jira.jboss.org/browse/JBIDE-6786
+		viewer.setLabelProvider(new PortTypeLabelProvider(ddFile.getProject(), resourceSet));
 		viewer.setInput(current);		
 
 	    for (int i = 0, n = t.getColumnCount(); i < n; i++) {
@@ -319,7 +327,8 @@
 //		t.addListener(SWT.MouseDown, tableListener);
 
 	    // Column 2 : Associate Service (ComboBox)
-	    ServiceCellEditor sCellEditor = new ServiceCellEditor(t, ddFile.getProject(), current.eResource().getResourceSet());
+	    // https://jira.jboss.org/browse/JBIDE-6786
+	    ServiceCellEditor sCellEditor = new ServiceCellEditor(t, ddFile.getProject(), resourceSet);
 	    editors[1] = sCellEditor;
 
         // Assign the cell editors to the viewer 
@@ -606,11 +615,18 @@
 	class PortTypeLabelProvider extends LabelProvider implements ITableLabelProvider {
 		
 		protected IProject bpelProject = null; 
-		protected ResourceSet resourceSet = null;
+		protected ResourceSetImpl resourceSet = null;
 		
-		public PortTypeLabelProvider(IProject bpelProject, ResourceSet resourceSet){
+		public PortTypeLabelProvider(IProject bpelProject, ResourceSetImpl resourceSet){
 			this.bpelProject = bpelProject;
-			this.resourceSet = resourceSet;
+			// https://jira.jboss.org/browse/JBIDE-6786
+			// ProcessPage allocates the resourceSet - this should never be null!
+			if (resourceSet != null) {
+				this.resourceSet = resourceSet;
+			}
+			else {
+				this.resourceSet = new ResourceSetImpl();
+			}
 		}
 		
 		public String getColumnText(Object obj, int index) {

Added: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployResourceSetImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployResourceSetImpl.java	                        (rev 0)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployResourceSetImpl.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2006 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ *     Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpel.apache.ode.deploy.ui.util;
+
+import org.eclipse.bpel.model.resource.BPELResourceSetImpl;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+
+/**
+ * @author Bob Brodt (bbrodt at redhat.com)
+ * @date Aug 10, 2010
+ */
+
+ at SuppressWarnings("nls")
+public class DeployResourceSetImpl extends BPELResourceSetImpl {
+
+	public DeployResourceSetImpl() {
+		super();
+	}
+
+	@Override
+	public Resource getResource(URI uri, boolean loadOnDemand) {
+		String name = uri.toString().toLowerCase();
+		if (name.endsWith("wsdl"))
+			return getResource(uri,true,"wsdl");
+		if (name.endsWith("wsil"))
+			return getResource(uri,true,"wsil");
+		if (name.endsWith(".xsd"))
+			return getResource(uri,true,"xsd");
+		if (name.endsWith(".bpel"))
+			return getResource(uri,true,"bpel");
+		return super.getResource(uri,loadOnDemand);
+	}
+}

Modified: trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployUtils.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployUtils.java	2010-08-10 18:27:39 UTC (rev 24030)
+++ trunk/bpel/plugins/org.eclipse.bpel.apache.ode.deploy.ui/src/org/eclipse/bpel/apache/ode/deploy/ui/util/DeployUtils.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -201,6 +201,15 @@
 				wsdlFiles.add(currentDef);
 			}
 		}
+		
+		// https://jira.jboss.org/browse/JBIDE-6786
+		// Add WSDLs that were resolved as imports, to the list
+		for (Resource res : resourceSet.getResources())
+		{
+			Definition def = (Definition)res.getContents().get(0);
+			if (!wsdlFiles.contains(def))
+				wsdlFiles.add(def);
+		}
 
 		return wsdlFiles;
 	}

Modified: trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/resource/BPELResourceSetImpl.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/resource/BPELResourceSetImpl.java	2010-08-10 18:27:39 UTC (rev 24030)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/resource/BPELResourceSetImpl.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -74,13 +74,24 @@
 	@SuppressWarnings("nls")
 	public Resource getResource(URI uri, boolean loadOnDemand, String kind)  {
 
+		// https://jira.jboss.org/browse/JBIDE-6786
+		// don't bother if URI is null or empty
+		if (uri==null || uri.isEmpty())
+			return null;
+
 		Map<URI, Resource> map = getURIResourceMap();
 		
 		if (map != null) {
 			Resource resource = map.get(uri);
 			if (resource != null) {
 				if (loadOnDemand && !resource.isLoaded()) {
-					demandLoadHelper(resource);
+					// https://jira.jboss.org/browse/JBIDE-6786
+					// if load fails, mark resource as unloaded
+					try {
+						demandLoadHelper(resource);
+					} catch (Exception ex) {
+						resource.unload();
+					}
 				}
 				
 				return resource;
@@ -94,7 +105,14 @@
 			if (theURIConverter.normalize(resource.getURI()).equals(
 					normalizedURI)) {
 				if (loadOnDemand && !resource.isLoaded()) {
-					demandLoadHelper(resource);
+					// https://jira.jboss.org/browse/JBIDE-6786
+					// if load fails, mark resource as unloaded
+					try {
+						demandLoadHelper(resource);
+					} catch (Exception ex) {
+						resource.unload();
+						break;
+					}
 				}
 
 				if (map != null) {

Modified: trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/util/WSDLImportResolver.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/util/WSDLImportResolver.java	2010-08-10 18:27:39 UTC (rev 24030)
+++ trunk/bpel/plugins/org.eclipse.bpel.model/src/org/eclipse/bpel/model/util/WSDLImportResolver.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -133,7 +133,9 @@
         
         if (what == RESOLVE_DEFINITION) {
         	ArrayList<Object> al = new ArrayList<Object>(1);
-        	al.add(definition);
+        	// https://jira.jboss.org/browse/JBIDE-6786
+        	if (definition!=null)
+        		al.add(definition);
         	return al;
         }
         

Modified: trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/SchemaImportDialog.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/SchemaImportDialog.java	2010-08-10 18:27:39 UTC (rev 24030)
+++ trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/SchemaImportDialog.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -593,7 +593,8 @@
 			return t;
 		}
 
-		if (resource.getErrors().isEmpty() && resource.isLoaded()) {
+		// https://jira.jboss.org/browse/JBIDE-6786
+		if (resource!=null && resource.getErrors().isEmpty() && resource.isLoaded()) {
 			return resource.getContents().get(0);
 		}
 		return null;

Modified: trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkWizard.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkWizard.java	2010-08-10 18:27:39 UTC (rev 24030)
+++ trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkWizard.java	2010-08-10 18:50:48 UTC (rev 24031)
@@ -37,6 +37,7 @@
 import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.part.FileEditorInput;
 import org.eclipse.wst.wsdl.Definition;
 import org.eclipse.wst.wsdl.PortType;
 
@@ -101,7 +102,13 @@
 				IBPELUIConstants.ICON_WIZARD_BANNER));
 		
 		IFile file = EditModel.getIFileForURI(fMandatoryPortType.eResource().getURI());
-		fRolePage2.setOptionalDefinitions( getOptionalDefinitions(file.getProject()) );
+		if (file==null)
+			// https://jira.jboss.org/browse/JBIDE-6786
+			// if WSDL is not a file (e.g. http://service.com?WSDL) use editor's input file project
+			file = ((FileEditorInput)fEditor.getEditorInput()).getFile();
+		
+		if (file!=null)
+			fRolePage2.setOptionalDefinitions( getOptionalDefinitions(file.getProject()) );
 		fRolePage2.setOptional(true);
 		
 		
@@ -126,7 +133,7 @@
 				if (resource.getType() == IResource.FILE && "wsdl".equalsIgnoreCase(resource.getFileExtension())) {
 					
 					IFile artifactFile = EditModel.getIFileForURI(fEditor.getArtifactsDefinition().eResource().getURI());
-					if (!(artifactFile.getFullPath().equals(((IFile)resource).getFullPath()))) {
+					if (artifactFile==null || !(artifactFile.getFullPath().equals(((IFile)resource).getFullPath()))) {
 						//filter artifacts WSDL
 						wsdlFiles.add((IFile)resource);
 					}



More information about the jbosstools-commits mailing list