[savara-commits] savara SVN: r532 - in branches/experimental/2.0.x/bundles: org.savara.bpel.tests/src/test/java/org/savara/bpel/generator and 3 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Jan 4 17:28:15 EST 2011
Author: objectiser
Date: 2011-01-04 17:28:15 -0500 (Tue, 04 Jan 2011)
New Revision: 532
Added:
branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.spr
branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpelOLD
Removed:
branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv
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/parser/ParserTest.java
branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel
branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java
Log:
Updated BPEL 'if' parsing and fixed test.
Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java 2011-01-04 21:53:07 UTC (rev 531)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java 2011-01-04 22:28:15 UTC (rev 532)
@@ -53,6 +53,26 @@
if (act != null) {
context.convert(act, cb.getBlock().getContents(), journal);
+
+ // Check if first activity is interaction
+ if (cb.getBlock().getContents().size() > 0 &&
+ cb.getBlock().getContents().get(0) instanceof Interaction) {
+ Interaction interaction=(Interaction)cb.getBlock().getContents().get(0);
+
+ cb.getBlock().getContents().remove(0);
+
+ cb.derivedFrom(interaction);
+
+ cb.setMessageSignature(interaction.getMessageSignature());
+
+ elem.setFromRole(interaction.getFromRole());
+
+ if (interaction.getToRoles().size() > 0) {
+ elem.setToRole(interaction.getToRoles().get(0));
+ }
+ } else {
+ journal.error("Main block of if does not contain an initial interaction", null);
+ }
}
elem.getWhens().add(cb);
@@ -65,6 +85,8 @@
context.convert(elseIfElem, cb.getBlock().getContents(), journal);
+ setupWhenMs(elem, cb, journal);
+
elem.getWhens().add(cb);
}
@@ -74,9 +96,50 @@
context.convert(bpelElem.getElse(), cb.getBlock().getContents(), journal);
+ setupWhenMs(elem, cb, journal);
+
elem.getWhens().add(cb);
}
activities.add(elem);
}
+
+ protected void setupWhenMs(Choice elem, When cb, Journal journal) {
+
+ // Check if first activity is interaction
+ if (cb.getBlock().getContents().size() > 0 &&
+ cb.getBlock().getContents().get(0) instanceof Interaction) {
+ Interaction interaction=(Interaction)cb.getBlock().getContents().get(0);
+
+ cb.getBlock().getContents().remove(0);
+
+ cb.derivedFrom(interaction);
+
+ cb.setMessageSignature(interaction.getMessageSignature());
+
+ // Verify from/to roles
+ if (elem.getFromRole() != null) {
+ if (interaction.getFromRole() != null) {
+ if (elem.getFromRole().equals(interaction.getFromRole()) == false) {
+ journal.error("ElseIf path has interaction with incompatible 'from' role", null);
+ }
+ } else {
+ journal.error("ElseIf path does not contain a required 'from' role", null);
+ }
+ }
+ elem.setFromRole(interaction.getFromRole());
+
+ if (elem.getToRole() != null) {
+ if (interaction.getToRoles().size() > 0) {
+ if (elem.getToRole().equals(interaction.getToRoles().get(0)) == false) {
+ journal.error("ElseIf path has interaction with incompatible 'to' role", null);
+ }
+ } else {
+ journal.error("ElseIf path does not contain a required 'to' role", null);
+ }
+ }
+ } else {
+ journal.error("Main block of if does not contain an initial interaction", 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-04 21:53:07 UTC (rev 531)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java 2011-01-04 22:28:15 UTC (rev 532)
@@ -33,7 +33,7 @@
public static Test suite() {
TestSuite suite = new TestSuite("Choreography->BPEL Generator Tests");
-
+
suite.addTest(new ChoreographyToBPELTester("ESBBroker", "Buyer"));
suite.addTest(new ChoreographyToBPELTester("ESBBroker", "SupplierTxnProcessor"));
suite.addTest(new ChoreographyToBPELTester("ESBBroker", "CreditAgency"));
Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java 2011-01-04 21:53:07 UTC (rev 531)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java 2011-01-04 22:28:15 UTC (rev 532)
@@ -34,9 +34,9 @@
TestSuite suite = new TestSuite("BPEL->Protocol Parser Tests");
suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_Broker", "ESBBroker at Broker"));
+ suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_Buyer", "ESBBroker at Buyer"));
/*
- suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_Buyer", "ESBBroker at Buyer"));
suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_CreditAgency", "ESBBroker at CreditAgency"));
suite.addTest(new BPELToProtocolTest("RequestForQuote_SupplierQuoteEngine", "ESBBroker at SupplierQuoteEngine"));
suite.addTest(new BPELToProtocolTest("CompleteTransaction_SupplierTxnProcessor", "ESBBroker at SupplierTxnProcessor"));
Deleted: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv 2011-01-04 21:53:07 UTC (rev 531)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv 2011-01-04 22:28:15 UTC (rev 532)
@@ -1,16 +0,0 @@
-namespace null;
-
-conversation ESBBrokerProcess_Buyer at Buyer implements LoanBroker at Buyer {
- makeEnquiry(enquiry) from Buyer to Broker;
- makeEnquiry(quoteList) from Broker to Buyer;
- if {
- buy(buy) from Buyer to Broker;
- if {
- buy(bookingReference) from Broker to Buyer;
- } else if {
- buy(orderRejected) from Broker to Buyer;
- }
- } else if {
- cancel(cancel) from Buyer to Broker;
- }
-}
\ No newline at end of file
Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.spr
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.spr (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.spr 2011-01-04 22:28:15 UTC (rev 532)
@@ -0,0 +1,16 @@
+protocol ESBBrokerProcess_Buyer {
+ makeEnquiry(enquiry) to Broker;
+ makeEnquiry(quoteList) from Broker;
+ choice to Broker {
+ buy():
+ choice from Broker {
+ buy(bookingReference):
+
+ buy(orderRejected):
+
+ }
+
+ cancel():
+
+ }
+}
Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel 2011-01-04 21:53:07 UTC (rev 531)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel 2011-01-04 22:28:15 UTC (rev 532)
@@ -1,43 +1,39 @@
-<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 Buyer" name="ESBBrokerProcess_Buyer" targetNamespace="http://www.pi4soa.org/ESBBroker/Buyer" 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_BuyerArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Buyer"/>
- <partnerLinks>
- <partnerLink myRole="BrokerBehavior" name="BuyerToBroker" partnerLinkType="byr:BuyerToBrokerLT" partnerRole="BrokerRequester"/>
- </partnerLinks>
- <variables>
- <variable messageType="brk:makeEnquiryRequest" name="makeEnquiryRequestVar"/>
- <variable messageType="brk:makeEnquiryResponse" name="makeEnquiryResponseVar"/>
- <variable messageType="brk:buyRequest" name="buyRequestVar"/>
- <variable messageType="brk:buyResponse" name="buyResponseVar"/>
- <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
- </variables>
- <sequence>
- <invoke inputVariable="makeEnquiryRequestVar" name="Send_enquiry" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
- <receive name="Receive_quoteList" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryResponseVar"/>
- <if>
- <sequence>
- <scope>
- <sequence>
- <scope>
- <faultHandlers>
- <catch faultMessageType="brk:rejectedFault" faultName="brk:rejected" faultVariable="rejectedFaultVar">
- <sequence/>
- </catch>
- </faultHandlers>
- <sequence>
- <invoke inputVariable="buyRequestVar" name="Send_buy" operation="buy" outputVariable="buyResponseVar" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
- </sequence>
- </scope>
- </sequence>
- </scope>
- </sequence>
- <else>
- <sequence>
- <invoke inputVariable="cancelRequestVar" name="Send_cancel" operation="cancel" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
- </sequence>
- </else>
- </if>
- </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_Buyer" targetNamespace="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <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/Buyer" location="ESBBrokerProcess_BuyerArtifacts.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+ <partnerLinks>
+ <partnerLink name="BuyerToBroker" partnerLinkType="byr:BuyerToBrokerLT" partnerRole="BrokerRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable name="makeEnquiryRequestVar" messageType="brk:makeEnquiryRequest"/>
+ <variable name="makeEnquiryResponseVar" messageType="brk:makeEnquiryResponse"/>
+ <variable name="buyRequestVar" messageType="byr:buyRequest"/>
+ <variable name="buyResponseVar" messageType="brk:buyResponse"/>
+ <variable name="cancelRequestVar" messageType="byr:cancelRequest"/>
+ </variables>
+ <sequence>
+ <invoke partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="makeEnquiry" inputVariable="makeEnquiryRequestVar" outputVariable="makeEnquiryResponseVar" name="Send_enquiry"/>
+ <if>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="brk:rejected" faultVariable="rejectedFaultVar" faultMessageType="brk:rejectedFault">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke partnerLink="BuyerToBroker" portType="byr:BuyerBehavior" operation="buy" inputVariable="buyRequestVar" outputVariable="buyResponseVar" name="Send_buy"/>
+ </sequence>
+ </scope>
+ </sequence>
+ <else>
+ <sequence>
+ <invoke partnerLink="BuyerToBroker" portType="byr:BuyerBehavior" operation="cancel" inputVariable="cancelRequestVar" name="Send_cancel"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Copied: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpelOLD (from rev 531, branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel)
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpelOLD (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpelOLD 2011-01-04 22:28:15 UTC (rev 532)
@@ -0,0 +1,43 @@
+<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 Buyer" name="ESBBrokerProcess_Buyer" targetNamespace="http://www.pi4soa.org/ESBBroker/Buyer" 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_BuyerArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Buyer"/>
+ <partnerLinks>
+ <partnerLink myRole="BrokerBehavior" name="BuyerToBroker" partnerLinkType="byr:BuyerToBrokerLT" partnerRole="BrokerRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="brk:makeEnquiryRequest" name="makeEnquiryRequestVar"/>
+ <variable messageType="brk:makeEnquiryResponse" name="makeEnquiryResponseVar"/>
+ <variable messageType="brk:buyRequest" name="buyRequestVar"/>
+ <variable messageType="brk:buyResponse" name="buyResponseVar"/>
+ <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
+ </variables>
+ <sequence>
+ <invoke inputVariable="makeEnquiryRequestVar" name="Send_enquiry" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
+ <receive name="Receive_quoteList" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryResponseVar"/>
+ <if>
+ <sequence>
+ <scope>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultMessageType="brk:rejectedFault" faultName="brk:rejected" faultVariable="rejectedFaultVar">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke inputVariable="buyRequestVar" name="Send_buy" operation="buy" outputVariable="buyResponseVar" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </scope>
+ </sequence>
+ <else>
+ <sequence>
+ <invoke inputVariable="cancelRequestVar" name="Send_cancel" operation="cancel" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl 2011-01-04 21:53:07 UTC (rev 531)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl 2011-01-04 22:28:15 UTC (rev 532)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ESBBroker/Broker" xmlns:ns2="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ESBBroker/Buyer">
- <wsdl:import location="ESBBrokerProcess_Buyer.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Buyer"/>
+ <!-- >wsdl:import location="ESBBrokerProcess_Buyer.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Buyer"/ -->
<wsdl:import location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
<wsdl:import location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
<wsdl:import location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
More information about the savara-commits
mailing list