Author: bbrodt
Date: 2010-07-29 09:56:39 -0400 (Thu, 29 Jul 2010)
New Revision: 23793
Modified:
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/editmodel/EditModel.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/contentassist/ExpressionContentAssistProcessor.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/details/providers/PortTypeTreeContentProvider.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/PartnerLinkTypeSelectorDialog.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/properties/VariablePartAssignCategory.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkTypeWizardRolePage.java
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkWizard.java
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/xpath/XPathValidator.java
Log:
https://jira.jboss.org/browse/JBIDE-6697
Merged bug fixes from
eclipse.org/bpel
Modified:
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/editmodel/EditModel.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/editmodel/EditModel.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.common.ui/src/org/eclipse/bpel/common/ui/editmodel/EditModel.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -285,7 +285,9 @@
}
- protected static IFile getIFileForURI(URI uri) {
+ //
https://jira.jboss.org/browse/JBIDE-6697
+ // from
eclipse.org/bpel rev 1.5 on 5/5/2010 5:13AM by smoser: fix for bidirectional PLT
- > Tammo/JAX Session Feedback
+ public static IFile getIFileForURI(URI uri) {
String filePath = null;
String scheme = uri.scheme();
IFile file = null;
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/contentassist/ExpressionContentAssistProcessor.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/contentassist/ExpressionContentAssistProcessor.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/contentassist/ExpressionContentAssistProcessor.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -337,6 +337,10 @@
theStatus = -1;
return false;
}
+ //
https://jira.jboss.org/browse/JBIDE-6697
+ // These lines were removed at rev 23527 because of bad merge
+ theStatus = -1;
+ return false;
}
else if (currChar == ',') {
// could be a function argument
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/details/providers/PortTypeTreeContentProvider.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/details/providers/PortTypeTreeContentProvider.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/details/providers/PortTypeTreeContentProvider.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -42,7 +42,21 @@
PortType element = (PortType) it.next();
list.add ( new PortTypeTreeNode(element,isCondensed));
}
- }
+ }
+ //
https://jira.jboss.org/browse/JBIDE-6697
+ // from
eclipse.org/bpel rev 1.5 on 5/5/2010 5:13AM by smoser: fix for bidirectional
PLT - > Tammo/JAX Session Feedback
+ else if (inputElement instanceof List){
+ List inputList = (List) inputElement;
+ for (Iterator iterator = inputList.iterator(); iterator.hasNext();) {
+ Definition def = (Definition) iterator.next();
+ Iterator it = def.getPortTypes().values().iterator();
+ while (it.hasNext()) {
+ PortType element = (PortType) it.next();
+ list.add ( new PortTypeTreeNode(element,isCondensed));
+ }
+ }
+
+ }
return list.isEmpty() ? EMPTY_ARRAY : list.toArray();
}
}
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/PartnerLinkTypeSelectorDialog.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/PartnerLinkTypeSelectorDialog.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/dialogs/PartnerLinkTypeSelectorDialog.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -184,7 +184,9 @@
PortType pt = (PortType) obj;
CreatePartnerLinkWizard wizard = new CreatePartnerLinkWizard();
- wizard.setPortType( pt );
+ //
https://jira.jboss.org/browse/JBIDE-6697
+ // from
eclipse.org/bpel rev 1.5 on 5/5/2010 5:13AM by smoser: fix for bidirectional
PLT - > Tammo/JAX Session Feedback
+ wizard.setMandatoryPortType( pt );
wizard.setBPELEditor( ModelHelper.getBPELEditor( pt ) );
WizardDialog dialog = new WizardDialog(getShell(), wizard);
@@ -194,13 +196,14 @@
}
fPartnerLinkType = wizard.getPartnerLinkType();
+ if (fPartnerLinkType == null) {
+ return ;
+ }
+
if (!checkNamespace(fPartnerLinkType)){
return;
}
- if (fPartnerLinkType == null) {
- return ;
- }
super.okPressed();
return ;
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/properties/VariablePartAssignCategory.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/properties/VariablePartAssignCategory.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/properties/VariablePartAssignCategory.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -545,10 +545,14 @@
// Variable is defined using "messageType"
Message msg = var.getMessageType();
if (msg != null) {
- XSDElementDeclaration declaration = side.getPart().getElementDeclaration();
- if (declaration != null) {
- uriWSDL = declaration.getSchema().getSchemaLocation();
- rootElement = declaration.getName();
+ //
https://jira.jboss.org/browse/JBIDE-6697
+ // from
eclipse.org/bpel rev 1.17 on 7/23/2010 3:13AM bugzilla 302943 by gqian: apply
the patch from bugzilla
+ if (side.getPart() != null) {
+ XSDElementDeclaration declaration = side.getPart().getElementDeclaration();
+ if (declaration != null) {
+ uriWSDL = declaration.getSchema().getSchemaLocation();
+ rootElement = declaration.getName();
+ }
}
}
Modified:
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkTypeWizardRolePage.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkTypeWizardRolePage.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkTypeWizardRolePage.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.bpel.ui.wizards;
+import java.util.List;
+
import org.eclipse.bpel.ui.details.providers.ModelTreeLabelProvider;
import org.eclipse.bpel.ui.details.providers.PortTypeTreeContentProvider;
import org.eclipse.bpel.ui.details.tree.PortTypeTreeNode;
@@ -38,6 +40,8 @@
* @date Aug 14, 2006
*
*/
+//https://jira.jboss.org/browse/JBIDE-6697
+//from
eclipse.org/bpel rev 1.5 on 5/5/2010 5:13AM by smoser: fix for bidirectional PLT -
> Tammo/JAX Session Feedback
public class CreatePartnerLinkTypeWizardRolePage extends WizardPage {
static final int SIZING_TEXT_FIELD_WIDTH = 250;
@@ -45,10 +49,12 @@
Text roleName;
Tree portTypeTree;
TreeViewer portTypeViewer;
- PortType portType;
+ PortType mandatoryPortType;
+ PortType optionalPortType;
- Definition wsdlDefinition;
-
+ Definition mandatoryWsdlDefinition;
+ List<Definition> optionalWsdlDefinitions;
+
private CreatePartnerLinkTypeWizardRolePage fOtherRolePage;
boolean fOptional = false;
@@ -125,8 +131,13 @@
portTypeTree = new Tree(fields, SWT.BORDER);
portTypeViewer = new TreeViewer( portTypeTree );
portTypeViewer.setContentProvider( new PortTypeTreeContentProvider (true));
- portTypeViewer.setLabelProvider( new ModelTreeLabelProvider() );
- portTypeViewer.setInput( wsdlDefinition );
+ portTypeViewer.setLabelProvider( new ModelTreeLabelProvider() );
+ if (!fOptional) {
+ portTypeViewer.setInput( mandatoryWsdlDefinition );
+ }
+ else {
+ portTypeViewer.setInput( optionalWsdlDefinitions );
+ }
data = new GridData(GridData.FILL_BOTH);
portTypeTree.setLayoutData(data);
@@ -138,11 +149,16 @@
IStructuredSelection ssel = (IStructuredSelection) event.getSelection();
Object obj = ssel.getFirstElement();
if (obj != null && obj instanceof PortTypeTreeNode) {
- PortTypeTreeNode pttn = (PortTypeTreeNode) obj;
- setPortType( (PortType) pttn.getModelObject() );
+ PortTypeTreeNode pttn = (PortTypeTreeNode) obj;
+ if (!fOptional) {
+ setMandatoryPortType( (PortType) pttn.getModelObject() );
+ }
+ else {
+ setOptionalPortType((PortType) pttn.getModelObject());
+ }
setPageComplete(validatePage());
} else {
- setPortType(null);
+ setMandatoryPortType(null);
setPageComplete(validatePage());
}
}
@@ -157,15 +173,16 @@
String roleNCName = roleName.getText();
if (fOptional) {
- if (portType == null && roleNCName.length() == 0) {
+ if (optionalPortType == null && roleNCName.length() == 0) {
setMessage(Messages.CreatePartnerLinkTypeWizardRolePage_2,INFORMATION);
return true;
}
}
-
- if (portType == null) {
- setMessage(Messages.CreatePartnerLinkTypeWizardRolePage_3,ERROR);
- return false;
+ else {
+ if (mandatoryPortType == null) {
+ setMessage(Messages.CreatePartnerLinkTypeWizardRolePage_3,ERROR);
+ return false;
+ }
}
IInputValidator validator = BPELUtil.getNCNameValidator();
@@ -186,24 +203,35 @@
return true;
}
- public void setDefinition ( Definition defn ) {
- wsdlDefinition = defn;
+ public void setMandatoryDefinition ( Definition defn ) {
+ mandatoryWsdlDefinition = defn;
}
-
/**
* @param portType2
*/
- public void setPortType(PortType pt) {
- portType = pt;
+ public void setMandatoryPortType(PortType pt) {
+ mandatoryPortType = pt;
}
- public PortType getPortType () {
- return portType;
+ public PortType getMandatoryPortType () {
+ return mandatoryPortType;
}
+ public void setOptionalDefinitions ( List <Definition> defs ) {
+ optionalWsdlDefinitions = defs;
+ }
+
+ public void setOptionalPortType(PortType pt) {
+ optionalPortType = pt;
+ }
+
+ public PortType getOptionalPortType () {
+ return optionalPortType;
+ }
+
public String getRoleName () {
return roleName.getText();
}
@@ -229,7 +257,7 @@
*/
public boolean isSpecified() {
if (fOptional) {
- if (portType == null) {
+ if (optionalPortType == null) {
return false;
}
}
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-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.ui/src/org/eclipse/bpel/ui/wizards/CreatePartnerLinkWizard.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -10,6 +10,12 @@
*******************************************************************************/
package org.eclipse.bpel.ui.wizards;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.bpel.common.ui.editmodel.EditModel;
import org.eclipse.bpel.model.partnerlinktype.PartnerLinkType;
import org.eclipse.bpel.model.partnerlinktype.PartnerlinktypeFactory;
import org.eclipse.bpel.model.partnerlinktype.Role;
@@ -19,6 +25,17 @@
import org.eclipse.bpel.ui.commands.AddWSDLImportCommand;
import org.eclipse.bpel.ui.commands.CompoundCommand;
import org.eclipse.bpel.ui.commands.CreatePartnerLinkTypeCommand;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.wst.wsdl.Definition;
import org.eclipse.wst.wsdl.PortType;
@@ -28,12 +45,14 @@
* @date Aug 14, 2006
*
*/
+//
https://jira.jboss.org/browse/JBIDE-6697
+// from
eclipse.org/bpel rev 1.5 on 5/5/2010 5:13AM by smoser: fix for bidirectional PLT
- > Tammo/JAX Session Feedback
public class CreatePartnerLinkWizard extends Wizard {
CreatePartnerLinkTypeWizardNamePage fFirstPage;
CreatePartnerLinkTypeWizardRolePage fRolePage1;
CreatePartnerLinkTypeWizardRolePage fRolePage2;
- PortType fPortType;
+ PortType fMandatoryPortType;
PartnerLinkType fPartnerLinkType;
BPELEditor fEditor;
@@ -50,8 +69,8 @@
return fPartnerLinkType;
}
- public void setPortType (PortType pt) {
- fPortType = pt;
+ public void setMandatoryPortType (PortType pt) {
+ fMandatoryPortType = pt;
}
public void setBPELEditor ( BPELEditor editor ) {
@@ -72,7 +91,7 @@
fRolePage1.setDescription(Messages.CreatePartnerLinkWizard_6);
fRolePage1.setImageDescriptor(BPELUIPlugin.INSTANCE.getImageDescriptor(
IBPELUIConstants.ICON_WIZARD_BANNER));
- fRolePage1.setDefinition( fPortType.getEnclosingDefinition() );
+ fRolePage1.setMandatoryDefinition( fMandatoryPortType.getEnclosingDefinition() );
fRolePage2 = new CreatePartnerLinkTypeWizardRolePage ("role.2");
//$NON-NLS-1$
@@ -80,7 +99,9 @@
fRolePage2.setDescription(Messages.CreatePartnerLinkWizard_9);
fRolePage2.setImageDescriptor(BPELUIPlugin.INSTANCE.getImageDescriptor(
IBPELUIConstants.ICON_WIZARD_BANNER));
- fRolePage2.setDefinition( fPortType.getEnclosingDefinition() );
+
+ IFile file = EditModel.getIFileForURI(fMandatoryPortType.eResource().getURI());
+ fRolePage2.setOptionalDefinitions( getOptionalDefinitions(file.getProject()) );
fRolePage2.setOptional(true);
@@ -97,6 +118,54 @@
+ private List<Definition> getOptionalDefinitions(IProject project) {
+ final List<Definition> wsdlDefinitions = new ArrayList<Definition>();
+ final List<IFile> wsdlFiles = new ArrayList<IFile>();
+ IResourceVisitor visitor = new IResourceVisitor() {
+ public boolean visit(org.eclipse.core.resources.IResource resource) throws
org.eclipse.core.runtime.CoreException {
+ if (resource.getType() == IResource.FILE &&
"wsdl".equalsIgnoreCase(resource.getFileExtension())) {
+
+ IFile artifactFile =
EditModel.getIFileForURI(fEditor.getArtifactsDefinition().eResource().getURI());
+ if (!(artifactFile.getFullPath().equals(((IFile)resource).getFullPath()))) {
+ //filter artifacts WSDL
+ wsdlFiles.add((IFile)resource);
+ }
+ }
+ return true;
+ }
+ };
+ try {
+ project.accept(visitor);
+ }
+ catch (CoreException e) {
+ e.printStackTrace();
+ }
+
+ for (Iterator<IFile> iterator = wsdlFiles.iterator(); iterator.hasNext();) {
+ IFile iFile = iterator.next();
+ IPath fullPath = iFile.getFullPath();
+ URI uri = URI.createPlatformResourceURI(fullPath.toString(), false);
+ Resource wsdlResource = fEditor.getResource().getResourceSet().getResource(uri,
true);
+
+ EcorePackage instance = EcorePackage.eINSTANCE;
+ instance.eAdapters();
+
+ try {
+ wsdlResource.load(Collections.EMPTY_MAP);
+ EList<EObject> contents = wsdlResource.getContents();
+ if (!contents.isEmpty()) {
+ Definition def = (Definition) contents.get(0);
+ wsdlDefinitions.add(def);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ return wsdlDefinitions;
+ }
+
/**
* Create and return the partner link type that this wizard gathered information
* about.
@@ -113,13 +182,13 @@
Role role1 = PartnerlinktypeFactory.eINSTANCE.createRole();
role1.setName ( fRolePage1.getRoleName() );
- role1.setPortType( fRolePage1.getPortType() );
+ role1.setPortType( fRolePage1.getMandatoryPortType() );
plt.getRole().add(role1);
if (fRolePage2.isSpecified()) {
Role role2 = PartnerlinktypeFactory.eINSTANCE.createRole();
role2.setName ( fRolePage2.getRoleName() );
- role2.setPortType( fRolePage2.getPortType() );
+ role2.setPortType( fRolePage2.getOptionalPortType() );
plt.getRole().add(role2);
}
return plt;
@@ -141,7 +210,7 @@
// WSDL imports to find portTypes etc.
// 1. Add WSDL import to the artifacts file (again, this is a noop if already exists).
- cmd.add( new AddWSDLImportCommand ( artifactsDefinition, fPortType ));
+ cmd.add( new AddWSDLImportCommand ( artifactsDefinition, fMandatoryPortType ));
// 2. Create the new Partner Link Type in the artifacts file.
cmd.add( new CreatePartnerLinkTypeCommand(artifactsDefinition, fPartnerLinkType) );
Modified:
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/xpath/XPathValidator.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/xpath/XPathValidator.java 2010-07-29
13:49:41 UTC (rev 23792)
+++
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/xpath/XPathValidator.java 2010-07-29
13:56:39 UTC (rev 23793)
@@ -334,6 +334,12 @@
IProblem problem;
Expr expr = xpathExpr;
+ //
https://jira.jboss.org/browse/JBIDE-6697
+ // from
eclipse.org/bpel rev 1.13 on 7/23/2010 12:21AM by gqian: apply the patch from
bugzilla 320539
+ if (expr instanceof UnaryExpr) {
+ expr = ((UnaryExpr) expr).getExpr();
+ }
+
if (expr instanceof LiteralExpr) {
LiteralExpr lexpr = (LiteralExpr) expr;
try {