[savara-commits] savara SVN: r524 - in branches/experimental/2.0.x/bundles: org.savara.bpel/src/test/java/org/savara/bpel/model/change and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Jan 2 11:17:46 EST 2011


Author: objectiser
Date: 2011-01-02 11:17:44 -0500 (Sun, 02 Jan 2011)
New Revision: 524

Modified:
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java
   branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java
Log:
Dealing with choice containing a perform in the CDL - so the choice when path needs to obtain its message signature from an interaction in the performed sub-choreography.

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -115,7 +115,7 @@
 		}
 
 		Contract contract=ModelChangeUtils.getContract(context,
-				elem.enclosingProtocol().getRole().getName());
+				elem.enclosingProtocol().getRole());
 		
 		if (contract != null) {
 			roleNamespace = contract.getNamespace();
@@ -159,7 +159,7 @@
 							String faultName=InteractionPatterns.getFaultName(path);
 							
 							Contract fromContract = ModelChangeUtils.getContract(context,
-										elem.getFromRole().getName());
+										elem.getFromRole());
 							
 							// Define fault message type
 							QName qname= WSDLGeneratorUtil.getFaultMessageType(fromContract.getNamespace(),
@@ -201,7 +201,7 @@
 							if (acts.size() > 0 && //act instanceof Interaction &&
 									acts.get(acts.size()-1) instanceof TInvoke) {
 								Contract fromContract = ModelChangeUtils.getContract(context,
-										elem.getFromRole().getName());
+										elem.getFromRole());
 							
 								QName qname=null;
 								if (InteractionUtil.isRequest(path)) {
@@ -300,7 +300,7 @@
 										
 					pl.setPartnerLinkType(new QName(roleNamespace, plt));
 
-					contract = ModelChangeUtils.getContract(context, role.getName());
+					contract = ModelChangeUtils.getContract(context, role);
 					
 					if (contract != null && contract.getInterfaces().size() > 0) {
 						Interface intf = contract.getInterfaces().iterator().next();
@@ -328,7 +328,7 @@
 					//portType = role.getName()+
 					//		recv.getFromRole().getName()+"CallbackPT";				
 
-					Contract fromContract = ModelChangeUtils.getContract(context, elem.getFromRole().getName());
+					Contract fromContract = ModelChangeUtils.getContract(context, elem.getFromRole());
 					if (fromContract != null && fromContract.getInterfaces().size() > 0) {
 						Interface intf = fromContract.getInterfaces().iterator().next();
 						
@@ -575,7 +575,7 @@
 			}
 			
 			if (roleType != null) {
-				contract = ModelChangeUtils.getContract(context, roleType.getName());
+				contract = ModelChangeUtils.getContract(context, roleType);
 			}
 
 			QName qname=null;
@@ -646,7 +646,7 @@
 			}
 			
 			if (roleType != null) {
-				contract = ModelChangeUtils.getContract(context, roleType.getName());
+				contract = ModelChangeUtils.getContract(context, roleType);
 			}
 
 			QName qname=null;

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -123,7 +123,7 @@
 		//String mainPrefix=null;
 		
 		Contract contract=ModelChangeUtils.getContract(context,
-						interaction.enclosingProtocol().getRole().getName());
+						interaction.enclosingProtocol().getRole());
 		
 		/* TODO: Namespace issue
 		if (contract != null) {
@@ -153,7 +153,7 @@
 		}
 		
 		if (roleType != null) {
-			contract = ModelChangeUtils.getContract(context, roleType.getName());
+			contract = ModelChangeUtils.getContract(context, roleType);
 
 			if (contract != null) {			
 				if (interaction.getProperties().containsKey(INTERFACE_NAME)) {

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ModelChangeUtils.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -146,7 +146,7 @@
 	 * @return The contract, or null if not found
 	 */
 	@SuppressWarnings("unchecked")
-	public static Contract getContract(ModelChangeContext context, String roleName) {
+	public static Contract getContract(ModelChangeContext context, Role role) {
 		Contract ret=null;
 		
 		if (context.getProperties().containsKey(Contract.class.getName())) {
@@ -154,7 +154,11 @@
 					(java.util.Map<String,Contract>)
 					context.getProperties().get(Contract.class.getName());
 			
-			ret = contracts.get(roleName);
+			ret = contracts.get(role.getName());
+			
+			if (ret == null) {
+				ret = (Contract)role.getProperties().get(Contract.class.getName());
+			}
 		}
 		
 		return(ret);

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -100,51 +100,15 @@
 								conv.getRole().getName());
 			
 			// Get contract
-			Contract contract=ModelChangeUtils.getContract(context, conv.getRole().getName());
+			Contract contract=ModelChangeUtils.getContract(context, conv.getRole());
 			
 			if (contract != null) {
 				roleNamespace = contract.getNamespace();
 				
 				// Set namespace
 				bpelModel.setTargetNamespace(contract.getNamespace());
-				
-				/** GPB: NEED TO ESTABLISH NAMESPACE PREFIXES
-				 * 
-				 *
-				// Add other namespaces
-				for (org.savara.contract.model.Namespace ns : contract.getNamespaces()) {
-					bpelModel.initNamespace(ns.getURI(), ns.getPrefix());
-				}
-				*/
 			}
 			
-			/*
-			String namespace="** GPB: NEED TO GET NAMESPACE FROM PROTOCOL MODEL **";
-
-			String ctype=null;
-			
-			// Check if conversation has a 'conforms to' reference
-			if (conv.getConformsTo().size() > 0) {
-				// Set conversation type based on first 'conforms to'
-				// reference
-				ConformanceReference cref=conv.getConformsTo().get(0);
-				
-				ctype = cref.getNamespace()+"."+
-						cref.getLocalpart()+"@"+
-						cref.getLocatedRole();
-			} else {
-				// Set conversation type based on conversation
-				// namespace and name
-				ctype = namespace+"."+
-						conv.getLocatedName().getName()+"@"+
-						conv.getLocatedName().getRole().getName();
-			}
-			
-			if (ctype != null) {
-				bpelModel.getBPELProcess().setConversationType(ctype);
-			}
-			*/
-			
 			// Add import for this role
 			addImport(context, bpelModel, conv, conv.getRole());
 
@@ -165,42 +129,27 @@
 			
 			// Add sequence to model
 			bpelModel.setSequence(seq);
+
+			// Process the activities within the conversation
+			java.util.List<Activity> acts=conv.getBlock().getContents();
 			
-		} else if (context.getParent() instanceof TSequence) {
+			Object parent=context.getParent();
 			
-			// Create a scope
-			TScope scope=new TScope();
-
-			((TSequence)context.getParent()).getActivity().add(scope);
+			context.setParent(seq);
 			
-			// NOTE: Currently needs to be added after adding scope
-			// to parent sequence, as otherwise the DOM element
-			// associated with the 'seq' sequence becomes
-			// disconnected from the actual document - due to
-			// the fact that added elements are copied (in
-			// turn due to an xml parser exception).
-			scope.setSequence(seq);
+			for (int i=0; i < acts.size(); i++) {
+				//if ((acts.get(i) instanceof Definition) == false) {
+					context.insert(model, acts.get(i), null);
+				//}
+			}
 			
-			context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
+			// Reset old parent
+			context.setParent(parent);
+			
+			return(true);
+		} else {
+			return(false);
 		}
-
-		// Process the activities within the conversation
-		java.util.List<Activity> acts=conv.getBlock().getContents();
-		
-		Object parent=context.getParent();
-		
-		context.setParent(seq);
-		
-		for (int i=0; i < acts.size(); i++) {
-			//if ((acts.get(i) instanceof Definition) == false) {
-				context.insert(model, acts.get(i), null);
-			//}
-		}
-		
-		// Reset old parent
-		context.setParent(parent);
-		
-		return(true);
 	}
 	
 	/**

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/RunModelChangeRule.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -17,6 +17,9 @@
  */
 package org.savara.bpel.model.change;
 
