Overlord SVN: r594 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator: results and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-23 15:37:51 -0400 (Thu, 23 Apr 2009)
New Revision: 594
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Supplier.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel
Log:
Create tests based on existing overlord models - for all participants.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-22 22:18:00 UTC (rev 593)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-23 19:37:51 UTC (rev 594)
@@ -36,6 +36,12 @@
TestSuite suite = new TestSuite("Conversation->BPEL Generator Tests");
suite.addTest(new ConversationToBPELTest("EventHandler@Store"));
suite.addTest(new ChoreographyToBPELTest("ESBBroker", "Broker"));
+ suite.addTest(new ChoreographyToBPELTest("ESBBroker", "Buyer"));
+ suite.addTest(new ChoreographyToBPELTest("ESBBroker", "CreditAgency"));
+ suite.addTest(new ChoreographyToBPELTest("ESBBroker", "SupplierTxnProcessor"));
+ suite.addTest(new ChoreographyToBPELTest("ESBBroker", "SupplierQuoteEngine"));
+ suite.addTest(new ChoreographyToBPELTest("PurchaseGoods", "Buyer"));
+ suite.addTest(new ChoreographyToBPELTest("PurchaseGoods", "CreditAgency"));
suite.addTest(new ChoreographyToBPELTest("PurchaseGoods", "Store"));
suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Buyer"));
suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Seller"));
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel 2009-04-22 22:18:00 UTC (rev 593)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -1,8 +1,8 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process name="ESBBrokerProcess_Broker" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="BrokerService" name="BuyerToBroker" partnerLinkType="BuyerToBrokerServiceLT"/>
<partnerLink myRole="BrokerRequester" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
- <partnerLink myRole="BrokerRequester" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ <partnerLink name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
<partnerLink myRole="BrokerRequester" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
</partnerLinks>
<sequence>
@@ -23,21 +23,21 @@
<scope>
<sequence>
<receive operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- <invoke operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
- <if>
+ <scope>
+ <faultHandlers>
+ <catch faultName="invalidCredit">
+ <sequence>
+ <reply faultName="rejected" operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </catch>
+ </faultHandlers>
<sequence>
- <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
+ <invoke operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
<invoke operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT"/>
<receive operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="BrokerSupplierTxnProcessorCallbackPT"/>
<reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
</sequence>
- <else>
- <sequence>
- <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
- <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- </sequence>
- </else>
- </if>
+ </scope>
</sequence>
</scope>
</sequence>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Buyer.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Buyer.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,32 @@
+<process name="ESBBrokerProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="BuyerRequester" name="BuyerToBroker" partnerLinkType="BuyerToBrokerLT" partnerRole="BrokerRequester"/>
+ </partnerLinks>
+ <sequence>
+ <invoke operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ <receive operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BuyerBrokerCallbackPT"/>
+ <if>
+ <sequence>
+ <scope>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="rejected">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </scope>
+ </sequence>
+ <else>
+ <sequence>
+ <invoke operation="cancel" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,26 @@
+<process name="ESBBrokerProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="CreditAgencyService" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyServiceLT"/>
+ </partnerLinks>
+ <sequence>
+ <if>
+ <sequence>
+ <scope>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
+ <if>
+ <sequence>
+ <reply operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <reply faultName="invalidCredit" operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+ </scope>
+ </sequence>
+ </if>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Supplier.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Supplier.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Supplier.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,3 @@
+<process name="ESBBrokerProcess_Supplier" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <sequence/>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,17 @@
+<process name="ESBBrokerProcess_SupplierQuoteEngine" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="SupplierQuoteEngineService" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineServiceLT"/>
+ </partnerLinks>
+ <sequence>
+ <while>
+ <sequence>
+ <scope>
+ <sequence>
+ <receive operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT"/>
+ <reply operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </while>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,23 @@
+<process name="ESBBrokerProcess_SupplierTxnProcessor" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="SupplierTxnProcessorService" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorServiceLT"/>
+ <partnerLink myRole="SupplierTxnProcessorRequester" name="SupplierTxnProcessorToBroker" partnerLinkType="SupplierTxnProcessorToBrokerRequesterLT" partnerRole="BrokerService"/>
+ </partnerLinks>
+ <sequence>
+ <if>
+ <sequence>
+ <scope>
+ <sequence>
+ <pick>
+ <onMessage operation="confirm" partnerLink="SupplierTxnProcessorToBroker" portType="SupplierTxnProcessorBrokerCallbackPT">
+ <sequence>
+ <reply operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT"/>
+ </sequence>
+ </onMessage>
+ </pick>
+ </sequence>
+ </scope>
+ </sequence>
+ </if>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Buyer.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Buyer.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,17 @@
+<process name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink name="BuyerToStore" partnerLinkType="BuyerToStoreLT" partnerRole="StoreRequester"/>
+ </partnerLinks>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="BuyFailed">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </scope>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel 2009-04-23 19:37:51 UTC (rev 594)
@@ -0,0 +1,18 @@
+<process name="PurchaseGoodsProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="CreditAgencyService" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyServiceLT"/>
+ </partnerLinks>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ <if>
+ <sequence>
+ <reply operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <reply faultName="CreditCheckFailed" operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
17 years, 3 months
Overlord SVN: r593 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: plugintest/org/jboss/tools/overlord/cdl/bpel/generator and 2 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-22 18:18:00 -0400 (Wed, 22 Apr 2009)
New Revision: 593
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Store.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBroker.cdm
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoods.cdm
Removed:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
Log:
Fix issue where fault activities were not being placed in the catch sequence. Still need to detect whether an 'if' is based on receiving, and therefore create a pick.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-04-22 21:10:53 UTC (rev 592)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-04-22 22:18:00 UTC (rev 593)
@@ -124,7 +124,7 @@
Object parent=context.getParent();
- context.setParent(seq);
+ context.setParent(subseq);
for (int j=1; j < path.getContents().size(); j++) {
context.insert(model, path.getContents().get(j), null);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-22 21:10:53 UTC (rev 592)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-22 22:18:00 UTC (rev 593)
@@ -34,9 +34,9 @@
public static TestSuite suite() {
TestSuite suite = new TestSuite("Conversation->BPEL Generator Tests");
- suite.addTest(new ConversationToBPELTest("ESBBrokerProcess@Broker"));
- suite.addTest(new ConversationToBPELTest("PurchaseGoodsProcess@Store"));
suite.addTest(new ConversationToBPELTest("EventHandler@Store"));
+ suite.addTest(new ChoreographyToBPELTest("ESBBroker", "Broker"));
+ suite.addTest(new ChoreographyToBPELTest("PurchaseGoods", "Store"));
suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Buyer"));
suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Seller"));
return suite;
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel (from rev 584, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)Broker.bpel 2009-04-22 22:18:00 UTC (rev 593)
@@ -0,0 +1,51 @@
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="BrokerService" name="BuyerToBroker" partnerLinkType="BuyerToBrokerServiceLT"/>
+ <partnerLink myRole="BrokerRequester" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
+ <partnerLink myRole="BrokerRequester" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ <partnerLink myRole="BrokerRequester" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
+ </partnerLinks>
+ <sequence>
+ <receive operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ <while>
+ <sequence>
+ <scope>
+ <sequence>
+ <invoke operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT"/>
+ <receive operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="BrokerSupplierQuoteEngineCallbackPT"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </while>
+ <reply operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ <if>
+ <sequence>
+ <scope>
+ <sequence>
+ <receive operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ <invoke operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
+ <if>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
+ <invoke operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT"/>
+ <receive operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="BrokerSupplierTxnProcessorCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+ </scope>
+ </sequence>
+ <else>
+ <sequence>
+ <receive operation="cancel" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel 2009-04-22 21:10:53 UTC (rev 592)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel 2009-04-22 22:18:00 UTC (rev 593)
@@ -1,51 +0,0 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
- <partnerLinks>
- <partnerLink myRole="BrokerService" name="BuyerToBroker" partnerLinkType="BuyerToBrokerServiceLT"/>
- <partnerLink myRole="BrokerRequester" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
- <partnerLink myRole="BrokerRequester" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
- <partnerLink myRole="BrokerRequester" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
- </partnerLinks>
- <sequence>
- <receive operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- <while>
- <sequence>
- <scope>
- <sequence>
- <invoke operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT"/>
- <receive operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="BrokerSupplierQuoteEngineCallbackPT"/>
- </sequence>
- </scope>
- </sequence>
- </while>
- <reply operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- <if>
- <sequence>
- <scope>
- <sequence>
- <receive operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- <invoke operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
- <if>
- <sequence>
- <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
- <invoke operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT"/>
- <receive operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="BrokerSupplierTxnProcessorCallbackPT"/>
- <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- </sequence>
- <else>
- <sequence>
- <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
- <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- </sequence>
- </else>
- </if>
- </sequence>
- </scope>
- </sequence>
- <else>
- <sequence>
- <receive operation="cancel" partnerLink="BuyerToBroker" portType="BrokerPT"/>
- </sequence>
- </else>
- </if>
- </sequence>
-</process>
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Store.bpel (from rev 584, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Store.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)Store.bpel 2009-04-22 22:18:00 UTC (rev 593)
@@ -0,0 +1,22 @@
+<process name="PurchaseGoodsProcess_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
+ <partnerLink name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ </partnerLinks>
+ <sequence>
+ <receive operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ <scope>
+ <faultHandlers>
+ <catch faultName="CreditCheckFailed">
+ <sequence>
+ <reply faultName="BuyFailed" operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </scope>
+ </sequence>
+</process>
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel 2009-04-22 21:10:53 UTC (rev 592)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel 2009-04-22 22:18:00 UTC (rev 593)
@@ -1,22 +0,0 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
- <partnerLinks>
- <partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
- <partnerLink myRole="StoreRequester" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
- </partnerLinks>
- <sequence>
- <receive operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
- <invoke operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
- <if>
- <sequence>
- <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
- <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
- </sequence>
- <else>
- <sequence>
- <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
- <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
- </sequence>
- </else>
- </if>
- </sequence>
-</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBroker.cdm
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBroker.cdm (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBroker.cdm 2009-04-22 22:18:00 UTC (rev 593)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="Cp1252"?>
+<org.pi4soa.cdl:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.pi4soa.cdl="http:///org/pi4soa/cdl.ecore" description="The choreography description for ESBBroker" name="ESBBroker" author="gary" version="0.2" targetNamespace="http://www.pi4soa.org/ESBBroker">
+ <typeDefinitions>
+ <nameSpaces description="Target Namespace for ESBBroker" prefix="tns" uRI="http://www.pi4soa.org/ESBBroker"/>
+ <nameSpaces description="XML Schema Namespace" prefix="xsd" uRI="http://www.w3.org/2001/XMLSchema"/>
+ <informationTypes description="This is the information type BookingReference" name="BookingReference" elementName="bookingReference"/>
+ <informationTypes description="This is the information type Buy" name="Buy" elementName="buy"/>
+ <informationTypes description="This is the information type Cancel" name="Cancel" elementName="cancel"/>
+ <informationTypes description="This is the information type CreditInformation" name="CreditInformation" elementName="CreditCheckRequest"/>
+ <informationTypes description="This is the information type CreditInvalid" name="CreditInvalid" elementName="CreditCheckInvalid"/>
+ <informationTypes description="This is the information type CreditValid" name="CreditValid" elementName="CreditCheckOk"/>
+ <informationTypes description="This is the information type Enquiry" name="Enquiry" typeName="" elementName="enquiry"/>
+ <informationTypes description="This is the information type OrderConfirmed" name="OrderConfirmed" elementName="orderConfirmed"/>
+ <informationTypes description="This is the information type OrderRejected" name="OrderRejected" elementName="orderRejected"/>
+ <informationTypes description="This is the information type Quote" name="Quote" elementName="quote"/>
+ <informationTypes description="This is the information type QuoteList" name="QuoteList" elementName="quoteList"/>
+ <informationTypes description="This is the information type RequestForQuote" name="RequestForQuote" elementName="requestForQuote"/>
+ <informationTypes description="This is the information type URIType" name="URIType"/>
+ <tokens description="This is the token URI" name="URI" informationType="//@typeDefinitions/(a)informationTypes.12"/>
+ <roleTypes description="This is the role type Broker" name="Broker">
+ <behaviors description="This is the behavior BrokerBehavior" name="BrokerBehavior"/>
+ </roleTypes>
+ <roleTypes description="This is the role type Buyer" name="Buyer">
+ <behaviors description="This is the behavior BuyerBehavior" name="BuyerBehavior"/>
+ </roleTypes>
+ <roleTypes description="This is the role type CreditAgency" name="CreditAgency">
+ <behaviors description="This is the behavior CreditAgencyBehavior" name="CreditAgencyBehavior"/>
+ </roleTypes>
+ <roleTypes description="This is the role type Supplier" name="Supplier">
+ <behaviors description="This is the behavior SupplierBehavior" name="SupplierBehavior"/>
+ </roleTypes>
+ <relationshipTypes description="Relationship between Broker and CreditAgency" name="BrokerToCreditAgencyRel" firstRoleType="//@typeDefinitions/(a)roleTypes.0" secondRoleType="//@typeDefinitions/(a)roleTypes.2"/>
+ <relationshipTypes description="Relationship between Broker and Supplier" name="BrokerToSupplierRel" firstRoleType="//@typeDefinitions/(a)roleTypes.0" secondRoleType="//@typeDefinitions/(a)roleTypes.3"/>
+ <relationshipTypes description="Relationship between Buyer and Broker" name="BuyerToBrokerRel" firstRoleType="//@typeDefinitions/(a)roleTypes.1" secondRoleType="//@typeDefinitions/(a)roleTypes.0"/>
+ <participantTypes description="This is the participant type Broker" name="Broker" roleTypes="//@typeDefinitions/(a)roleTypes.0">
+ <semanticAnnotations annotation="overlord.cdl.samples.LoanBroker@Broker" name="conversationType"/>
+ </participantTypes>
+ <participantTypes description="This is the participant type Buyer" name="Buyer" roleTypes="//@typeDefinitions/(a)roleTypes.1">
+ <semanticAnnotations annotation="overlord.cdl.samples.LoanBroker@Buyer" name="conversationType"/>
+ </participantTypes>
+ <participantTypes description="This is the participant type CreditAgency" name="CreditAgency" roleTypes="//@typeDefinitions/(a)roleTypes.2">
+ <semanticAnnotations annotation="overlord.cdl.samples.Common@CreditAgency" name="conversationType"/>
+ </participantTypes>
+ <participantTypes description="This is the participant type Supplier" name="Supplier" roleTypes="//@typeDefinitions/(a)roleTypes.3">
+ <semanticAnnotations annotation="" name="conversationType"/>
+ </participantTypes>
+ <channelTypes description="This is the channel type BrokerChannelType" name="BrokerChannelType" referenceToken="//@typeDefinitions/(a)tokens.0" roleType="//@typeDefinitions/(a)roleTypes.0"/>
+ <channelTypes description="This is the channel type CreditAgencyChannelType" name="CreditAgencyChannelType" referenceToken="//@typeDefinitions/(a)tokens.0" roleType="//@typeDefinitions/(a)roleTypes.2"/>
+ <channelTypes description="This is the channel type SupplierChannelType" name="SupplierChannelType" referenceToken="//@typeDefinitions/(a)tokens.0" roleType="//@typeDefinitions/(a)roleTypes.3"/>
+ </typeDefinitions>
+ <choreographies description="Choreography flow for the ESBBroker process" name="ESBBrokerProcess" root="true">
+ <enclosedChoreographies name="CompleteTransaction">
+ <participantDefinitions name="SupplierTxnProcessor" roleTypes="//@typeDefinitions/(a)roleTypes.3">
+ <semanticAnnotations annotation="overlord.cdl.samples.LoanBroker@SupplierTxnProcessor" name="conversationType"/>
+ </participantDefinitions>
+ <variableDefinitions description="Channel to facilitate interaction to Broker" name="BrokerChannel" type="//@typeDefinitions/(a)channelTypes.0" free="true" roleTypes="//@typeDefinitions/(a)roleTypes.0 //@typeDefinitions/(a)roleTypes.1"/>
+ <variableDefinitions description="Channel to facilitate interaction to CreditAgency" name="CreditAgencyChannel" type="//@typeDefinitions/(a)channelTypes.1"/>
+ <variableDefinitions description="Channel to facilitate interaction to Supplier" name="SupplierChannel" type="//@typeDefinitions/(a)channelTypes.2"/>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="Buy" operation="buy" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.2">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction Buy" name="BuyRequestExchange" type="//@typeDefinitions/(a)informationTypes.1"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CheckCredit" operation="checkCredit" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.1" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction CheckCredit" name="CheckCreditRequestExchange" type="//@typeDefinitions/(a)informationTypes.3"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Choice" description="Evaluate Credit Check Result">
+ <activities xsi:type="org.pi4soa.cdl:Sequence" description="Sufficient Credit">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CheckCreditResponse" operation="checkCredit" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.1" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction CheckCreditResponse" name="CheckCreditResponseRespondExchange" type="//@typeDefinitions/(a)informationTypes.5" action="Respond"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="ConfirmBooking" operation="confirm" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.2" relationship="//@typeDefinitions/(a)relationshipTypes.1" toParticipant="//@choreographies.0/@enclosedChoreographies.0/(a)participantDefinitions.0">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction ConfirmBooking" name="ConfirmBookingRequestExchange" type="//@typeDefinitions/(a)informationTypes.7"/>
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction ConfirmBooking" name="ConfirmBookingRequestExchange" type="//@typeDefinitions/(a)informationTypes.0" action="Respond"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="Buy" operation="buy" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.2">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction Buy" name="BuyRespondExchange" type="//@typeDefinitions/(a)informationTypes.0" action="Respond" faultName=""/>
+ </activities>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Sequence" description="Insufficient Credit">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CheckCreditFailed" operation="checkCredit" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.1" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction CheckCreditFailed" name="CheckCreditFailedRespondExchange" type="//@typeDefinitions/(a)informationTypes.4" action="Respond" faultName="invalidCredit"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="Buy" operation="buy" channelVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.2">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction Buy" name="BuyRespondExchange" type="//@typeDefinitions/(a)informationTypes.8" action="Respond" faultName="rejected"/>
+ </activities>
+ </activities>
+ </activities>
+ </enclosedChoreographies>
+ <enclosedChoreographies name="RequestForQuote">
+ <participantDefinitions name="SupplierQuoteEngine" roleTypes="//@typeDefinitions/(a)roleTypes.3">
+ <semanticAnnotations annotation="overlord.cdl.samples.LoanBroker@SupplierQuoteEngine" name="conversationType"/>
+ </participantDefinitions>
+ <variableDefinitions description="Channel to facilitate interaction to Supplier" name="SupplierChannel" type="//@typeDefinitions/(a)channelTypes.2"/>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="RFQ" operation="getQuote" channelVariable="//@choreographies.0/@enclosedChoreographies.1/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.1" toParticipant="//@choreographies.0/@enclosedChoreographies.1/(a)participantDefinitions.0">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction RFQ" name="RFQRequestExchange" type="//@typeDefinitions/(a)informationTypes.11"/>
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction RFQ" name="RFQRespondExchange" type="//@typeDefinitions/(a)informationTypes.9" action="Respond"/>
+ </activities>
+ </enclosedChoreographies>
+ <variableDefinitions description="Channel to facilitate interaction to Broker" name="BrokerChannel" type="//@typeDefinitions/(a)channelTypes.0" roleTypes="//@typeDefinitions/(a)roleTypes.0 //@typeDefinitions/(a)roleTypes.1"/>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="Enquiry" operation="makeEnquiry" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.2">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction Enquiry" name="EnquiryRequestExchange" type="//@typeDefinitions/(a)informationTypes.6"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:While" name="SendRFQToSuppliers">
+ <activities xsi:type="org.pi4soa.cdl:Perform" choreography="//@choreographies.0/(a)enclosedChoreographies.1"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:When" name="WhenQuotesReceivedOrTimeout">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="Enquiry" operation="makeEnquiry" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.2">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction Enquiry" name="EnquiryRespondExchange" type="//@typeDefinitions/(a)informationTypes.10" action="Respond"/>
+ </activities>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Choice">
+ <activities xsi:type="org.pi4soa.cdl:Sequence">
+ <activities xsi:type="org.pi4soa.cdl:Perform" choreography="//@choreographies.0/(a)enclosedChoreographies.0" waitForCompletion="false">
+ <bindDetails name="BindBrokerChannel" thisVariable="//@choreographies.0/(a)variableDefinitions.0" thisRole="//@typeDefinitions/(a)roleTypes.1" freeVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.0" freeRole="//@typeDefinitions/(a)roleTypes.1"/>
+ <bindDetails name="BindBrokerChannel" thisVariable="//@choreographies.0/(a)variableDefinitions.0" thisRole="//@typeDefinitions/(a)roleTypes.0" freeVariable="//@choreographies.0/@enclosedChoreographies.0/(a)variableDefinitions.0" freeRole="//@typeDefinitions/(a)roleTypes.0"/>
+ </activities>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Sequence">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="Cancel" operation="cancel" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.2">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction Cancel" name="CancelRequestExchange" type="//@typeDefinitions/(a)informationTypes.2"/>
+ </activities>
+ </activities>
+ </activities>
+ </choreographies>
+</org.pi4soa.cdl:Package>
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv 2009-04-22 21:10:53 UTC (rev 592)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv 2009-04-22 22:18:00 UTC (rev 593)
@@ -1,46 +0,0 @@
-namespace org.pi4soa.esbbroker.esbbroker;
-
-conversation ESBBrokerProcess@Broker conforms to LoanBroker@Broker {
- role SupplierTxnProcessor, SupplierQuoteEngine, Buyer, CreditAgency;
-
- makeEnquiry(enquiry) from Buyer request "makeEnquiry";
-
- while @ Broker {
- run RequestForQuote@Broker;
- }
-
- when @ Broker {
- makeEnquiry(quoteList) to Buyer replyTo "makeEnquiry";
- }
-
- if @ Buyer {
- run CompleteTransaction@Broker;
- } else if {
- cancel(cancel) from Buyer;
- }
-
- conversation CompleteTransaction@Broker {
- role SupplierTxnProcessor, Buyer, CreditAgency;
-
- buy(buy) from Buyer request "buy";
-
- checkCredit(CreditCheckRequest) to CreditAgency request "checkCredit";
-
- if @ CreditAgency {
- checkCredit(CreditCheckOk) from CreditAgency replyTo "checkCredit";
- confirm(orderConfirmed) to SupplierTxnProcessor request "confirm";
- confirm(bookingReference) from SupplierTxnProcessor replyTo "confirm";
- buy(bookingReference) to Buyer replyTo "buy";
- } else if {
- checkCredit(CreditCheckInvalid) from CreditAgency replyTo "checkCredit";
- buy(orderRejected) to Buyer replyTo "buy";
- }
- }
-
- conversation RequestForQuote@Broker {
- role SupplierQuoteEngine;
-
- getQuote(requestForQuote) to SupplierQuoteEngine request "getQuote";
- getQuote(quote) from SupplierQuoteEngine replyTo "getQuote";
- }
-}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoods.cdm
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoods.cdm (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoods.cdm 2009-04-22 22:18:00 UTC (rev 593)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="Cp1252"?>
+<org.pi4soa.cdl:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.pi4soa.cdl="http:///org/pi4soa/cdl.ecore" description="The choreography description for PurchaseGoods" name="PurchaseGoods" author="gary" version="0.1" targetNamespace="http://www.pi4soa.org/purchase">
+ <typeDefinitions>
+ <nameSpaces description="Target Namespace for PurchaseGoods" prefix="tns" uRI="http://www.pi4soa.org/purchase"/>
+ <nameSpaces description="XML Schema Namespace" prefix="xsd" uRI="http://www.w3.org/2001/XMLSchema"/>
+ <nameSpaces prefix="pur" uRI="java:com.acme.purchasing"/>
+ <informationTypes description="This is the information type BuyConfirmed" name="BuyConfirmed" elementName="BuyConfirmed"/>
+ <informationTypes description="This is the information type BuyFailed" name="BuyFailed" elementName="BuyFailed"/>
+ <informationTypes description="This is the information type BuyRequest" name="BuyRequest" typeName="" elementName="BuyRequest"/>
+ <informationTypes description="This is the information type CreditCheckInvalid" name="CreditCheckInvalid" elementName="CreditCheckInvalid"/>
+ <informationTypes description="This is the information type CreditCheckOk" name="CreditCheckOk" elementName="CreditCheckOk"/>
+ <informationTypes description="This is the information type CreditCheckRequest" name="CreditCheckRequest" elementName="CreditCheckRequest"/>
+ <informationTypes description="This is the information type IDType" name="IDType" typeName="xsd:string"/>
+ <informationTypes description="This is the information type URITokenType" name="URITokenType" typeName="xsd:anyURI"/>
+ <tokens description="This is the token ID" name="ID" informationType="//@typeDefinitions/(a)informationTypes.6"/>
+ <tokens description="This is the token URIToken" name="URIToken" informationType="//@typeDefinitions/(a)informationTypes.7"/>
+ <tokenLocators description="This is the token locator BuyFailedIDLocator" token="//@typeDefinitions/(a)tokens.0" informationType="//@typeDefinitions/(a)informationTypes.1" query="//@id" name="BuyFailedIDLocator"/>
+ <tokenLocators description="This is the token locator BuyRequestIDLocator" token="//@typeDefinitions/(a)tokens.0" informationType="//@typeDefinitions/(a)informationTypes.2" query="//@id" name="BuyRequestIDLocator"/>
+ <tokenLocators description="This is the token locator BuyResponseIDLocator" token="//@typeDefinitions/(a)tokens.0" informationType="//@typeDefinitions/(a)informationTypes.0" query="//@id" name="BuyResponseIDLocator"/>
+ <tokenLocators description="This is the token locator CreditCheckInvalidIDLocator" token="//@typeDefinitions/(a)tokens.0" informationType="//@typeDefinitions/(a)informationTypes.3" query="//@id" name="CreditCheckInvalidIDLocator"/>
+ <tokenLocators description="This is the token locator CreditCheckRequestIDLocator" token="//@typeDefinitions/(a)tokens.0" informationType="//@typeDefinitions/(a)informationTypes.5" query="//@id" name="CreditCheckRequestIDLocator"/>
+ <tokenLocators description="This is the token locator CreditCheckResponseIDLocator" token="//@typeDefinitions/(a)tokens.0" informationType="//@typeDefinitions/(a)informationTypes.4" query="//@id" name="CreditCheckResponseIDLocator"/>
+ <roleTypes description="This is the role type Buyer" name="Buyer">
+ <behaviors description="This is the behavior BuyerBehavior" name="BuyerBehavior"/>
+ </roleTypes>
+ <roleTypes description="This is the role type CreditAgency" name="CreditAgency">
+ <behaviors description="This is the behavior CreditAgencyBehavior" name="CreditAgencyBehavior"/>
+ </roleTypes>
+ <roleTypes description="This is the role type Store" name="Store">
+ <behaviors description="This is the behavior StoreBehavior" name="StoreBehavior"/>
+ </roleTypes>
+ <relationshipTypes description="Relationship between Buyer and Store" name="BuyerToStoreRel" firstRoleType="//@typeDefinitions/(a)roleTypes.0" secondRoleType="//@typeDefinitions/(a)roleTypes.2"/>
+ <relationshipTypes description="Relationship between Store and CreditAgency" name="StoreToCreditAgencyRel" firstRoleType="//@typeDefinitions/(a)roleTypes.2" secondRoleType="//@typeDefinitions/(a)roleTypes.1"/>
+ <participantTypes description="This is the participant type Buyer" name="Buyer" roleTypes="//@typeDefinitions/(a)roleTypes.0">
+ <semanticAnnotations annotation="overlord.cdl.samples.Purchasing@Buyer" name="conversationType"/>
+ </participantTypes>
+ <participantTypes description="This is the participant type CreditAgency" name="CreditAgency" roleTypes="//@typeDefinitions/(a)roleTypes.1">
+ <semanticAnnotations annotation="overlord.cdl.samples.Common@CreditAgency" name="conversationType"/>
+ </participantTypes>
+ <participantTypes description="This is the participant type Store" name="Store" roleTypes="//@typeDefinitions/(a)roleTypes.2">
+ <semanticAnnotations annotation="overlord.cdl.samples.Purchasing@Store" name="conversationType"/>
+ </participantTypes>
+ <channelTypes description="This is the channel type CreditAgencyChannelType" name="CreditAgencyChannelType" referenceToken="//@typeDefinitions/(a)tokens.1" roleType="//@typeDefinitions/(a)roleTypes.1">
+ <identities description="ID" tokens="//@typeDefinitions/(a)tokens.0"/>
+ </channelTypes>
+ <channelTypes description="This is the channel type StoreChannelType" name="StoreChannelType" referenceToken="//@typeDefinitions/(a)tokens.1" roleType="//@typeDefinitions/(a)roleTypes.2">
+ <identities description="ID" tokens="//@typeDefinitions/(a)tokens.0"/>
+ </channelTypes>
+ </typeDefinitions>
+ <choreographies description="Choreography flow for the PurchaseGoods process" name="PurchaseGoodsProcess" root="true">
+ <variableDefinitions description="Channel to facilitate interaction to CreditAgency" name="CreditAgencyChannel" type="//@typeDefinitions/(a)channelTypes.0"/>
+ <variableDefinitions description="Channel to facilitate interaction to Supplier" name="SupplierChannel" type="//@typeDefinitions/(a)channelTypes.1"/>
+ <variableDefinitions description="This is the variable buy" name="buy" type="//@typeDefinitions/(a)informationTypes.2"/>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="BuyRequest" operation="buy" channelVariable="//@choreographies.0/(a)variableDefinitions.1" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction BuyRequest" name="BuyRequestRequestExchange" type="//@typeDefinitions/(a)informationTypes.2"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CreditCheck" operation="checkCredit" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.1">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction CreditCheck" name="CreditCheckRequestExchange" type="//@typeDefinitions/(a)informationTypes.5"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Choice" description="Is credit ok?">
+ <activities xsi:type="org.pi4soa.cdl:Sequence" description="Credit Valid">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CreditCheckOk" operation="checkCredit" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.1">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction CreditCheckOk" name="CreditCheckOkRespondExchange" type="//@typeDefinitions/(a)informationTypes.4" action="Respond"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="BuyConfirmed" operation="buy" channelVariable="//@choreographies.0/(a)variableDefinitions.1" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction BuyConfirmed" name="BuyConfirmedRespondExchange" type="//@typeDefinitions/(a)informationTypes.0" action="Respond"/>
+ </activities>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Sequence" description="Credit Invalid">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CreditCheckFailed" operation="checkCredit" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.1">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction CreditCheckFailed" name="CreditCheckFailedRespondExchange" type="//@typeDefinitions/(a)informationTypes.3" action="Respond" faultName="CreditCheckFailed"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="BuyFailed" operation="buy" channelVariable="//@choreographies.0/(a)variableDefinitions.1" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction BuyFailed" name="BuyFailedRespondExchange" type="//@typeDefinitions/(a)informationTypes.1" action="Respond" faultName="BuyFailed"/>
+ </activities>
+ </activities>
+ </activities>
+ </choreographies>
+</org.pi4soa.cdl:Package>
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv 2009-04-22 21:10:53 UTC (rev 592)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv 2009-04-22 22:18:00 UTC (rev 593)
@@ -1,16 +0,0 @@
-namespace org.pi4soa.purchase.purchasegoods;
-
-conversation PurchaseGoodsProcess@Store {
- role Buyer, Store, CreditAgency;
- BuyRequest buy;
-
- buy(BuyRequest) from Buyer to Store request "buy";
- checkCredit(CreditCheckRequest) from Store to CreditAgency request "checkCredit";
- if @ CreditAgency {
- checkCredit(CreditCheckOk) from CreditAgency to Store replyTo "checkCredit";
- buy(BuyConfirmed) from Store to Buyer replyTo "buy";
- } else if {
- checkCredit(CreditCheckInvalid) from CreditAgency to Store replyTo "checkCredit";
- buy(BuyFailed) from Store to Buyer replyTo "buy";
- }
-}
\ No newline at end of file
17 years, 3 months
Overlord SVN: r592 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/model/component and 2 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-22 17:10:53 -0400 (Wed, 22 Apr 2009)
New Revision: 592
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv
Log:
Updated to generate partnerlink/porttype etc for the onMessage - and also process name attribute.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-04-22 21:10:53 UTC (rev 592)
@@ -94,6 +94,10 @@
// Check if root conversation
if (conv.getParent() instanceof Model) {
+ // Set the name of the process
+ bpelModel.getBPELProcess().setName(conv.getModelName().getName()+"_"+
+ conv.getModelName().getLocatedRole().getName());
+
// Add sequence to model
bpelModel.getBPELProcess().setActivity(seq);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-04-22 21:10:53 UTC (rev 592)
@@ -143,6 +143,13 @@
((Sequence)context.getParent()).addActivity(act, -1);
}
+ Role role=null;
+
+ if (elem.getEnclosingDefinition() != null) {
+ role = elem.getEnclosingDefinition().
+ getModelName().getLocatedRole();
+ }
+
for (int i=0; i < paths.size(); i++) {
Block path=paths.get(i);
@@ -161,11 +168,40 @@
context.setParent(parent);
+ Interaction recv=(Interaction)acts.get(0);
+
OnMessage onm=new OnMessage(bpelModel);
onm.setActivity(seq);
- Interaction recv=(Interaction)acts.get(0);
+ PartnerLink pl=new PartnerLink(bpelModel);
+ pl.setMyRole(role.getName()+"Requester");
+ pl.setPartnerRole(recv.getFromRole().getName()+"Service");
+ pl.setName(role.getName()+"To"+recv.getFromRole().getName());
+ pl.setPartnerLinkType(role.getName()+"To"+recv.getFromRole().getName()+"Requester"+"LT");
+
+ String portType = role.getName()+
+ recv.getFromRole().getName()+"CallbackPT";
+
+ PartnerLink other=
+ bpelModel.getBPELProcess().getPartnerLink(pl.getName());
+
+ if (other == null) {
+ bpelModel.getBPELProcess().addPartnerLink(pl, -1);
+ } else {
+ if (other.getPartnerRole() == null &&
+ pl.getPartnerRole() != null) {
+ other.setPartnerRole(pl.getPartnerRole());
+ }
+ if (other.getMyRole() == null &&
+ pl.getMyRole() != null) {
+ other.setMyRole(pl.getMyRole());
+ }
+ }
+
+ onm.setPartnerLink(pl.getName());
+ onm.setPortType(portType);
+
MessageSignature ms=recv.getMessageSignature();
if (ms.getOperation() != null) {
onm.setOperation(ms.getOperation());
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-04-22 21:10:53 UTC (rev 592)
@@ -33,6 +33,7 @@
private static final long serialVersionUID = 3400962966628415184L;
public static final String PROCESS = "process";
+ public static final String NAME = "name";
/**
* The constructor for the activity.
@@ -205,6 +206,25 @@
}
/**
+ * This method sets the name.
+ *
+ * @param name The name
+ */
+ public void setName(String name) {
+ getDOMElement().setAttribute(NAME, name);
+ }
+
+ /**
+ * This method returns the name.
+ *
+ * @return The name
+ */
+ public String getName() {
+ return(getDOMElement().hasAttribute(NAME)?
+ getDOMElement().getAttribute(NAME):null);
+ }
+
+ /**
* This method adds a variable to the scope.
*
* @param var The variable to be added
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel 2009-04-22 21:10:53 UTC (rev 592)
@@ -1,22 +1,22 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process name="EventHandler_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
<partnerLink myRole="StoreRequester" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
</partnerLinks>
<sequence>
<receive operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
- <invoke operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
- <if>
- <sequence>
- <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
- <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
- </sequence>
- <else>
+ <invoke operation="creditCheck" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ <pick>
+ <onMessage operation="checkCreditOk" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT">
<sequence>
- <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
<reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
</sequence>
- </else>
- </if>
+ </onMessage>
+ <onMessage operation="checkCreditInvalid" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT">
+ <sequence>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </onMessage>
+ </pick>
</sequence>
</process>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel 2009-04-22 21:10:53 UTC (rev 592)
@@ -1,22 +1,16 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process name="ReqRespFaultProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
- <partnerLink myRole="BuyerRequester" name="BuyerToSeller" partnerLinkType="BuyerToSellerLT" partnerRole="SellerRequester"/>
+ <partnerLink name="BuyerToSeller" partnerLinkType="BuyerToSellerLT" partnerRole="SellerRequester"/>
</partnerLinks>
<sequence>
<scope>
- <faultHandlers/>
+ <faultHandlers>
+ <catch faultName="insufficientCredit">
+ <sequence/>
+ </catch>
+ </faultHandlers>
<sequence>
<invoke operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
- <if>
- <sequence>
- <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
- </sequence>
- <else>
- <sequence>
- <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
- </sequence>
- </else>
- </if>
</sequence>
</scope>
</sequence>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel 2009-04-22 21:10:53 UTC (rev 592)
@@ -1,4 +1,4 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process name="ReqRespFaultProcess_Seller" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="SellerService" name="BuyerToSeller" partnerLinkType="BuyerToSellerServiceLT"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv 2009-04-21 21:57:34 UTC (rev 591)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv 2009-04-22 21:10:53 UTC (rev 592)
@@ -1,11 +1,19 @@
namespace org.examples;
conversation EventHandler@Store {
- role CreditAgency;
+ role Buyer, CreditAgency;
+ buy(BuyInfo) from Buyer to Store request "buy";
+
+ creditCheck(CreditInformation) from Store to CreditAgency;
+
+ // No request/replyTo, so will be treated as invocations on a callback interface
+
if @ CreditAgency {
- checkCredit(CreditCheckOk) from CreditAgency to Store;
+ checkCreditOk(CreditCheckOk) from CreditAgency to Store;
+ buy(Confirmed) from Store to Buyer replyTo "buy";
} else if {
- checkCredit(CreditCheckInvalid) from CreditAgency to Store;
+ checkCreditInvalid(CreditCheckInvalid) from CreditAgency to Store;
+ buy(Rejected) from Store to Buyer replyTo "buy";
}
}
\ No newline at end of file
17 years, 3 months
Overlord SVN: r591 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: plugintest/org/jboss/tools/overlord/cdl/bpel/generator and 2 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-21 17:57:34 -0400 (Tue, 21 Apr 2009)
New Revision: 591
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel
Log:
Supporting different types of interaction constructs - scope with fault handlers, and pick/onMessage. Need to refactor some big methods and produce unit tests.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-20 23:13:30 UTC (rev 590)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-21 21:57:34 UTC (rev 591)
@@ -151,12 +151,11 @@
portType = role.getName()+"PT";
- if (interaction.getMessageSignature().getAnnotations().keySet().contains("faultName")) {
- ((Reply)act).setFaultName((String)interaction.
- getMessageSignature().getAnnotations().get("faultName"));
+ if (InteractionPatterns.isFaultResponse(interaction)) {
+ ((Reply)act).setFaultName(InteractionPatterns.getFaultName(interaction));
}
}
- } else {
+ } else if (InteractionPatterns.isResponseInFaultHandler(interaction) == false) {
act = new Receive(bpelModel);
if (InteractionUtil.isRequest(interaction)) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-04-20 23:13:30 UTC (rev 590)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-04-21 21:57:34 UTC (rev 591)
@@ -86,44 +86,133 @@
DefaultBPELLanguageModel bpelModel=(DefaultBPELLanguageModel)model;
org.scribble.conversation.model.If elem=
(org.scribble.conversation.model.If)mobj;
+ java.util.List<Block> paths=elem.getPaths();
- If act=new If(bpelModel);
-
- if (context.getParent() instanceof Sequence) {
- ((Sequence)context.getParent()).addActivity(act, -1);
- }
-
- for (int i=0; i < elem.getPaths().size(); i++) {
- Block path=elem.getPaths().get(i);
+ // Check if the 'If' construct is to handle responses
+ // to a preceding request being sent
+ if (InteractionPatterns.isResponseAndFaultHandler(elem)) {
- Sequence seq=new Sequence(bpelModel);
-
- // Process the activities within the conversation
- java.util.List<Activity> acts=path.getContents();
+ if (context.getParent() instanceof Sequence) {
+ // Find fault handler
+ Sequence seq=(Sequence)context.getParent();
+ Scope scope=new Scope(bpelModel,
+ (org.w3c.dom.Element)seq.getDOMElement().getParentNode());
+ FaultHandlers fh=scope.getFaultHandlers();
+
+ for (int i=0; i < paths.size(); i++) {
+ Block path=paths.get(i);
+
+ if (path.getContents().size() > 0) {
+ Activity act=path.getContents().get(0);
+ Sequence subseq=null;
- Object parent=context.getParent();
+ if (act instanceof Interaction &&
+ InteractionPatterns.isFaultResponse(
+ (Interaction)act)) {
+ String faultName=InteractionPatterns.getFaultName((Interaction)act);
+
+ Catch c=new Catch(bpelModel);
+ c.setFaultName(faultName);
+
+ fh.addCatch(c);
+
+ subseq = new Sequence(bpelModel);
+ c.setActivity(subseq);
+ } else {
+ subseq = seq;
+ }
+
+ Object parent=context.getParent();
+
+ context.setParent(seq);
+
+ for (int j=1; j < path.getContents().size(); j++) {
+ context.insert(model, path.getContents().get(j), null);
+ }
+
+ context.setParent(parent);
+ }
+ }
+ } else {
+ // TODO: Error handling
+ }
+ } else if (InteractionPatterns.isSwitch(elem)) {
+ Pick act=new Pick(bpelModel);
- context.setParent(seq);
+ if (context.getParent() instanceof Sequence) {
+ ((Sequence)context.getParent()).addActivity(act, -1);
+ }
- for (int j=0; j < acts.size(); j++) {
- context.insert(model, acts.get(j), null);
+ for (int i=0; i < paths.size(); i++) {
+ Block path=paths.get(i);
+
+ Sequence seq=new Sequence(bpelModel);
+
+ // Process the activities within the conversation
+ java.util.List<Activity> acts=path.getContents();
+
+ Object parent=context.getParent();
+
+ context.setParent(seq);
+
+ for (int j=1; j < acts.size(); j++) {
+ context.insert(model, acts.get(j), null);
+ }
+
+ context.setParent(parent);
+
+ OnMessage onm=new OnMessage(bpelModel);
+ onm.setActivity(seq);
+
+ Interaction recv=(Interaction)acts.get(0);
+
+ MessageSignature ms=recv.getMessageSignature();
+ if (ms.getOperation() != null) {
+ onm.setOperation(ms.getOperation());
+ }
+
+ act.addOnMessage(onm, -1);
}
- context.setParent(parent);
-
- if (i == 0) {
- act.setActivity(seq);
- } else if (i == elem.getPaths().size()-1) {
- Else construct=new Else(bpelModel);
- construct.setActivity(seq);
+ } else {
+ If act=new If(bpelModel);
+
+ if (context.getParent() instanceof Sequence) {
+ ((Sequence)context.getParent()).addActivity(act, -1);
+ }
+
+ for (int i=0; i < paths.size(); i++) {
+ Block path=paths.get(i);
- act.setElsePath(construct);
- } else {
- Elseif construct=new Elseif(bpelModel);
+ Sequence seq=new Sequence(bpelModel);
- construct.setActivity(seq);
+ // Process the activities within the conversation
+ java.util.List<Activity> acts=path.getContents();
+
+ Object parent=context.getParent();
- act.addElseIfPath(construct);
+ context.setParent(seq);
+
+ for (int j=0; j < acts.size(); j++) {
+ context.insert(model, acts.get(j), null);
+ }
+
+ context.setParent(parent);
+
+ if (i == 0) {
+ act.setActivity(seq);
+ } else if (i == elem.getPaths().size()-1) {
+ Else construct=new Else(bpelModel);
+ construct.setActivity(seq);
+
+ act.setElsePath(construct);
+ } else {
+ Elseif construct=new Elseif(bpelModel);
+
+ construct.setActivity(seq);
+
+ act.addElseIfPath(construct);
+ }
}
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java 2009-04-20 23:13:30 UTC (rev 590)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java 2009-04-21 21:57:34 UTC (rev 591)
@@ -18,7 +18,8 @@
package org.jboss.tools.overlord.cdl.bpel.model.change;
import org.jboss.tools.overlord.cdl.bpel.model.util.InteractionUtil;
-import org.scribble.model.Interaction;
+import org.scribble.model.*;
+import org.scribble.conversation.model.*;
/**
* This class provides utility functions for detecting
@@ -26,6 +27,8 @@
*/
public class InteractionPatterns {
+ private static final String FAULT_NAME = "faultName";
+
/**
* This method checks whether the supplied interaction
* is a request that requires a scope with associated
@@ -41,7 +44,8 @@
// Check if interaction is an invoke, and followed
// by a choice representing a normal and multiple
// fault responses
- if (InteractionUtil.isRequest(interaction)) {
+ if (InteractionUtil.isRequest(interaction) &&
+ interaction.getRequestLabel() != null) {
if (interaction.getParent() instanceof
org.scribble.model.Block) {
@@ -92,4 +96,144 @@
// place itself and subsequent activities in a fault handler.
// Methods need to return (and set) the relevant sequence
// to use for subsequent activities.
+
+ public static boolean isResponseAndFaultHandler(If choice) {
+ boolean ret=false;
+
+ // Obtain interaction prior to 'If'
+ if (choice.getPaths().size() > 0 &&
+ choice.getParent() instanceof
+ org.scribble.model.Block) {
+ org.scribble.model.Block block=
+ (org.scribble.model.Block)choice.getParent();
+
+ int pos=block.getContents().indexOf(choice);
+
+ if (pos != -1 && pos > 0) {
+ org.scribble.model.Activity act=
+ block.getContents().get(pos-1);
+
+ if (act instanceof Interaction &&
+ InteractionUtil.isSend((Interaction)act) &&
+ InteractionUtil.isRequest((Interaction)act) &&
+ ((Interaction)act).getRequestLabel() != null) {
+
+ // Check if each path has a response/fault associated
+ // with the preceding request
+ String requestLabel=
+ ((Interaction)act).getRequestLabel();
+
+ java.util.List<Block> paths=choice.getPaths();
+ int matched=0;
+
+ for (int i=0; i < paths.size(); i++) {
+ if (paths.get(i).getContents().size() > 0) {
+ org.scribble.model.Activity sub=
+ paths.get(i).getContents().get(0);
+
+ if (sub instanceof Interaction &&
+ InteractionUtil.isRequest((Interaction)sub) == false &&
+ ((Interaction)sub).getReplyToLabel() != null &&
+ ((Interaction)sub).getReplyToLabel().equals(requestLabel)) {
+ matched++;
+ }
+ }
+ }
+
+ if (matched == paths.size()) {
+ ret = true;
+ }
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ public static boolean isSwitch(If choice) {
+ boolean ret=false;
+
+ if (choice.getPaths().size() > 0) {
+ java.util.List<Block> paths=choice.getPaths();
+ int matched=0;
+
+ for (int i=0; i < paths.size(); i++) {
+ if (paths.get(i).getContents().size() > 0) {
+ org.scribble.model.Activity sub=
+ paths.get(i).getContents().get(0);
+
+ if (sub instanceof Interaction &&
+ InteractionUtil.isSend((Interaction)sub) == false) {
+ matched++;
+ }
+ }
+ }
+
+ if (matched == paths.size()) {
+ ret = true;
+ }
+ }
+
+ return(ret);
+ }
+
+ public static Interaction getRequestForResponseInFaultHandler(Interaction interaction) {
+ Interaction ret=null;
+
+ if (InteractionUtil.isRequest(interaction) == false &&
+ interaction.getReplyToLabel() != null) {
+
+ // Find if contained in 'if' path
+ if (interaction.getParent() instanceof Block &&
+ interaction.getParent().getParent() instanceof If) {
+
+ If choice=(If)interaction.getParent().getParent();
+
+ // Obtain interaction prior to 'If'
+ if (choice.getParent() instanceof
+ org.scribble.model.Block) {
+ org.scribble.model.Block block=
+ (org.scribble.model.Block)choice.getParent();
+
+ int pos=block.getContents().indexOf(choice);
+
+ if (pos != -1 && pos > 0) {
+ org.scribble.model.Activity act=
+ block.getContents().get(pos-1);
+
+ if (act instanceof Interaction &&
+ InteractionUtil.isRequest((Interaction)act) &&
+ ((Interaction)act).getRequestLabel() != null &&
+ interaction.getReplyToLabel().equals(
+ ((Interaction)act).getRequestLabel())) {
+ ret = (Interaction)act;
+ }
+ }
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ public static boolean isResponseInFaultHandler(Interaction interaction) {
+ return(getRequestForResponseInFaultHandler(interaction) != null);
+ }
+
+ public static boolean isFaultResponse(Interaction interaction) {
+ boolean ret=false;
+
+ if (InteractionUtil.isRequest(interaction) == false &&
+ interaction.getMessageSignature().getAnnotations().
+ keySet().contains(FAULT_NAME)) {
+ ret = true;
+ }
+
+ return(ret);
+ }
+
+ public static String getFaultName(Interaction interaction) {
+ return((String)interaction.
+ getMessageSignature().getAnnotations().get(FAULT_NAME));
+ }
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-20 23:13:30 UTC (rev 590)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-21 21:57:34 UTC (rev 591)
@@ -36,6 +36,7 @@
TestSuite suite = new TestSuite("Conversation->BPEL Generator Tests");
suite.addTest(new ConversationToBPELTest("ESBBrokerProcess@Broker"));
suite.addTest(new ConversationToBPELTest("PurchaseGoodsProcess@Store"));
+ suite.addTest(new ConversationToBPELTest("EventHandler@Store"));
suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Buyer"));
suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Seller"));
return suite;
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel 2009-04-21 21:57:34 UTC (rev 591)
@@ -0,0 +1,22 @@
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
+ <partnerLink myRole="StoreRequester" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ </partnerLinks>
+ <sequence>
+ <receive operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ <invoke operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ <if>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel 2009-04-20 23:13:30 UTC (rev 590)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel 2009-04-21 21:57:34 UTC (rev 591)
@@ -3,16 +3,21 @@
<partnerLink myRole="BuyerRequester" name="BuyerToSeller" partnerLinkType="BuyerToSellerLT" partnerRole="SellerRequester"/>
</partnerLinks>
<sequence>
- <invoke operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
- <if>
+ <scope>
+ <faultHandlers/>
<sequence>
- <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
+ <invoke operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
+ <if>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
+ </sequence>
+ </else>
+ </if>
</sequence>
- <else>
- <sequence>
- <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
- </sequence>
- </else>
- </if>
+ </scope>
</sequence>
</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/EventHandler(a)Store.scv 2009-04-21 21:57:34 UTC (rev 591)
@@ -0,0 +1,11 @@
+namespace org.examples;
+
+conversation EventHandler@Store {
+ role CreditAgency;
+
+ if @ CreditAgency {
+ checkCredit(CreditCheckOk) from CreditAgency to Store;
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Store;
+ }
+}
\ No newline at end of file
17 years, 3 months
Overlord SVN: r590 - cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-20 19:13:30 -0400 (Mon, 20 Apr 2009)
New Revision: 590
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
Log:
Initial checks for the scoped invoke and fault handler for fault responses.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-20 22:08:19 UTC (rev 589)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-20 23:13:30 UTC (rev 590)
@@ -107,6 +107,25 @@
// establishing message type
if (InteractionUtil.isRequest(interaction)) {
+
+ if (InteractionPatterns.isFaultHandlerRequired(interaction)) {
+
+ Scope scope=new Scope(bpelModel);
+
+ if (context.getParent() instanceof Sequence) {
+ ((Sequence)context.getParent()).addActivity(scope, -1);
+ }
+
+ FaultHandlers fhs=new FaultHandlers(bpelModel);
+
+ Sequence seq=new Sequence(bpelModel);
+
+ scope.setActivity(seq);
+ scope.setFaultHandlers(fhs);
+
+ context.setParent(scope.getActivity());
+ }
+
act = new Invoke(bpelModel);
//pl.setMyRole(role.getName());
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/InteractionPatterns.java 2009-04-20 23:13:30 UTC (rev 590)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.change;
+
+import org.jboss.tools.overlord.cdl.bpel.model.util.InteractionUtil;
+import org.scribble.model.Interaction;
+
+/**
+ * This class provides utility functions for detecting
+ * patterns related to interactions.
+ */
+public class InteractionPatterns {
+
+ /**
+ * This method checks whether the supplied interaction
+ * is a request that requires a scope with associated
+ * fault handlers.
+ *
+ * @param interaction The interaction
+ * @return Whether the interaction is a request requiring
+ * an outer fault handler
+ */
+ public static boolean isFaultHandlerRequired(org.scribble.model.Interaction interaction) {
+ boolean ret=false;
+
+ // Check if interaction is an invoke, and followed
+ // by a choice representing a normal and multiple
+ // fault responses
+ if (InteractionUtil.isRequest(interaction)) {
+
+ if (interaction.getParent() instanceof
+ org.scribble.model.Block) {
+ org.scribble.model.Block block=
+ (org.scribble.model.Block)interaction.getParent();
+
+ int pos=block.getContents().indexOf(interaction);
+
+ if (pos != -1 && pos < block.getContents().size()-1) {
+ org.scribble.model.Activity act=
+ block.getContents().get(pos+1);
+
+ if (act instanceof org.scribble.conversation.model.If) {
+
+ // Need to check if each path receives a
+ // response (normal and fault)
+ org.scribble.conversation.model.If choice=
+ (org.scribble.conversation.model.If)act;
+
+ if (choice.getPaths().size() > 0) {
+ ret = true;
+ }
+
+ for (int i=0; ret &&
+ i < choice.getPaths().size(); i++) {
+
+ org.scribble.model.Block path=
+ choice.getPaths().get(i);
+
+ if (path.getContents().size() == 0 ||
+ (path.getContents().get(0) instanceof Interaction) == false ||
+ InteractionUtil.isRequest((Interaction)
+ path.getContents().get(0))) {
+ ret = false;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ // TODO: Method to detect if normal response, which needs
+ // to enhance the invoke (and subsequent activities following
+ // the invoke), or a fault response needing to
+ // place itself and subsequent activities in a fault handler.
+ // Methods need to return (and set) the relevant sequence
+ // to use for subsequent activities.
+}
17 years, 3 months
Overlord SVN: r589 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel: src/java/org/jboss/tools/overlord/cdl/bpel/model/change and 3 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-20 18:08:19 -0400 (Mon, 20 Apr 2009)
New Revision: 589
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ReqRespFault.cdm
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
Log:
Generate fault name in reply - and support plugin tests based on a cdm file.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF 2009-04-14 10:33:27 UTC (rev 588)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF 2009-04-20 22:08:19 UTC (rev 589)
@@ -14,7 +14,8 @@
org.eclipse.jdt.core,
org.junit,
org.scribble.conversation.parser,
- org.apache.log4j;bundle-version="1.2.13"
+ org.apache.log4j;bundle-version="1.2.13",
+ org.pi4soa.scribble;resolution:=optional
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: www.jboss.org
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-14 10:33:27 UTC (rev 588)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-20 22:08:19 UTC (rev 589)
@@ -131,6 +131,11 @@
pl.setPartnerLinkType(interaction.getToRole().getName()+"To"+role.getName()+"Service"+"LT");
portType = role.getName()+"PT";
+
+ if (interaction.getMessageSignature().getAnnotations().keySet().contains("faultName")) {
+ ((Reply)act).setFaultName((String)interaction.
+ getMessageSignature().getAnnotations().get("faultName"));
+ }
}
} else {
act = new Receive(bpelModel);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-14 10:33:27 UTC (rev 588)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-20 22:08:19 UTC (rev 589)
@@ -25,6 +25,7 @@
import org.jboss.tools.overlord.cdl.bpel.model.DefaultBPELLanguageModel;
import org.jboss.tools.overlord.cdl.bpel.util.XMLUtils;
import org.scribble.conversation.model.ConversationNotation;
+import org.pi4soa.scribble.cdm.model.CDMNotation;
import org.scribble.extensions.RegistryFactory;
import org.scribble.model.ModelReference;
import org.scribble.model.change.ModelGenerator;
@@ -35,6 +36,8 @@
TestSuite suite = new TestSuite("Conversation->BPEL Generator Tests");
suite.addTest(new ConversationToBPELTest("ESBBrokerProcess@Broker"));
suite.addTest(new ConversationToBPELTest("PurchaseGoodsProcess@Store"));
+ suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Buyer"));
+ suite.addTest(new ChoreographyToBPELTest("ReqRespFault", "Seller"));
return suite;
}
@@ -165,4 +168,143 @@
private String m_name=null;
}
+ /**
+ * The test case for running the choreography to BPEL test.
+ */
+ protected static class ChoreographyToBPELTest extends TestCase {
+
+ /**
+ * This constructor is initialized with the test
+ * name.
+ *
+ * @param name The test name
+ * @param role The role
+ */
+ public ChoreographyToBPELTest(String name, String role) {
+ super(name+"@"+role);
+ m_name = name;
+ m_role = role;
+ }
+
+ /**
+ * This method runs the test.
+ *
+ * @param result The test result
+ */
+ public void run(TestResult result) {
+ result.startTest(this);
+
+ String filename="testmodels/"+m_name+".cdm";
+
+ java.io.InputStream is=
+ GeneratorTest.class.getResourceAsStream(filename);
+
+ if (is == null) {
+ result.addError(this,
+ new Throwable("Unable to locate resource: "+filename));
+ } else {
+ org.scribble.parser.Parser p=new org.pi4soa.scribble.cdm.parser.CDMParser();
+ org.scribble.model.ModelReference ref=
+ new org.scribble.model.ModelReference(CDMNotation.NOTATION_CODE);
+ org.scribble.model.admin.ModelListener l=
+ new org.scribble.model.admin.DefaultModelListener();
+
+ org.scribble.model.Model model=p.parse(ref, is, l);
+
+ if (model == null) {
+ result.addError(this, new Throwable("Model is null"));
+ } else {
+ org.scribble.projector.Projector projector=
+ new org.scribble.projector.DefaultProjector();
+
+ org.scribble.model.Role role=
+ new org.scribble.model.Role(m_role);
+
+ org.scribble.model.Model projected=
+ projector.project(ref, model, role, l);
+
+ ModelGenerator generator=(ModelGenerator)
+ RegistryFactory.getRegistry().getExtension(
+ ModelGenerator.class, null);
+
+ if (generator != null) {
+ ModelReference targetRef=
+ new ModelReference(BPELNotation.NOTATION_CODE);
+
+ DefaultBPELLanguageModel target=
+ new DefaultBPELLanguageModel(targetRef);
+
+ generator.generate(targetRef,
+ model.getModelName().getLocatedRole(),
+ target, projected);
+
+ if (target.getBPELProcess().getDOMElement() != null) {
+ try {
+ String text=XMLUtils.toText(target.getBPELProcess().getDOMElement());
+ checkResults(result, text);
+ } catch(Exception e) {
+ result.addError(this, e);
+ }
+ } else {
+ result.addError(this,
+ new Throwable("No BPEL generated"));
+ }
+
+ } else {
+ result.addError(this,
+ new Throwable("Unable to find Model Generator"));
+ }
+ }
+ }
+
+ result.endTest(this);
+ }
+
+ /**
+ * This method checks the generated BPEL against a
+ * previously stored correct version.
+ *
+ * @param result The test result
+ * @param bpel The BPEL
+ */
+ protected void checkResults(TestResult result, String bpel) {
+
+ String filename="results/"+m_name+"@"+m_role+".bpel";
+
+ java.io.InputStream is=
+ GeneratorTest.class.getResourceAsStream(filename);
+
+ if (is != null) {
+
+ try {
+ byte[] b=new byte[is.available()];
+
+ is.read(b);
+
+ is.close();
+
+ String orig=new String(b);
+
+ if (orig.equals(bpel) == false) {
+ result.addError(this,
+ new Throwable("Generated BPEL does not match stored version"));
+
+ System.out.println("COMPARED GENERATED:");
+ System.out.println("["+bpel+"]");
+ System.out.println("WITH ORIGINAL:");
+ System.out.println("["+orig+"]");
+ }
+ } catch(Exception e) {
+ result.addError(this, e);
+ }
+ } else {
+ result.addError(this,
+ new Throwable("Resulting BPEL '"+filename+
+ "' not found for comparison"));
+ }
+ }
+
+ private String m_name=null;
+ private String m_role=null;
+ }
}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Buyer.bpel 2009-04-20 22:08:19 UTC (rev 589)
@@ -0,0 +1,18 @@
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="BuyerRequester" name="BuyerToSeller" partnerLinkType="BuyerToSellerLT" partnerRole="SellerRequester"/>
+ </partnerLinks>
+ <sequence>
+ <invoke operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
+ <if>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="BuyerSellerCallbackPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel 2009-04-20 22:08:19 UTC (rev 589)
@@ -0,0 +1,18 @@
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="SellerService" name="BuyerToSeller" partnerLinkType="BuyerToSellerServiceLT"/>
+ </partnerLinks>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
+ <if>
+ <sequence>
+ <reply operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <reply faultName="insufficientCredit" operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ReqRespFault.cdm
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ReqRespFault.cdm (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ReqRespFault.cdm 2009-04-20 22:08:19 UTC (rev 589)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="Cp1252"?>
+<org.pi4soa.cdl:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.pi4soa.cdl="http:///org/pi4soa/cdl.ecore" description="The choreography description for ReqRespFault" name="ReqRespFault" author="gary" version="0.3" targetNamespace="http://www.pi4soa.org/ReqRespFault">
+ <typeDefinitions>
+ <nameSpaces description="Target Namespace for ReqRespFault" prefix="tns" uRI="http://www.pi4soa.org/ReqRespFault"/>
+ <nameSpaces description="XML Schema Namespace" prefix="xsd" uRI="http://www.w3.org/2001/XMLSchema"/>
+ <informationTypes description="This is the information type CreditInformation" name="CreditInformation" elementName="CreditCheckRequest"/>
+ <informationTypes description="This is the information type CreditInvalid" name="CreditInvalid" elementName="CreditCheckInvalid"/>
+ <informationTypes description="This is the information type CreditValid" name="CreditValid" elementName="CreditCheckOk"/>
+ <informationTypes description="This is the information type URIType" name="URIType"/>
+ <tokens description="This is the token URI" name="URI" informationType="//@typeDefinitions/(a)informationTypes.3"/>
+ <roleTypes description="This is the role type Buyer" name="Buyer">
+ <behaviors description="This is the behavior BuyerBehavior" name="BuyerBehavior"/>
+ </roleTypes>
+ <roleTypes description="This is the role type Seller" name="Seller">
+ <behaviors description="This is the behavior SellerBehavior" name="SellerBehavior"/>
+ </roleTypes>
+ <relationshipTypes description="Relationship between Buyer and Seller" name="BuyerToSellerRel" firstRoleType="//@typeDefinitions/(a)roleTypes.0" secondRoleType="//@typeDefinitions/(a)roleTypes.1"/>
+ <participantTypes description="This is the participant type Buyer" name="Buyer" roleTypes="//@typeDefinitions/(a)roleTypes.0">
+ <semanticAnnotations annotation="overlord.cdl.samples.LoanBroker@Buyer" name="conversationType"/>
+ </participantTypes>
+ <participantTypes description="This is the participant type Seller" name="Seller" roleTypes="//@typeDefinitions/(a)roleTypes.1">
+ <semanticAnnotations annotation="overlord.cdl.samples.LoanBroker@Broker" name="conversationType"/>
+ </participantTypes>
+ <channelTypes description="This is the channel type SellerChannelType" name="SellerChannelType" referenceToken="//@typeDefinitions/(a)tokens.0" roleType="//@typeDefinitions/(a)roleTypes.1"/>
+ </typeDefinitions>
+ <choreographies description="Choreography flow for the ReqRespFault process" name="ReqRespFaultProcess" root="true">
+ <variableDefinitions description="Channel to facilitate interaction to Broker" name="BrokerChannel" type="//@typeDefinitions/(a)channelTypes.0" roleTypes="//@typeDefinitions/(a)roleTypes.1 //@typeDefinitions/(a)roleTypes.0"/>
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CreditCheck" operation="checkCredit" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the request exchange associated with interaction CreditCheck" name="CreditCheckRequestExchange" type="//@typeDefinitions/(a)informationTypes.0"/>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Choice">
+ <activities xsi:type="org.pi4soa.cdl:Sequence">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CreditCheckValid" operation="checkCredit" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction CreditCheckValid" name="CreditCheckValidRespondExchange" type="//@typeDefinitions/(a)informationTypes.2" action="Respond"/>
+ </activities>
+ </activities>
+ <activities xsi:type="org.pi4soa.cdl:Sequence">
+ <activities xsi:type="org.pi4soa.cdl:Interaction" name="CreditCheckInvalid" operation="checkCredit" channelVariable="//@choreographies.0/(a)variableDefinitions.0" relationship="//@typeDefinitions/(a)relationshipTypes.0">
+ <exchangeDetails description="This is the exchange details for the respond exchange associated with interaction CreditCheckInvalid" name="CreditCheckInvalidRespondExchange" type="//@typeDefinitions/(a)informationTypes.1" action="Respond" faultName="insufficientCredit"/>
+ </activities>
+ </activities>
+ </activities>
+ </choreographies>
+</org.pi4soa.cdl:Package>
17 years, 3 months
Overlord SVN: r585 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: test/org/jboss/tools/overlord/cdl/bpel/model/component and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-12 16:47:44 -0400 (Sun, 12 Apr 2009)
New Revision: 585
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Variable.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteractionTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivityTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/CatchTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ConditionTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/InvokeTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnEventTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessageTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReceiveTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReplyTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ThrowTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/VariableTest.java
Log:
Updated accessors to return null if attribute not defined, rather than empty string.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -104,7 +104,8 @@
* @return The expression language
*/
public String getExpressionLanguage() {
- return(getDOMElement().getAttribute(EXPRESSION_LANGUAGE));
+ return(getDOMElement().hasAttribute(EXPRESSION_LANGUAGE)?
+ getDOMElement().getAttribute(EXPRESSION_LANGUAGE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -69,7 +69,8 @@
* @return The operation
*/
public String getOperation() {
- return(getDOMElement().getAttribute(OPERATION));
+ return(getDOMElement().hasAttribute(OPERATION)?
+ getDOMElement().getAttribute(OPERATION):null);
}
/**
@@ -87,7 +88,8 @@
* @return The partner link
*/
public String getPartnerLink() {
- return(getDOMElement().getAttribute(PARTNER_LINK));
+ return(getDOMElement().hasAttribute(PARTNER_LINK)?
+ getDOMElement().getAttribute(PARTNER_LINK):null);
}
/**
@@ -105,7 +107,8 @@
* @return The port type
*/
public String getPortType() {
- return(getDOMElement().getAttribute(PORT_TYPE));
+ return(getDOMElement().hasAttribute(PORT_TYPE)?
+ getDOMElement().getAttribute(PORT_TYPE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -78,7 +78,8 @@
* @return The name
*/
public String getName() {
- return(getDOMElement().getAttribute(NAME));
+ return(getDOMElement().hasAttribute(NAME)?
+ getDOMElement().getAttribute(NAME):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -111,7 +111,8 @@
* @return The fault name
*/
public String getFaultName() {
- return(getDOMElement().getAttribute(FAULT_NAME));
+ return(getDOMElement().hasAttribute(FAULT_NAME)?
+ getDOMElement().getAttribute(FAULT_NAME):null);
}
/**
@@ -129,7 +130,8 @@
* @return The fault variable
*/
public String getFaultVariable() {
- return(getDOMElement().getAttribute(FAULT_VARIABLE));
+ return(getDOMElement().hasAttribute(FAULT_VARIABLE)?
+ getDOMElement().getAttribute(FAULT_VARIABLE):null);
}
private BPELElement m_activity;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -70,7 +70,8 @@
* @return The input variable
*/
public String getInputVariable() {
- return(getDOMElement().getAttribute(INPUT_VARIABLE));
+ return(getDOMElement().hasAttribute(INPUT_VARIABLE)?
+ getDOMElement().getAttribute(INPUT_VARIABLE):null);
}
/**
@@ -88,7 +89,8 @@
* @return The output variable
*/
public String getOutputVariable() {
- return(getDOMElement().getAttribute(OUTPUT_VARIABLE));
+ return(getDOMElement().hasAttribute(OUTPUT_VARIABLE)?
+ getDOMElement().getAttribute(OUTPUT_VARIABLE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -79,7 +79,8 @@
* @return The operation
*/
public String getOperation() {
- return(getDOMElement().getAttribute(OPERATION));
+ return(getDOMElement().hasAttribute(OPERATION)?
+ getDOMElement().getAttribute(OPERATION):null);
}
/**
@@ -97,7 +98,8 @@
* @return The partner link
*/
public String getPartnerLink() {
- return(getDOMElement().getAttribute(PARTNER_LINK));
+ return(getDOMElement().hasAttribute(PARTNER_LINK)?
+ getDOMElement().getAttribute(PARTNER_LINK):null);
}
/**
@@ -115,7 +117,8 @@
* @return The port type
*/
public String getPortType() {
- return(getDOMElement().getAttribute(PORT_TYPE));
+ return(getDOMElement().hasAttribute(PORT_TYPE)?
+ getDOMElement().getAttribute(PORT_TYPE):null);
}
/**
@@ -133,7 +136,8 @@
* @return The variable
*/
public String getVariable() {
- return(getDOMElement().getAttribute(VARIABLE));
+ return(getDOMElement().hasAttribute(VARIABLE)?
+ getDOMElement().getAttribute(VARIABLE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -75,7 +75,8 @@
* @return The operation
*/
public String getOperation() {
- return(getDOMElement().getAttribute(OPERATION));
+ return(getDOMElement().hasAttribute(OPERATION)?
+ getDOMElement().getAttribute(OPERATION):null);
}
/**
@@ -93,7 +94,8 @@
* @return The partner link
*/
public String getPartnerLink() {
- return(getDOMElement().getAttribute(PARTNER_LINK));
+ return(getDOMElement().hasAttribute(PARTNER_LINK)?
+ getDOMElement().getAttribute(PARTNER_LINK):null);
}
/**
@@ -111,7 +113,8 @@
* @return The port type
*/
public String getPortType() {
- return(getDOMElement().getAttribute(PORT_TYPE));
+ return(getDOMElement().hasAttribute(PORT_TYPE)?
+ getDOMElement().getAttribute(PORT_TYPE):null);
}
/**
@@ -129,7 +132,8 @@
* @return The variable
*/
public String getVariable() {
- return(getDOMElement().getAttribute(VARIABLE));
+ return(getDOMElement().hasAttribute(VARIABLE)?
+ getDOMElement().getAttribute(VARIABLE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -71,7 +71,8 @@
* @return The variable
*/
public String getVariable() {
- return(getDOMElement().getAttribute(VARIABLE));
+ return(getDOMElement().hasAttribute(VARIABLE)?
+ getDOMElement().getAttribute(VARIABLE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -70,7 +70,8 @@
* @return The variable
*/
public String getVariable() {
- return(getDOMElement().getAttribute(VARIABLE));
+ return(getDOMElement().hasAttribute(VARIABLE)?
+ getDOMElement().getAttribute(VARIABLE):null);
}
/**
@@ -88,7 +89,8 @@
* @return The fault name
*/
public String getFaultName() {
- return(getDOMElement().getAttribute(FAULT_NAME));
+ return(getDOMElement().hasAttribute(FAULT_NAME)?
+ getDOMElement().getAttribute(FAULT_NAME):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -70,7 +70,8 @@
* @return The fault name
*/
public String getFaultName() {
- return(getDOMElement().getAttribute(FAULT_NAME));
+ return(getDOMElement().hasAttribute(FAULT_NAME)?
+ getDOMElement().getAttribute(FAULT_NAME):null);
}
/**
@@ -88,7 +89,8 @@
* @return The fault variable
*/
public String getFaultVariable() {
- return(getDOMElement().getAttribute(FAULT_VARIABLE));
+ return(getDOMElement().hasAttribute(FAULT_VARIABLE)?
+ getDOMElement().getAttribute(FAULT_VARIABLE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Variable.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Variable.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Variable.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -70,7 +70,8 @@
* @return The name
*/
public String getName() {
- return(getDOMElement().getAttribute(NAME));
+ return(getDOMElement().hasAttribute(NAME)?
+ getDOMElement().getAttribute(NAME):null);
}
/**
@@ -88,7 +89,8 @@
* @return The type
*/
public String getType() {
- return(getDOMElement().getAttribute(TYPE));
+ return(getDOMElement().hasAttribute(TYPE)?
+ getDOMElement().getAttribute(TYPE):null);
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteractionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteractionTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteractionTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -92,6 +92,10 @@
TestAbstractInteraction component=new TestAbstractInteraction(model);
+ if (component.getOperation() != null) {
+ fail("Should be null");
+ }
+
component.setOperation(op);
if (component.getOperation().equals(op) == false) {
@@ -107,6 +111,10 @@
TestAbstractInteraction component=new TestAbstractInteraction(model);
+ if (component.getPortType() != null) {
+ fail("Should be null");
+ }
+
component.setPortType(pt);
if (component.getPortType().equals(pt) == false) {
@@ -122,6 +130,10 @@
TestAbstractInteraction component=new TestAbstractInteraction(model);
+ if (component.getPartnerLink() != null) {
+ fail("Should be null");
+ }
+
component.setPartnerLink(pl);
if (component.getPartnerLink().equals(pl) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivityTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivityTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivityTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -77,6 +77,10 @@
TestBPELActivity component=new TestBPELActivity(model);
+ if (component.getName() != null) {
+ fail("Should be null");
+ }
+
component.setName(name);
if (component.getName().equals(name) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/CatchTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/CatchTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/CatchTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -83,6 +83,10 @@
Catch component=new Catch(model);
+ if (component.getFaultVariable() != null) {
+ fail("Should be null");
+ }
+
component.setFaultVariable(var);
if (component.getFaultVariable().equals(var) == false) {
@@ -98,6 +102,10 @@
Catch component=new Catch(model);
+ if (component.getFaultName() != null) {
+ fail("Should be null");
+ }
+
component.setFaultName(fault);
if (component.getFaultName().equals(fault) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ConditionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ConditionTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ConditionTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -39,6 +39,10 @@
String expr="Test Expression";
+ if (condition.getExpression() != null) {
+ fail("Should be null");
+ }
+
condition.setExpression(expr);
String result=condition.getExpression();
@@ -100,6 +104,10 @@
String lang="Test Language";
+ if (condition.getExpressionLanguage() != null) {
+ fail("Should be null");
+ }
+
condition.setExpressionLanguage(lang);
String result=condition.getExpressionLanguage();
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/InvokeTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/InvokeTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/InvokeTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -85,6 +85,10 @@
Invoke component=new Invoke(model);
+ if (component.getInputVariable() != null) {
+ fail("Should be null");
+ }
+
component.setInputVariable(var);
if (component.getInputVariable().equals(var) == false) {
@@ -100,6 +104,10 @@
Invoke component=new Invoke(model);
+ if (component.getOutputVariable() != null) {
+ fail("Should be null");
+ }
+
component.setOutputVariable(var);
if (component.getOutputVariable().equals(var) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnEventTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnEventTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnEventTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -103,6 +103,10 @@
OnEvent component=new OnEvent(model);
+ if (component.getVariable() != null) {
+ fail("Should be null");
+ }
+
component.setVariable(var);
if (component.getVariable().equals(var) == false) {
@@ -118,6 +122,10 @@
OnEvent component=new OnEvent(model);
+ if (component.getOperation() != null) {
+ fail("Should be null");
+ }
+
component.setOperation(op);
if (component.getOperation().equals(op) == false) {
@@ -133,6 +141,10 @@
OnEvent component=new OnEvent(model);
+ if (component.getPortType() != null) {
+ fail("Should be null");
+ }
+
component.setPortType(pt);
if (component.getPortType().equals(pt) == false) {
@@ -148,6 +160,10 @@
OnEvent component=new OnEvent(model);
+ if (component.getPartnerLink() != null) {
+ fail("Should be null");
+ }
+
component.setPartnerLink(pl);
if (component.getPartnerLink().equals(pl) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessageTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessageTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessageTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -108,6 +108,10 @@
OnMessage component=new OnMessage(model);
+ if (component.getVariable() != null) {
+ fail("Should be null");
+ }
+
component.setVariable(var);
if (component.getVariable().equals(var) == false) {
@@ -123,6 +127,10 @@
OnMessage component=new OnMessage(model);
+ if (component.getOperation() != null) {
+ fail("Should be null");
+ }
+
component.setOperation(op);
if (component.getOperation().equals(op) == false) {
@@ -138,6 +146,10 @@
OnMessage component=new OnMessage(model);
+ if (component.getPortType() != null) {
+ fail("Should be null");
+ }
+
component.setPortType(pt);
if (component.getPortType().equals(pt) == false) {
@@ -153,6 +165,10 @@
OnMessage component=new OnMessage(model);
+ if (component.getPartnerLink() != null) {
+ fail("Should be null");
+ }
+
component.setPartnerLink(pl);
if (component.getPartnerLink().equals(pl) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReceiveTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReceiveTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReceiveTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -85,6 +85,10 @@
Receive component=new Receive(model);
+ if (component.getVariable() != null) {
+ fail("Should be null");
+ }
+
component.setVariable(var);
if (component.getVariable().equals(var) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReplyTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReplyTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ReplyTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -85,6 +85,10 @@
Reply component=new Reply(model);
+ if (component.getVariable() != null) {
+ fail("Should be null");
+ }
+
component.setVariable(var);
if (component.getVariable().equals(var) == false) {
@@ -100,6 +104,10 @@
Reply component=new Reply(model);
+ if (component.getFaultName() != null) {
+ fail("Should be null");
+ }
+
component.setFaultName(fault);
if (component.getFaultName().equals(fault) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ThrowTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ThrowTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ThrowTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -85,6 +85,10 @@
Throw component=new Throw(model);
+ if (component.getFaultVariable() != null) {
+ fail("Should be null");
+ }
+
component.setFaultVariable(var);
if (component.getFaultVariable().equals(var) == false) {
@@ -100,6 +104,10 @@
Throw component=new Throw(model);
+ if (component.getFaultName() != null) {
+ fail("Should be null");
+ }
+
component.setFaultName(fault);
if (component.getFaultName().equals(fault) == false) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/VariableTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/VariableTest.java 2009-04-12 20:18:00 UTC (rev 584)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/VariableTest.java 2009-04-12 20:47:44 UTC (rev 585)
@@ -85,6 +85,10 @@
Variable component=new Variable(model);
+ if (component.getName() != null) {
+ fail("Should be null");
+ }
+
component.setName(var);
if (component.getName().equals(var) == false) {
@@ -100,6 +104,10 @@
Variable component=new Variable(model);
+ if (component.getType() != null) {
+ fail("Should be null");
+ }
+
component.setType(type);
if (component.getType().equals(type) == false) {
17 years, 3 months
Overlord SVN: r584 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/model/component and 7 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-12 16:18:00 -0400 (Sun, 12 Apr 2009)
New Revision: 584
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/util/
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/util/XMLUtilsTest.java
Removed:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/util/XMLUtils.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLinkTest.java
Log:
Updated generation of conversation model to include scopes, and interactions to deal with port types and partner links.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -90,7 +90,15 @@
ConversationInteraction interaction=(ConversationInteraction)mobj;
boolean ret=false;
AbstractInteraction act=null;
+ PartnerLink pl=new PartnerLink(bpelModel);
+ Role role=null;
+ String portType=null;
+ if (interaction.getEnclosingDefinition() != null) {
+ role = interaction.getEnclosingDefinition().
+ getModelName().getLocatedRole();
+ }
+
// Check if send or receive
if (InteractionUtil.isSend(interaction)) {
@@ -101,11 +109,12 @@
if (InteractionUtil.isRequest(interaction)) {
act = new Invoke(bpelModel);
- if (context.getParent() instanceof Sequence) {
- ((Sequence)context.getParent()).addActivity(act, -1);
-
- ret = true;
- }
+ //pl.setMyRole(role.getName());
+ pl.setPartnerRole(interaction.getToRole().getName()+"Requester");
+ pl.setName(role.getName()+"To"+interaction.getToRole().getName());
+ pl.setPartnerLinkType(role.getName()+"To"+interaction.getToRole().getName()+"LT");
+
+ portType = interaction.getToRole().getName()+"PT";
// TODO: Need to deal with subsequent responses
// which could be in a following choice - with each
@@ -116,26 +125,70 @@
} else {
act = new Reply(bpelModel);
- if (context.getParent() instanceof Sequence) {
- ((Sequence)context.getParent()).addActivity(act, -1);
-
- ret = true;
- }
+ pl.setMyRole(role.getName()+"Service");
+ //pl.setPartnerRole(interaction.getToRole().getName());
+ pl.setName(interaction.getToRole().getName()+"To"+role.getName());
+ pl.setPartnerLinkType(interaction.getToRole().getName()+"To"+role.getName()+"Service"+"LT");
+
+ portType = role.getName()+"PT";
}
} else {
+ act = new Receive(bpelModel);
+
if (InteractionUtil.isRequest(interaction)) {
- act = new Receive(bpelModel);
- if (context.getParent() instanceof Sequence) {
- ((Sequence)context.getParent()).addActivity(act, -1);
-
- ret = true;
- }
+ pl.setMyRole(role.getName()+"Service");
+ //pl.setPartnerRole(interaction.getToRole().getName());
+ pl.setName(interaction.getFromRole().getName()+"To"+role.getName());
+ pl.setPartnerLinkType(interaction.getFromRole().getName()+"To"+role.getName()+"Service"+"LT");
+
+ portType = role.getName()+"PT";
+ } else {
+ pl.setMyRole(role.getName()+"Requester");
+ pl.setPartnerRole(interaction.getFromRole().getName()+"Service");
+ pl.setName(role.getName()+"To"+interaction.getFromRole().getName());
+ pl.setPartnerLinkType(role.getName()+"To"+interaction.getFromRole().getName()+"Requester"+"LT");
+
+ portType = role.getName()+
+ interaction.getFromRole().getName()+"CallbackPT";
}
}
+
+ // TODO: Possibly if the channel is set, then
+ // might be a callback channel, so could use
+ // channel name to reflect callback port
- if (act != null && interaction.getMessageSignature() != null) {
- act.setOperation(interaction.getMessageSignature().getOperation());
+ // TODO: If both myRole and partnerRole are specified
+ // then one is a callback porttype
+
+ if (act != null) {
+ if (context.getParent() instanceof Sequence) {
+ ((Sequence)context.getParent()).addActivity(act, -1);
+
+ ret = true;
+ }
+
+ PartnerLink other=
+ bpelModel.getBPELProcess().getPartnerLink(pl.getName());
+ if (other == null) {
+ bpelModel.getBPELProcess().addPartnerLink(pl, -1);
+ } else {
+ if (other.getPartnerRole() == null &&
+ pl.getPartnerRole() != null) {
+ other.setPartnerRole(pl.getPartnerRole());
+ }
+ if (other.getMyRole() == null &&
+ pl.getMyRole() != null) {
+ other.setMyRole(pl.getMyRole());
+ }
+ }
+
+ act.setPartnerLink(pl.getName());
+ act.setPortType(portType);
+
+ if (interaction.getMessageSignature() != null) {
+ act.setOperation(interaction.getMessageSignature().getOperation());
+ }
}
return(ret);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -99,7 +99,18 @@
} else if (context.getParent() instanceof Sequence) {
- ((Sequence)context.getParent()).addActivity(seq, -1);
+ // Create a scope
+ Scope scope=new Scope(bpelModel);
+
+ ((Sequence)context.getParent()).addActivity(scope, -1);
+
+ // 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.setActivity(seq);
}
// Process the activities within the conversation
@@ -120,5 +131,4 @@
return(true);
}
-
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -186,6 +186,25 @@
}
/**
+ * This method returns the partner link associated
+ * with the supplied name.
+ *
+ * @param name The name
+ * @return The partner link, or null if not found
+ */
+ public PartnerLink getPartnerLink(String name) {
+ PartnerLink ret=null;
+
+ for (int i=0; ret == null && i < m_partnerLinks.size(); i++) {
+ if (m_partnerLinks.get(i).getName().equals(name)) {
+ ret = m_partnerLinks.get(i);
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
* This method adds a variable to the scope.
*
* @param var The variable to be added
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -72,7 +72,8 @@
* @return The name
*/
public String getName() {
- return(getDOMElement().getAttribute(NAME));
+ return(getDOMElement().hasAttribute(NAME)?
+ getDOMElement().getAttribute(NAME):null);
}
/**
@@ -90,7 +91,8 @@
* @return The partner link type
*/
public String getPartnerLinkType() {
- return(getDOMElement().getAttribute(PARTNER_LINK_TYPE));
+ return(getDOMElement().hasAttribute(PARTNER_LINK_TYPE)?
+ getDOMElement().getAttribute(PARTNER_LINK_TYPE):null);
}
/**
@@ -108,7 +110,8 @@
* @return My role
*/
public String getMyRole() {
- return(getDOMElement().getAttribute(MY_ROLE));
+ return(getDOMElement().hasAttribute(MY_ROLE)?
+ getDOMElement().getAttribute(MY_ROLE):null);
}
/**
@@ -126,7 +129,8 @@
* @return Partner role
*/
public String getPartnerRole() {
- return(getDOMElement().getAttribute(PARTNER_ROLE));
+ return(getDOMElement().hasAttribute(PARTNER_ROLE)?
+ getDOMElement().getAttribute(PARTNER_ROLE):null);
}
@Override
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/util/XMLUtils.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/util/XMLUtils.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/util/XMLUtils.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -43,8 +43,8 @@
try {
// Transform the DOM represent to text
ByteArrayOutputStream xmlstr= new ByteArrayOutputStream();
- DOMSource source=new DOMSource();
- source.setNode(node);
+ DOMSource source=new DOMSource(node);
+ //source.setNode(node);
StreamResult result=new StreamResult(xmlstr);
Transformer trans= TransformerFactory.newInstance().newTransformer();
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -34,7 +34,7 @@
public static TestSuite suite() {
TestSuite suite = new TestSuite("Conversation->BPEL Generator Tests");
suite.addTest(new ConversationToBPELTest("ESBBrokerProcess@Broker"));
- suite.addTest(new ConversationToBPELTest("PurchaseGoodsProcess@Broker"));
+ suite.addTest(new ConversationToBPELTest("PurchaseGoodsProcess@Store"));
return suite;
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBrokerProcess(a)Broker.bpel 2009-04-12 20:18:00 UTC (rev 584)
@@ -1,35 +1,49 @@
<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="BrokerService" name="BuyerToBroker" partnerLinkType="BuyerToBrokerServiceLT"/>
+ <partnerLink myRole="BrokerRequester" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
+ <partnerLink myRole="BrokerRequester" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ <partnerLink myRole="BrokerRequester" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
+ </partnerLinks>
<sequence>
- <receive operation="makeEnquiry"/>
+ <receive operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
<while>
<sequence>
- <sequence>
- <invoke operation="getQuote"/>
- </sequence>
+ <scope>
+ <sequence>
+ <invoke operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT"/>
+ <receive operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="BrokerSupplierQuoteEngineCallbackPT"/>
+ </sequence>
+ </scope>
</sequence>
</while>
- <reply operation="makeEnquiry"/>
+ <reply operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
<if>
<sequence>
- <sequence>
- <receive operation="buy"/>
- <invoke operation="checkCredit"/>
- <if>
- <sequence>
- <invoke operation="confirm"/>
- <reply operation="buy"/>
- </sequence>
- <else>
+ <scope>
+ <sequence>
+ <receive operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ <invoke operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
+ <if>
<sequence>
- <reply operation="buy"/>
+ <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
+ <invoke operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT"/>
+ <receive operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="BrokerSupplierTxnProcessorCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
</sequence>
- </else>
- </if>
- </sequence>
+ <else>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="BrokerCreditAgencyCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+ </scope>
</sequence>
<else>
<sequence>
- <receive operation="cancel"/>
+ <receive operation="cancel" partnerLink="BuyerToBroker" portType="BrokerPT"/>
</sequence>
</else>
</if>
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel 2009-04-12 20:18:00 UTC (rev 584)
@@ -1,18 +0,0 @@
-<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
- <sequence>
- <invoke operation="buy"/>
- <invoke operation="checkCredit"/>
- <if>
- <sequence>
- <reply operation="checkCredit"/>
- <reply operation="buy"/>
- </sequence>
- <else>
- <sequence>
- <reply operation="checkCredit"/>
- <reply operation="buy"/>
- </sequence>
- </else>
- </if>
- </sequence>
-</process>
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel (from rev 562, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Store.bpel 2009-04-12 20:18:00 UTC (rev 584)
@@ -0,0 +1,22 @@
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
+ <partnerLink myRole="StoreRequester" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ </partnerLinks>
+ <sequence>
+ <receive operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ <invoke operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ <if>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ <else>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="StoreCreditAgencyCallbackPT"/>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv 2009-04-12 20:18:00 UTC (rev 584)
@@ -1,15 +0,0 @@
-namespace org.pi4soa.purchase.purchasegoods;
-
-conversation PurchaseGoodsProcess@Broker conforms to Purchasing@Buyer, Purchasing@Store, Common@CreditAgency {
- role Buyer, Store, CreditAgency;
- BuyRequest buy;
- buy(BuyRequest) from Buyer to Store request "buy";
- checkCredit(CreditCheckRequest) from Store to CreditAgency request "checkCredit";
- if @ CreditAgency {
- checkCredit(CreditCheckOk) from CreditAgency to Store replyTo "checkCredit";
- buy(BuyConfirmed) from Store to Buyer replyTo "buy";
- } else if {
- checkCredit(CreditCheckInvalid) from CreditAgency to Store replyTo "checkCredit";
- buy(BuyFailed) from Store to Buyer replyTo "buy";
- }
-}
\ No newline at end of file
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv (from rev 560, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Store.scv 2009-04-12 20:18:00 UTC (rev 584)
@@ -0,0 +1,16 @@
+namespace org.pi4soa.purchase.purchasegoods;
+
+conversation PurchaseGoodsProcess@Store {
+ role Buyer, Store, CreditAgency;
+ BuyRequest buy;
+
+ buy(BuyRequest) from Buyer to Store request "buy";
+ checkCredit(CreditCheckRequest) from Store to CreditAgency request "checkCredit";
+ if @ CreditAgency {
+ checkCredit(CreditCheckOk) from CreditAgency to Store replyTo "checkCredit";
+ buy(BuyConfirmed) from Store to Buyer replyTo "buy";
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Store replyTo "checkCredit";
+ buy(BuyFailed) from Store to Buyer replyTo "buy";
+ }
+}
\ No newline at end of file
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -195,6 +195,26 @@
}
}
+ public void testGetPartnerLink() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ BPELProcess component=new BPELProcess(model);
+ String name="testName";
+
+ PartnerLink pl=new PartnerLink(model);
+ pl.setName(name);
+
+ component.addPartnerLink(pl, 0);
+
+ if (component.getPartnerLink(name) == null) {
+ fail("Failed to get partner link for '"+name+"'");
+ }
+
+ if (component.getPartnerLink("unknown") != null) {
+ fail("Should not have returned a partner link");
+ }
+ }
+
public void testSetEventHandlers() {
BPELLanguageModel model=new DefaultBPELLanguageModel(null);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLinkTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLinkTest.java 2009-04-12 11:50:52 UTC (rev 583)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLinkTest.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -98,6 +98,10 @@
PartnerLink component=new PartnerLink(model);
+ if (component.getName() != null) {
+ fail("Name should be null");
+ }
+
component.setName(name);
if (component.getName().equals(name) == false) {
@@ -111,8 +115,12 @@
String plt="testPartnerLinkType";
- PartnerLink component=new PartnerLink(model);
+ PartnerLink component=new PartnerLink(model);
+ if (component.getPartnerLinkType() != null) {
+ fail("Partner link type should be null");
+ }
+
component.setPartnerLinkType(plt);
if (component.getPartnerLinkType().equals(plt) == false) {
@@ -126,8 +134,12 @@
String mr="testMyRole";
- PartnerLink component=new PartnerLink(model);
+ PartnerLink component=new PartnerLink(model);
+ if (component.getMyRole() != null) {
+ fail("My role is not null");
+ }
+
component.setMyRole(mr);
if (component.getMyRole().equals(mr) == false) {
@@ -141,8 +153,12 @@
String pr="testPartnerRole";
- PartnerLink component=new PartnerLink(model);
+ PartnerLink component=new PartnerLink(model);
+ if (component.getPartnerRole() != null) {
+ fail("Partner role should be null");
+ }
+
component.setPartnerRole(pr);
if (component.getPartnerRole().equals(pr) == false) {
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/util/XMLUtilsTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/util/XMLUtilsTest.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/util/XMLUtilsTest.java 2009-04-12 20:18:00 UTC (rev 584)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.util;
+
+import junit.framework.TestCase;
+
+public class XMLUtilsTest extends TestCase {
+
+ public void testNamespace() {
+ String namespace="http://namespace";
+ String elemName="testElement";
+
+ String expected="<"+elemName+" xmlns=\""+namespace+"\"/>\r\n";
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.
+ newInstance();
+ factory.setNamespaceAware(true);
+
+ org.w3c.dom.Document doc=
+ factory.newDocumentBuilder().newDocument();
+
+ org.w3c.dom.Element elem=
+ doc.createElementNS(namespace, elemName);
+
+ String str=XMLUtils.toText(elem);
+
+ if (str.equals(expected) == false) {
+ fail("Expected result '"+expected+"', got: '"+str+"'");
+ }
+
+ } catch(Exception e) {
+ fail("Failed: "+e);
+ }
+ }
+}
17 years, 3 months
Overlord SVN: r583 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/generator and 4 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-12 07:50:52 -0400 (Sun, 12 Apr 2009)
New Revision: 583
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/export/BPELLanguageModelStreamExportRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
Log:
Make use of top level BPELProcess in model, rather than separate DOM element and sequence model object.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/export/BPELLanguageModelStreamExportRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/export/BPELLanguageModelStreamExportRule.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/export/BPELLanguageModelStreamExportRule.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -62,7 +62,7 @@
BPELLanguageModel model=(BPELLanguageModel)modelObject;
try {
- String text=XMLUtils.toText(model.getBPELProcessElement());
+ String text=XMLUtils.toText(model.getBPELProcess().getDOMElement());
context.getFormatter().record(text.getBytes());
} catch(Exception e) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -147,7 +147,7 @@
lcm);
generateRoleProject(projectName,
- target.getBPELProcessElement(),
+ target.getBPELProcess().getDOMElement(),
lcm, target);
} else {
logger.error("Unable to find model generator");
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model;
-import org.jboss.tools.overlord.cdl.bpel.model.component.Sequence;
+import org.jboss.tools.overlord.cdl.bpel.model.component.BPELProcess;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
@@ -51,19 +51,10 @@
public String getOriginalContents();
/**
- * This method returns the top level grouping
- * activity.
+ * This method returns the BPEL Process.
*
- * @return The top level grouping activity
+ * @return The BPEL Process
*/
- public Sequence getActivity();
-
- /**
- * This method returns the reference to the DOM
- * representation of the BPEL process.
- *
- * @return The BPEL process
- */
- public org.w3c.dom.Element getBPELProcessElement();
+ public BPELProcess getBPELProcess();
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -18,8 +18,7 @@
package org.jboss.tools.overlord.cdl.bpel.model;
import org.apache.log4j.Logger;
-import org.jboss.tools.overlord.cdl.bpel.model.component.BPELElement;
-import org.jboss.tools.overlord.cdl.bpel.model.component.Sequence;
+import org.jboss.tools.overlord.cdl.bpel.model.component.BPELProcess;
import org.scribble.model.*;
import org.scribble.model.admin.ModelIssue;
import org.scribble.model.admin.ModelListener;
@@ -35,7 +34,6 @@
private static final long serialVersionUID = 7625564863751533521L;
- private static final String PROCESS_ELEMENT = "process";
public static final String BPEL_NOTATION = "bpel";
/**
@@ -48,11 +46,8 @@
public DefaultBPELLanguageModel(ModelReference source, org.w3c.dom.Element elem,
String contents) {
m_source = source;
- m_bpelProcess = elem;
+ m_bpelProcess = new BPELProcess(this, elem);
m_contents = contents;
-
- // Extract service action pipelines
- initializeExistingConfig();
}
/**
@@ -63,39 +58,10 @@
public DefaultBPELLanguageModel(ModelReference source) {
m_source = source;
- initializeNewConfig();
+ m_bpelProcess = new BPELProcess(this);
}
/**
- * This method creates a new BPEL process.
- */
- protected void initializeNewConfig() {
-
- org.w3c.dom.Document doc=null;
-
- // Create an empty document
- try {
- doc = javax.xml.parsers.DocumentBuilderFactory.
- newInstance().newDocumentBuilder().newDocument();
-
- m_bpelProcess = doc.createElementNS(BPELElement.BPEL_NS,
- PROCESS_ELEMENT);
-
- } catch(Exception e) {
- logger.error("Failed to create initial BPEL document: "+e, e);
- }
-
- }
-
- /**
- * This method initializes the ESB Model.
- */
- protected void initializeExistingConfig() {
-
- // Needs to establish dependency to conversation
- }
-
- /**
* This method returns the source model reference.
*
* @return The source model reference
@@ -136,42 +102,19 @@
}
/**
- * This method returns the top level grouping
- * activity.
+ * This method returns the BPEL Process.
*
- * @return The top level grouping activity
- */
- public Sequence getActivity() {
- return(m_activity);
- }
-
- /**
- * This method sets the top level activity.
- *
- * @param act The top level activity
- */
- public void setActivity(Sequence act) {
- m_activity = act;
-
- m_bpelProcess.appendChild(act.getDOMElement());
- }
-
- /**
- * This method returns the reference to the DOM
- * representation of the BPEL process.
- *
* @return The BPEL Process
*/
- public org.w3c.dom.Element getBPELProcessElement() {
+ public BPELProcess getBPELProcess() {
return(m_bpelProcess);
}
private static Logger logger = Logger.getLogger(DefaultBPELLanguageModel.class);
private ModelReference m_source=null;
- private org.w3c.dom.Element m_bpelProcess=null;
+ private BPELProcess m_bpelProcess=null;
private String m_contents=null;
- private Sequence m_activity=null;
public class InnerModelListener implements ModelListener {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -95,7 +95,7 @@
if (conv.getParent() instanceof Model) {
// Add sequence to model
- bpelModel.setActivity(seq);
+ bpelModel.getBPELProcess().setActivity(seq);
} else if (context.getParent() instanceof Sequence) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -55,9 +55,26 @@
protected BPELElement(BPELLanguageModel model,
String elemName) {
m_model = model;
+
+ org.w3c.dom.Document doc=null;
- m_element = model.getBPELProcessElement().
- getOwnerDocument().createElementNS(BPEL_NS, elemName);
+ if (model.getBPELProcess() == null) {
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.
+ newInstance();
+ factory.setNamespaceAware(true);
+
+ doc = factory.newDocumentBuilder().newDocument();
+ } catch(Exception e) {
+ logger.error("Failed to create document", e);
+ }
+ } else {
+ doc = model.getBPELProcess().getDOMElement().
+ getOwnerDocument();
+ }
+
+ m_element = doc.createElementNS(BPEL_NS, elemName);
getSource().setObject(this);
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-11 22:16:03 UTC (rev 582)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-04-12 11:50:52 UTC (rev 583)
@@ -97,9 +97,9 @@
model.getModelName().getLocatedRole(),
target, model);
- if (target.getBPELProcessElement() != null) {
+ if (target.getBPELProcess().getDOMElement() != null) {
try {
- String text=XMLUtils.toText(target.getBPELProcessElement());
+ String text=XMLUtils.toText(target.getBPELProcess().getDOMElement());
checkResults(result, text);
} catch(Exception e) {
result.addError(this, e);
17 years, 3 months
Overlord SVN: r582 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: test/org/jboss/tools/overlord/cdl/bpel/model/component and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-04-11 18:16:03 -0400 (Sat, 11 Apr 2009)
New Revision: 582
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java
Log:
Added model component for BPELProcess and tests.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java 2009-04-11 21:39:18 UTC (rev 581)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java 2009-04-11 22:16:03 UTC (rev 582)
@@ -141,19 +141,20 @@
*
* @return The child BPEL activity, or null if not found
*/
- protected BPELElement findChildActivity() {
- BPELElement ret=null;
+ protected BPELActivity findChildActivity() {
+ BPELActivity ret=null;
org.w3c.dom.NodeList nl=getDOMElement().getChildNodes();
for (int i=0; ret == null &&
i < nl.getLength(); i++) {
if (nl.item(i) instanceof org.w3c.dom.Element) {
- ret = BPELElementFactory.createBPELElement(m_model,
+ BPELElement elem = BPELElementFactory.createBPELElement(m_model,
(org.w3c.dom.Element)nl.item(i));
- if (ret != null && ret.isActivity() == false) {
- ret = null;
+ if (elem != null && elem.isActivity() &&
+ elem instanceof BPELActivity) {
+ ret = (BPELActivity)elem;
}
}
}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-04-11 22:16:03 UTC (rev 582)
@@ -0,0 +1,413 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import java.util.List;
+
+import org.scribble.model.*;
+import org.scribble.model.admin.ModelListener;
+import org.jboss.tools.overlord.cdl.bpel.model.*;
+
+/**
+ * This class represents a BPEL process.
+ *
+ * @author gary
+ */
+public class BPELProcess extends BPELElement {
+
+ private static final long serialVersionUID = 3400962966628415184L;
+
+ public static final String PROCESS = "process";
+
+ /**
+ * The constructor for the activity.
+ *
+ * @param model The BPEL model
+ * @param activity The XML configuration details for the activity
+ */
+ public BPELProcess(BPELLanguageModel model,
+ org.w3c.dom.Element activity) {
+ super(model, activity);
+
+ m_partnerLinksElem = findChildElement("partnerLinks");
+
+ if (m_partnerLinksElem != null) {
+ java.util.List<BPELElement> elems=
+ findChildElements(m_partnerLinksElem,
+ PartnerLink.class);
+
+ for (int i=0; i < elems.size(); i++) {
+ m_partnerLinks.add((PartnerLink)elems.get(i));
+ }
+ }
+
+ m_variablesElem = findChildElement("variables");
+
+ if (m_variablesElem != null) {
+ java.util.List<BPELElement> elems=
+ findChildElements(m_variablesElem,
+ Variable.class);
+
+ for (int i=0; i < elems.size(); i++) {
+ m_variables.add((Variable)elems.get(i));
+ }
+ }
+
+ m_messageExchangesElem = findChildElement("messageExchanges");
+ m_correlationSetsElem = findChildElement("correlationSets");
+
+ org.w3c.dom.Element ehs=findChildElement(EventHandlers.EVENTHANDLERS);
+ if (ehs != null) {
+ m_eventHandlers = new EventHandlers(model, ehs);
+ }
+
+ org.w3c.dom.Element fhs=findChildElement(FaultHandlers.FAULTHANDLERS);
+ if (fhs != null) {
+ m_faultHandlers = new FaultHandlers(model, fhs);
+ }
+
+ m_activity = findChildActivity();
+ }
+
+ /**
+ * The constructor for the activity.
+ *
+ * @param model The BPEL model
+ */
+ public BPELProcess(BPELLanguageModel model) {
+ super(model, PROCESS);
+ }
+
+ /**
+ * This method adds a partner link to the scope.
+ *
+ * @param pl The partner link to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addPartnerLink(PartnerLink pl, int pos) {
+
+ if (m_partnerLinksElem == null) {
+ m_partnerLinksElem = getDOMElement().getOwnerDocument().
+ createElementNS(BPEL_NS, "partnerLinks");
+
+ // Add to parent
+ org.w3c.dom.Element insertBefore=
+ findChildElement("messageExchanges");
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("variables");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("correlationSets");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("faultHandlers");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("eventHandlers");
+ }
+
+ if (insertBefore == null) {
+ BPELElement elem=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = elem.getDOMElement();
+ }
+ }
+
+ if (insertBefore != null) {
+ getDOMElement().insertBefore(m_partnerLinksElem, insertBefore);
+ } else {
+ getDOMElement().appendChild(m_partnerLinksElem);
+ }
+ }
+
+ if (pos == -1 || pos >= m_partnerLinks.size()) {
+ m_partnerLinks.add(pl);
+
+ setChildElement(m_partnerLinksElem, null, pl, null);
+ } else {
+
+ PartnerLink cur=m_partnerLinks.get(pos);
+
+ m_partnerLinks.add(pos, pl);
+
+ if (cur != null) {
+ setChildElement(m_partnerLinksElem, null, pl,
+ cur.getDOMElement());
+ } else {
+ setChildElement(m_partnerLinksElem, null, pl, null);
+ }
+ }
+ }
+
+ /**
+ * This method removes a partner link from the grouping
+ * construct.
+ *
+ * @param pl The partner link to be removed
+ * @return Whether the partner link was removed
+ */
+ public boolean removePartnerLink(PartnerLink pl) {
+ boolean ret=m_partnerLinks.remove(pl);
+
+ if (ret) {
+ m_partnerLinksElem.removeChild(pl.getDOMElement());
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the list of partner links.
+ *
+ * @return The partner links
+ */
+ public java.util.List<PartnerLink> getPartnerLinks() {
+ return(m_partnerLinks);
+ }
+
+ /**
+ * This method adds a variable to the scope.
+ *
+ * @param var The variable to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addVariable(Variable var, int pos) {
+
+ if (m_variablesElem == null) {
+ m_variablesElem = getDOMElement().getOwnerDocument().
+ createElementNS(BPEL_NS, "variables");
+
+ // Add to parent
+ org.w3c.dom.Element insertBefore=
+ findChildElement("correlationSets");
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("faultHandlers");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("eventHandlers");
+ }
+
+ if (insertBefore == null) {
+ BPELElement elem=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = elem.getDOMElement();
+ }
+ }
+
+ if (insertBefore != null) {
+ getDOMElement().insertBefore(m_variablesElem, insertBefore);
+ } else {
+ getDOMElement().appendChild(m_variablesElem);
+ }
+ }
+
+ if (pos == -1 || pos >= m_variables.size()) {
+ m_variables.add(var);
+
+ setChildElement(m_variablesElem, null, var, null);
+ } else {
+
+ Variable cur=m_variables.get(pos);
+
+ m_variables.add(pos, var);
+
+ if (cur != null) {
+ setChildElement(m_variablesElem, null, var,
+ cur.getDOMElement());
+ } else {
+ setChildElement(m_variablesElem, null, var, null);
+ }
+ }
+ }
+
+ /**
+ * This method removes an activity from the grouping
+ * construct.
+ *
+ * @param act The activity to be removed
+ * @return Whether the activity was removed
+ */
+ public boolean removeVariable(Variable var) {
+ boolean ret=m_variables.remove(var);
+
+ if (ret) {
+ m_variablesElem.removeChild(var.getDOMElement());
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the list of variables.
+ *
+ * @return The
+ */
+ public java.util.List<Variable> getVariables() {
+ return(m_variables);
+ }
+
+ /**
+ * This method sets the activity associated with
+ * the 'else' construct.
+ *
+ * @param act The activity
+ */
+ public void setActivity(BPELActivity act) {
+ m_activity = act;
+
+ BPELElement existing=findChildActivity();
+ org.w3c.dom.Element existingElem=null;
+
+ if (existing != null) {
+ existingElem = existing.getDOMElement();
+ }
+
+ org.w3c.dom.Element insertBefore=null;
+
+ setChildElement(existingElem, act,
+ insertBefore);
+ }
+
+ /**
+ * This method returns the activity associated with
+ * the 'else' construct.
+ *
+ * @return The activity
+ */
+ public BPELElement getActivity() {
+ return(m_activity);
+ }
+
+ /**
+ * This method sets the 'eventHandlers' path.
+ *
+ * @param elem The 'eventHandlers' path
+ */
+ public void setEventHandlers(EventHandlers elem) {
+ org.w3c.dom.Element existingElem=null;
+
+ if (m_eventHandlers != null) {
+ existingElem = m_eventHandlers.getDOMElement();
+ }
+
+ m_eventHandlers = elem;
+
+ org.w3c.dom.Element insertBefore=null;
+
+ if (insertBefore == null) {
+ BPELElement act=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = act.getDOMElement();
+ }
+ }
+
+ setChildElement(existingElem, elem,
+ insertBefore);
+ }
+
+ /**
+ * This method returns the 'eventHandlers' path.
+ *
+ * @return The 'eventHandlers' path
+ */
+ public EventHandlers getEventHandlers() {
+ return(m_eventHandlers);
+ }
+
+ /**
+ * This method sets the 'faultHandlers' path.
+ *
+ * @param elem The 'faultHandlers' path
+ */
+ public void setFaultHandlers(FaultHandlers elem) {
+ org.w3c.dom.Element existingElem=null;
+
+ if (m_faultHandlers != null) {
+ existingElem = m_faultHandlers.getDOMElement();
+ }
+
+ m_faultHandlers = elem;
+
+ org.w3c.dom.Element insertBefore=null;
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("eventHandlers");
+ }
+
+ if (insertBefore == null) {
+ BPELElement act=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = act.getDOMElement();
+ }
+ }
+
+ setChildElement(existingElem, elem,
+ insertBefore);
+ }
+
+ /**
+ * This method returns the 'faultHandlers' path.
+ *
+ * @return The 'faultHandlers' path
+ */
+ public FaultHandlers getFaultHandlers() {
+ return(m_faultHandlers);
+ }
+
+ /**
+ * This method validates the BPEL activity and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ @Override
+ public void validate(ModelListener l) {
+ }
+
+ /**
+ * This method converts the BPEL activity into an equivalent
+ * behavioural description for conformance checking.
+ *
+ * @param activities The list of activities that will contain
+ * the converted action(s)
+ * @param context The conversion context
+ */
+ public void convert(java.util.List<Activity> activities,
+ ConversionContext context) {
+ }
+
+ private org.w3c.dom.Element m_partnerLinksElem=null;
+ private org.w3c.dom.Element m_messageExchangesElem=null;
+ private org.w3c.dom.Element m_variablesElem=null;
+ private org.w3c.dom.Element m_correlationSetsElem=null;
+ private java.util.List<PartnerLink> m_partnerLinks=new java.util.Vector<PartnerLink>();
+ private java.util.List<Variable> m_variables=new java.util.Vector<Variable>();
+ private EventHandlers m_eventHandlers=null;
+ private FaultHandlers m_faultHandlers=null;
+ private BPELActivity m_activity;
+}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java 2009-04-11 22:16:03 UTC (rev 582)
@@ -0,0 +1,356 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.jboss.tools.overlord.cdl.bpel.model.DefaultBPELLanguageModel;
+
+import junit.framework.TestCase;
+
+public class BPELProcessTest extends TestCase {
+
+ public void testIsActivity() {
+ BPELProcess act=new BPELProcess(new DefaultBPELLanguageModel(null));
+
+ if (act.isActivity() == true) {
+ fail("Should NOT be an activity");
+ }
+ }
+
+ public void testProcessFromDOM() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element elem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ elem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ BPELProcess component=new BPELProcess(model, elem);
+
+ if (component.getPartnerLinks().size() != 1) {
+ fail("Expecting 1 partner link: "+component.getPartnerLinks().size());
+ }
+
+ if (component.getVariables().size() != 1) {
+ fail("Expecting 1 variable: "+component.getVariables().size());
+ }
+
+ if (component.getActivity() == null) {
+ fail("Activity not defined");
+ }
+
+ if (component.getEventHandlers() == null) {
+ fail("Event handlers not defined");
+ }
+
+ if (component.getFaultHandlers() == null) {
+ fail("Fault handlers not defined");
+ }
+ }
+
+ public void testAddVariable() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ BPELProcess component=new BPELProcess(model, ifelem);
+
+ if (component.getVariables().size() != 0) {
+ fail("Should be no variables");
+ }
+
+ Variable var=new Variable(model);
+ component.addVariable(var, 0);
+
+ if (component.getVariables().size() != 1) {
+ fail("Should be one variable: "+component.getVariables().size());
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(2).getLocalName().equals("variables") == false) {
+ fail("Child 2 not as expected: "+component.getDOMElement().getChildNodes().
+ item(2).getLocalName());
+ }
+ }
+
+ public void testAddPartnerLink() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element elem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ elem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ BPELProcess component=new BPELProcess(model, elem);
+
+ if (component.getPartnerLinks().size() != 0) {
+ fail("Should be no partner links");
+ }
+
+ PartnerLink pl=new PartnerLink(model);
+ component.addPartnerLink(pl, 0);
+
+ if (component.getPartnerLinks().size() != 1) {
+ fail("Should be one partner link: "+component.getPartnerLinks().size());
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(0).getLocalName().equals("partnerLinks") == false) {
+ fail("Child 0 not as expected: "+component.getDOMElement().getChildNodes().
+ item(0).getLocalName());
+ }
+ }
+
+ public void testSetEventHandlers() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ BPELProcess component=new BPELProcess(model, ifelem);
+
+ if (component.getEventHandlers() != null) {
+ fail("Should be null");
+ }
+
+ EventHandlers elem=new EventHandlers(model);
+ component.setEventHandlers(elem);
+
+ if (component.getEventHandlers() == null) {
+ fail("Should NOT be null");
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(5).getLocalName().equals("eventHandlers") == false) {
+ fail("Child 5 not as expected: "+component.getDOMElement().getChildNodes().
+ item(5).getLocalName());
+ }
+ }
+
+ public void testSetFaultHandlers() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ BPELProcess component=new BPELProcess(model, ifelem);
+
+ if (component.getFaultHandlers() != null) {
+ fail("Should be null");
+ }
+
+ FaultHandlers elem=new FaultHandlers(model);
+ component.setFaultHandlers(elem);
+
+ if (component.getFaultHandlers() == null) {
+ fail("Should NOT be null");
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(4).getLocalName().equals("faultHandlers") == false) {
+ fail("Child 4 not as expected: "+component.getDOMElement().getChildNodes().
+ item(4).getLocalName());
+ }
+ }
+
+ public void testSetActivity() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ BPELProcess component=new BPELProcess(model, ifelem);
+
+ if (component.getActivity() != null) {
+ fail("Should be null");
+ }
+
+ Sequence elem=new Sequence(model);
+ component.setActivity(elem);
+
+ if (component.getActivity() == null) {
+ fail("Should NOT be null");
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(6).getLocalName().equals(Sequence.SEQUENCE) == false) {
+ fail("Child 6 not as expected: "+component.getDOMElement().getChildNodes().
+ item(6).getLocalName());
+ }
+ }
+}
17 years, 3 months