Author: jeff.yuchang
Date: 2009-02-25 09:20:10 -0500 (Wed, 25 Feb 2009)
New Revision: 521
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/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/generator/Generator.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/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv
Log:
* Add the PurchaseGoodsProcess case.
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-02-19
15:59:56 UTC (rev 520)
+++
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java 2009-02-25
14:20:10 UTC (rev 521)
@@ -28,6 +28,7 @@
import org.eclipse.core.resources.IFile;
import org.jboss.tools.overlord.cdl.bpel.generator.BuildSystem;
import org.jboss.tools.overlord.cdl.bpel.model.*;
+import org.jboss.tools.overlord.cdl.bpel.util.XMLUtils;
import org.scribble.conversation.model.*;
import org.scribble.extensions.RegistryFactory;
import org.scribble.model.*;
@@ -181,7 +182,7 @@
bpelFile.create(null, true,
new org.eclipse.core.runtime.NullProgressMonitor());
- String bpelText=getText(bpel);
+ String bpelText=XMLUtils.toText(bpel);
if (bpelText != null) {
bpelFile.setContents(new java.io.ByteArrayInputStream(
@@ -202,140 +203,6 @@
return(project);
}
-
- /**
- * This class converts a DOM representation node to
- * text.
- *
- * @param node The DOM node
- * @return The text
- * @throws Exception Failed to convert
- */
- protected String getText(Node node) throws Exception {
- String ret=null;
-
- try {
- // Transform the DOM represent to text
- java.io.ByteArrayOutputStream xmlstr=
- new java.io.ByteArrayOutputStream();
-
- DOMSource source=new DOMSource();
- source.setNode(node);
-
- StreamResult result=new StreamResult(xmlstr);
-
- Transformer trans=
- TransformerFactory.newInstance().newTransformer();
- trans.transform(source, result);
-
- xmlstr.close();
-
- ret = new String(xmlstr.toByteArray());
-
- if ((node instanceof org.w3c.dom.Document) == false) {
-
- // Strip off any <?xml> header
- int index=ret.indexOf("<?xml");
- if (index != -1) {
- index = ret.indexOf("<", 1);
-
- if (index != -1) {
- ret = ret.substring(index);
- } else {
- index = ret.indexOf("?>");
-
- if (index != -1) {
- index += 2;
-
- // Remove any trailing whitespaces
- // after XML header
- while (index < ret.length() &&
- Character.isWhitespace(ret.charAt(index))) {
- index++;
- }
-
- ret = ret.substring(index);
- }
- }
- }
- }
-
- } catch(Exception e) {
- throw new Exception("Failed to transform " +
- "DOM representation into text", e);
- }
-
- int pos=0;
- int prevpos=0;
- StringBuffer buf=new StringBuffer();
- int level=0;
-
- while ((pos=ret.indexOf('<', prevpos)) != -1) {
-
- if (prevpos < pos &&
- ret.substring(prevpos, pos).trim().length() > 0 &&
- ret.charAt(prevpos-1) != '?') {
-
- if (ret.charAt(prevpos) == '\r' &&
- ret.charAt(prevpos+1) == '\n') {
- prevpos += 2;
- }
- for (int i=0; i < level; i++) {
- buf.append(" ");
- }
-
- buf.append(ret.substring(prevpos, pos).trim());
- buf.append("\r\n");
- }
-
- int endpos=ret.indexOf('>', pos);
-
- if (endpos > 0) {
- boolean noreturn=false;
-
- if (pos > 0 && ret.charAt(pos+1) == '/') {
- level--;
- }
-
- for (int i=0; i < level; i++) {
- buf.append(" ");
- }
- buf.append(ret.substring(pos, endpos+1));
-
- if (ret.charAt(endpos-1)== '?') {
- //noreturn = true;
-
- } else if (ret.charAt(endpos-1) == '/') {
- // Ignore
- } else if (pos > 0 && ret.charAt(pos+1) == '/') {
- // Ignore
-
- } else if (pos > 0 && ret.charAt(pos+1) == '!') {
- // Ignore
-
- } else {
- level++;
- }
-
- if (noreturn == false) {
- buf.append("\r\n");
- }
-
- pos = endpos+1;
- }
-
- prevpos = pos;
- }
-
- if (prevpos != -1 &&
- ret.substring(prevpos).trim().length() > 0) {
- buf.append(ret.substring(prevpos));
- }
-
- ret = buf.toString();
-
- return(ret);
- }
public BuildSystem getBuildSystem() {
return(m_buildSystem);
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-02-19
15:59:56 UTC (rev 520)
+++
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/util/XMLUtils.java 2009-02-25
14:20:10 UTC (rev 521)
@@ -169,7 +169,7 @@
}
public static void main(String[] args) throws Exception {
- String raw = "<?xml ?><books><book>The World is
Flat</book></books>";
+ String raw = "<books><book>The World is
Flat</book></books>";
String pretty = format(raw);
System.out.println(pretty);
}
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
---
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-02-19
15:59:56 UTC (rev 520)
+++
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-02-25
14:20:10 UTC (rev 521)
@@ -34,6 +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"));
return suite;
}
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel
===================================================================
---
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel
(rev 0)
+++
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess(a)Broker.bpel 2009-02-25
14:20:10 UTC (rev 521)
@@ -0,0 +1,18 @@
+<process>
+ <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>
\ 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/generator/testmodels/ESBBrokerProcess(a)Broker.scv
===================================================================
---
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv 2009-02-19
15:59:56 UTC (rev 520)
+++
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess(a)Broker.scv 2009-02-25
14:20:10 UTC (rev 521)
@@ -37,7 +37,7 @@
}
}
- conversation RequestForQuote@Broker {
+ conversation RequestForQuote@Broker {
role SupplierQuoteEngine;
getQuote(requestForQuote) to SupplierQuoteEngine request "getQuote";
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv
===================================================================
---
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv
(rev 0)
+++
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess(a)Broker.scv 2009-02-25
14:20:10 UTC (rev 521)
@@ -0,0 +1,15 @@
+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