[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