[overlord-commits] Overlord SVN: r521 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/util and 3 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Wed Feb 25 09:20:10 EST 2009


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 at Broker.bpel
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess at 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 at 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 at Broker"));
+        suite.addTest(new ConversationToBPELTest("PurchaseGoodsProcess at 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 at Broker.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoodsProcess at 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 at 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 at Broker.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/ESBBrokerProcess at 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 at Broker.scv	2009-02-25 14:20:10 UTC (rev 521)
@@ -37,7 +37,7 @@
 		}
 	}
 	
-	conversation RequestForQuote at Broker {
+   conversation RequestForQuote at 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 at Broker.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/generator/testmodels/PurchaseGoodsProcess at 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 at Broker.scv	2009-02-25 14:20:10 UTC (rev 521)
@@ -0,0 +1,15 @@
+namespace org.pi4soa.purchase.purchasegoods;
+
+conversation PurchaseGoodsProcess at Broker conforms to Purchasing at Buyer, Purchasing at Store, Common at 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




More information about the overlord-commits mailing list