diff options
author | edwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-06 09:41:12 +0000 |
---|---|---|
committer | edwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-06 09:41:12 +0000 |
commit | 4df3110b21509ae73f5c9f336722b253b2990c8b (patch) | |
tree | 8e0c8dc8e9cebf9a04af4979dba475ad74026eab /java | |
parent | 43f34fbd29ae213570c18222273006919e663925 (diff) |
Tweaks to enable implementation-bpel to pass latest OASIS BPEL testcases
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@833331 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
4 files changed, 47 insertions, 3 deletions
diff --git a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java index f8f7ee0ae2..db5d808f7a 100644 --- a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java +++ b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java @@ -88,4 +88,22 @@ public interface BPELImplementation extends Implementation { * @param modelResolver */ void setModelResolver(ModelResolver modelResolver); + + /** + * Gets the name of the partnerLink which corresponds to the SCA service with the supplied name + * This deals in particular with cases where the SCA service name is an alias which is not the + * same as the partnerLink name + * @param serviceName - the name of the SCA service + * @return + */ + String getServicePartnerlinkName( String serviceName ); + + /** + * Gets the name of the partnerLink which corresponds to the SCA reference with the supplied name + * This deals in particular with cases where the SCA reference name is an alias which is not the + * same as the partnerLink name + * @param referenceName - the name of the SCA reference + * @return + */ + String getReferencePartnerlinkName( String referenceName ); } diff --git a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java index ad8b3a7bcf..67eb9bd047 100644 --- a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java +++ b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java @@ -30,6 +30,7 @@ import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; import org.apache.tuscany.sca.contribution.resolver.ModelResolver; import org.apache.tuscany.sca.implementation.bpel.BPELImplementation; import org.apache.tuscany.sca.implementation.bpel.BPELProcessDefinition; +import org.apache.tuscany.sca.implementation.bpel.xml.BPELPartnerLinkElement; /** * The model representing a BPEL implementation in an SCA assembly model. @@ -124,4 +125,28 @@ class BPELImplementationImpl extends ImplementationImpl implements BPELImplement return false; } } + + public String getReferencePartnerlinkName(String referenceName) { + if( referenceName == null ) return null; + // Find the partnerLink which has its SCAName set to the supplied name + List<BPELPartnerLinkElement> partnerLinks = processDefinition.getPartnerLinks(); + for( BPELPartnerLinkElement partnerLink : partnerLinks ) { + if( referenceName.equals(partnerLink.getSCAName()) ) { + return partnerLink.getName(); + } // end if + } // end for + return null; + } // end method getReferencePartnerlinkName + + public String getServicePartnerlinkName(String serviceName) { + if( serviceName == null ) return null; + // Find the partnerLink which has its SCAName set to the supplied name + List<BPELPartnerLinkElement> partnerLinks = processDefinition.getPartnerLinks(); + for( BPELPartnerLinkElement partnerLink : partnerLinks ) { + if( serviceName.equals(partnerLink.getSCAName()) ) { + return partnerLink.getName(); + } // end if + } // end for + return null; + } // end method getServicePartnerlinkName } diff --git a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java index 6b12f6666e..2c50ae98c3 100644 --- a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java +++ b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java @@ -228,8 +228,9 @@ public class BPELDocumentProcessor extends BaseStAXArtifactProcessor implements if ((scaService != null) && (scaReference != null)) { // It is incorrect to set both service & reference attributes error(monitor, "PartnerLinkHasBothAttr", partnerLink, reader.getAttributeValue(null, "name")); - throw new ContributionReadException("BPEL PartnerLink " + reader.getAttributeValue(null, "name") + " has both sca:reference and sca:service attributes set"); - } + throw new ContributionReadException("BPEL PartnerLink " + reader.getAttributeValue(null, "name") + + " has both sca:reference and sca:service attributes set"); + } // end if // Set the SCA type and the related name, if present if (scaService != null) diff --git a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java index 6a2d6310c0..47815f8377 100644 --- a/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java +++ b/java/sca/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java @@ -311,7 +311,7 @@ public class BPELImplementationProcessor extends BaseStAXArtifactProcessor imple /** * Create an SCA service for a partnerLink - * @param name - name of the reference + * @param name - name of the service * @param myRolePT - partner link type of myRole * @param partnerRolePT - partner link type of partnerRole * @param theInterfaces - list of WSDL interfaces associated with the BPEL process |