+import org.savara.bpel.BPELDefinitions;
+import org.savara.bpel.model.TScope;
+import org.savara.bpel.model.TSequence;
 import org.savara.model.change.ModelChangeContext;
 import org.scribble.protocol.model.*;
 
@@ -82,12 +85,46 @@
 
 		if (elem.getProtocol() != null) {
 			
+			// Push details related to sub-choreo
 			ModelChangeUtils.pushRoleContractMapping(context, elem);
 			
 			ModelChangeUtils.addContracts(context, elem.getProtocol(), false);
 			
-			context.insert(model, elem.getProtocol(), ref);
+			//context.insert(model, elem.getProtocol(), ref);
+			
+			// Create a scope
+			TScope scope=new TScope();
+			TSequence seq=new TSequence();
 
+			((TSequence)context.getParent()).getActivity().add(scope);
+			
+			// NOTE: Currently needs to be added after adding scope
+			// to parent sequence, as otherwise the DOM element
+			// associated with the 'seq' sequence becomes
+			// disconnected from the actual document - due to
+			// the fact that added elements are copied (in
+			// turn due to an xml parser exception).
+			scope.setSequence(seq);
+			
+			context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
+
+			// Process the activities within the conversation
+			java.util.List<Activity> acts=elem.getProtocol().getBlock().getContents();
+			
+			Object parent=context.getParent();
+			
+			context.setParent(seq);
+			
+			for (int i=0; i < acts.size(); i++) {
+				//if ((acts.get(i) instanceof Definition) == false) {
+					context.insert(model, acts.get(i), null);
+				//}
+			}
+			
+			// Reset old parent
+			context.setParent(parent);
+
+			// Pop details related to sub-choreo
 			ModelChangeUtils.removeContracts(context, elem.getProtocol(), false);
 			
 			ModelChangeUtils.popRoleContractMapping(context, elem);

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/model/change/ModelChangeUtilsTest.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -46,7 +46,7 @@
 		
 		ModelChangeUtils.addContracts(context, conv, true);
 		
-		Contract c2=ModelChangeUtils.getContract(context, MY_ROLE);
+		Contract c2=ModelChangeUtils.getContract(context, new Role(MY_ROLE));
 		
 		if (c2 == null) {
 			fail("Contract not found");
@@ -82,7 +82,7 @@
 		
 		ModelChangeUtils.addContracts(context, conv2, true);
 		
-		Contract c3=ModelChangeUtils.getContract(context, MY_ROLE);
+		Contract c3=ModelChangeUtils.getContract(context, new Role(MY_ROLE));
 		
 		if (c3 == null) {
 			fail("Contract not found");
@@ -92,7 +92,7 @@
 			fail("Contract not the same as the one stored");
 		}
 		
-		Contract c4=ModelChangeUtils.getContract(context, MY_OTHER_ROLE);
+		Contract c4=ModelChangeUtils.getContract(context, new Role(MY_OTHER_ROLE));
 		
 		if (c4 == null) {
 			fail("Contract not found");
@@ -151,8 +151,8 @@
 		
 		ModelChangeUtils.pushRoleContractMapping(context, run);
 		
-		Contract c3=ModelChangeUtils.getContract(context, MY_ROLE);
-		Contract c4=ModelChangeUtils.getContract(context, MY_OTHER_ROLE);
+		Contract c3=ModelChangeUtils.getContract(context, new Role(MY_ROLE));
+		Contract c4=ModelChangeUtils.getContract(context, new Role(MY_OTHER_ROLE));
 		
 		if (c3 != null) {
 			fail("Contract for "+MY_ROLE+" should be null");
@@ -162,8 +162,8 @@
 			fail("Contract for "+MY_OTHER_ROLE+" should NOT be null");
 		}
 		
-		Contract c5=ModelChangeUtils.getContract(context, MY_LOCATED_ROLE);
-		Contract c6=ModelChangeUtils.getContract(context, MY_OTHER_LOCATED_ROLE);
+		Contract c5=ModelChangeUtils.getContract(context, new Role(MY_LOCATED_ROLE));
+		Contract c6=ModelChangeUtils.getContract(context, new Role(MY_OTHER_LOCATED_ROLE));
 		
 		if (c5 != null) {
 			fail("Contract for "+MY_LOCATED_ROLE+" should be null");
@@ -241,8 +241,8 @@
 		
 		ModelChangeUtils.popRoleContractMapping(context, run);
 		
-		Contract c3=ModelChangeUtils.getContract(context, MY_ROLE);
-		Contract c4=ModelChangeUtils.getContract(context, MY_OTHER_ROLE);
+		Contract c3=ModelChangeUtils.getContract(context, new Role(MY_ROLE));
+		Contract c4=ModelChangeUtils.getContract(context, new Role(MY_OTHER_ROLE));
 		
 		if (c3 == null) {
 			fail("Contract for "+MY_ROLE+" should NOT be null");
@@ -252,8 +252,8 @@
 			fail("Contract for "+MY_OTHER_ROLE+" should be null");
 		}
 		
-		Contract c5=ModelChangeUtils.getContract(context, MY_LOCATED_ROLE);
-		Contract c6=ModelChangeUtils.getContract(context, MY_OTHER_LOCATED_ROLE);
+		Contract c5=ModelChangeUtils.getContract(context, new Role(MY_LOCATED_ROLE));
+		Contract c6=ModelChangeUtils.getContract(context, new Role(MY_OTHER_LOCATED_ROLE));
 		
 		if (c5 == null) {
 			fail("Contract for "+MY_LOCATED_ROLE+" should NOT be null");

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -38,8 +38,8 @@
     public static Test suite() {
         TestSuite suite = new TestSuite("Choreography->BPEL Generator Tests");
         
+        suite.addTest(new ChoreographyToBPELTester("ESBBroker", "Broker"));
         /*
-        suite.addTest(new ChoreographyToBPELTester("ESBBroker", "Broker"));
         suite.addTest(new ChoreographyToBPELTester("ESBBroker", "Buyer"));
         suite.addTest(new ChoreographyToBPELTester("ESBBroker", "CreditAgency"));
         suite.addTest(new ChoreographyToBPELTester("ESBBroker",
@@ -48,14 +48,14 @@
 										"SupplierQuoteEngine"));
         */
         
-        /*
-        */
         suite.addTest(new ChoreographyToBPELTester("PurchaseGoods", "Buyer"));
         suite.addTest(new ChoreographyToBPELTester("PurchaseGoods", "CreditAgency"));
         suite.addTest(new ChoreographyToBPELTester("PurchaseGoods", "Store"));
         
         suite.addTest(new ChoreographyToBPELTester("ReqRespFault", "Buyer"));
         suite.addTest(new ChoreographyToBPELTester("ReqRespFault", "Seller"));
+        /*
+        */
         
         return suite;
     }

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/generator/results/ESBBroker at Broker.bpel	2011-01-02 16:17:44 UTC (rev 524)
@@ -1,66 +1,67 @@
-<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.LoanBroker at Broker" name="ESBBrokerProcess_Broker" targetNamespace="http://www.pi4soa.org/ESBBroker/Broker" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
-    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
-    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_BrokerArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
-    <partnerLinks>
-        <partnerLink myRole="BrokerBehavior" name="BuyerToBroker" partnerLinkType="brk:BuyerToBrokerServiceLT"/>
-        <partnerLink name="BrokerToSupplierQuoteEngine" partnerLinkType="brk:BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
-        <partnerLink name="BrokerToCreditAgency" partnerLinkType="brk:BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
-        <partnerLink name="BrokerToSupplierTxnProcessor" partnerLinkType="brk:BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
-    </partnerLinks>
-    <variables>
-        <variable messageType="brk:makeEnquiryRequest" name="makeEnquiryRequestVar"/>
-        <variable messageType="spr:getQuoteRequest" name="getQuoteRequestVar"/>
-        <variable messageType="spr:getQuoteResponse" name="getQuoteResponseVar"/>
-        <variable messageType="brk:makeEnquiryResponse" name="makeEnquiryResponseVar"/>
-        <variable messageType="brk:buyRequest" name="buyRequestVar"/>
-        <variable messageType="cay:checkCreditRequest" name="checkCreditRequestVar"/>
-        <variable messageType="cay:checkCreditResponse" name="checkCreditResponseVar"/>
-        <variable messageType="spr:confirmRequest" name="confirmRequestVar"/>
-        <variable messageType="spr:confirmResponse" name="confirmResponseVar"/>
-        <variable messageType="brk:buyResponse" name="buyResponseVar"/>
-        <variable messageType="brk:rejectedFault" name="rejectedFaultVar"/>
-        <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
-    </variables>
-    <sequence>
-        <receive createInstance="yes" name="Receive_enquiry" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryRequestVar"/>
-        <while>
-            <sequence>
-                <scope>
-                    <sequence>
-                        <invoke inputVariable="getQuoteRequestVar" name="Send_requestForQuote" operation="getQuote" outputVariable="getQuoteResponseVar" partnerLink="BrokerToSupplierQuoteEngine" portType="spr:SupplierBehavior"/>
-                    </sequence>
-                </scope>
-            </sequence>
-        </while>
-        <reply name="Send_quoteList" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryResponseVar"/>
-        <pick>
-            <onMessage operation="buy" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="buyRequestVar">
-                <sequence>
-                    <scope>
-                        <sequence>
-                            <scope>
-                                <faultHandlers>
-                                    <catch faultMessageType="cay:invalidCreditFault" faultName="cay:invalidCredit" faultVariable="invalidCreditFaultVar">
-                                        <sequence>
-                                            <reply faultName="brk:rejected" name="Send_orderRejected" operation="buy" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="rejectedFaultVar"/>
-                                        </sequence>
-                                    </catch>
-                                </faultHandlers>
-                                <sequence>
-                                    <invoke inputVariable="checkCreditRequestVar" name="Send_CreditCheckRequest" operation="checkCredit" outputVariable="checkCreditResponseVar" partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior"/>
-                                    <invoke inputVariable="confirmRequestVar" name="Send_orderConfirmed" operation="confirm" outputVariable="confirmResponseVar" partnerLink="BrokerToSupplierTxnProcessor" portType="spr:SupplierBehavior"/>
-                                    <reply name="Send_bookingReference" operation="buy" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="buyResponseVar"/>
-                                </sequence>
-                            </scope>
-                        </sequence>
-                    </scope>
-                </sequence>
-            </onMessage>
-            <onMessage operation="cancel" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="cancelRequestVar">
-                <sequence/>
-            </onMessage>
-        </pick>
-    </sequence>
-</process>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" name="ESBBrokerProcess_Broker" targetNamespace="http://www.pi4soa.org/ESBBroker/Broker">
+    <import namespace="http://www.pi4soa.org/ESBBroker/Broker" location="ESBBrokerProcess_Broker.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <import namespace="http://www.pi4soa.org/ESBBroker/CreditAgency" location="ESBBrokerProcess_CreditAgency.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <import namespace="http://www.pi4soa.org/ESBBroker/Supplier" location="ESBBrokerProcess_Supplier.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <import namespace="http://www.pi4soa.org/ESBBroker/Broker" location="ESBBrokerProcess_BrokerArtifacts.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <partnerLinks>
+        <partnerLink name="BuyerToBroker" partnerLinkType="brk:BuyerToBrokerServiceLT" myRole="BrokerBehavior"/>
+        <partnerLink name="BrokerToSupplierQuoteEngine" partnerLinkType="brk:BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
+        <partnerLink name="BrokerToCreditAgency" partnerLinkType="brk:BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+        <partnerLink name="BrokerToSupplierTxnProcessor" partnerLinkType="brk:BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable name="makeEnquiryRequestVar" messageType="brk:makeEnquiryRequest"/>
+        <variable name="getQuoteRequestVar" messageType="spr:getQuoteRequest"/>
+        <variable name="getQuoteResponseVar" messageType="spr:getQuoteResponse"/>
+        <variable name="makeEnquiryResponseVar" messageType="brk:makeEnquiryResponse"/>
+        <variable name="buyRequestVar" messageType="brk:buyRequest"/>
+        <variable name="checkCreditRequestVar" messageType="cay:checkCreditRequest"/>
+        <variable name="checkCreditResponseVar" messageType="cay:checkCreditResponse"/>
+        <variable name="confirmRequestVar" messageType="spr:confirmRequest"/>
+        <variable name="confirmResponseVar" messageType="spr:confirmResponse"/>
+        <variable name="buyResponseVar" messageType="brk:buyResponse"/>
+        <variable name="rejectedFaultVar" messageType="brk:rejectedFault"/>
+        <variable name="cancelRequestVar" messageType="brk:cancelRequest"/>
+    </variables>
+    <sequence>
+        <receive partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="makeEnquiry" variable="makeEnquiryRequestVar" createInstance="yes" name="Receive_enquiry"/>
+        <while>
+            <sequence>
+                <scope>
+                    <sequence>
+                        <invoke partnerLink="BrokerToSupplierQuoteEngine" portType="spr:SupplierBehavior" operation="getQuote" inputVariable="getQuoteRequestVar" outputVariable="getQuoteResponseVar" name="Send_requestForQuote"/>
+                    </sequence>
+                </scope>
+            </sequence>
+        </while>
+        <reply partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="makeEnquiry" variable="makeEnquiryResponseVar" name="Send_quoteList"/>
+        <pick>
+            <onMessage partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="buy" variable="buyRequestVar">
+                <sequence>
+                    <scope>
+                        <sequence>
+                            <scope>
+<faultHandlers>
+    <catch faultName="cay:invalidCredit" faultVariable="invalidCreditFaultVar" faultMessageType="cay:invalidCreditFault">
+        <sequence>
+            <reply partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="buy" variable="rejectedFaultVar" faultName="brk:rejected" name="Send_orderRejected"/>
+        </sequence>
+    </catch>
+</faultHandlers>
+<sequence>
+    <invoke partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior" operation="checkCredit" inputVariable="checkCreditRequestVar" outputVariable="checkCreditResponseVar" name="Send_CreditCheckRequest"/>
+    <invoke partnerLink="BrokerToSupplierTxnProcessor" portType="spr:SupplierBehavior" operation="confirm" inputVariable="confirmRequestVar" outputVariable="confirmResponseVar" name="Send_orderConfirmed"/>
+    <reply partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="buy" variable="buyResponseVar" name="Send_bookingReference"/>
+</sequence>
+                            </scope>
+                        </sequence>
+                    </scope>
+                </sequence>
+            </onMessage>
+            <onMessage partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="cancel" variable="cancelRequestVar">
+                <sequence/>
+            </onMessage>
+        </pick>
+    </sequence>
+</process>

Modified: branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java	2011-01-02 00:20:57 UTC (rev 523)
+++ branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java	2011-01-02 16:17:44 UTC (rev 524)
@@ -359,8 +359,7 @@
 
 		@Override
 		public void perform(Perform perform) {
-			// TODO Auto-generated method stub
-			
+			perform.getChoreography().visit(this);	
 		}
 
 		@Override



More information about the savara-commits mailing list