Overlord SVN: r643 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/model/change and 5 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-16 15:44:22 -0400 (Tue, 16 Jun 2009)
New Revision: 643
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Buyer.scv
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/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/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.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/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)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
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/results/ReqRespFault(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel
Log:
Export fault variable, to enable fault type to be derived. Finished first bpel to scv conversion example.
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-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java 2009-06-16 19:44:22 UTC (rev 643)
@@ -50,6 +50,10 @@
m_bpelProcess = new BPELProcess(this, elem);
m_contents = contents;
+ Namespace ns=new Namespace();
+ ns.setName(source.getNamespace());
+ setNamespace(ns);
+
// Initialize the existing model
Conversation conv=m_bpelProcess.convert();
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-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-06-16 19:44:22 UTC (rev 643)
@@ -111,10 +111,17 @@
InteractionPatterns.isFaultResponse(
(Interaction)act)) {
String faultName=InteractionPatterns.getFaultName((Interaction)act);
+ String faultVarName=InteractionPatterns.getVariableName((Interaction)act);
Catch c=new Catch(bpelModel);
c.setFaultName(faultName);
+ c.setFaultVariable(faultVarName);
+ // Create variable
+ if (faultVarName != null) {
+ createVariable(faultVarName, (Interaction)act, bpelModel);
+ }
+
fh.addCatch(c);
subseq = new Sequence(bpelModel);
@@ -134,29 +141,7 @@
// Create variable
if (varName != null) {
- org.jboss.tools.overlord.cdl.bpel.model.component.Variable var=
- bpelModel.getBPELProcess().getVariable(varName);
-
- if (var == null) {
- var = new org.jboss.tools.overlord.cdl.bpel.model.component.Variable(bpelModel);
- var.setName(varName);
-
- String mesgType=InteractionPatterns.getMessageTypeLocalPart((Interaction)act);
- String namespace=InteractionPatterns.getMessageTypeNameSpace((Interaction)act);
-
- // Find namespace prefix
- if (namespace != null) {
- String prefix=bpelModel.getBPELProcess().addNamespace(namespace);
-
- if (prefix != null) {
- mesgType = prefix+":"+mesgType;
- }
- }
-
- var.setMessageType(mesgType);
-
- bpelModel.getBPELProcess().addVariable(var, -1);
- }
+ createVariable(varName, (Interaction)act, bpelModel);
}
}
}
@@ -265,29 +250,7 @@
// Create variable
if (varName != null) {
- org.jboss.tools.overlord.cdl.bpel.model.component.Variable var=
- bpelModel.getBPELProcess().getVariable(varName);
-
- if (var == null) {
- var = new org.jboss.tools.overlord.cdl.bpel.model.component.Variable(bpelModel);
- var.setName(varName);
-
- String mesgType=InteractionPatterns.getMessageTypeLocalPart(recv);
- String namespace=InteractionPatterns.getMessageTypeNameSpace(recv);
-
- // Find namespace prefix
- if (namespace != null) {
- String prefix=bpelModel.getBPELProcess().addNamespace(namespace);
-
- if (prefix != null) {
- mesgType = prefix+":"+mesgType;
- }
- }
-
- var.setMessageType(mesgType);
-
- bpelModel.getBPELProcess().addVariable(var, -1);
- }
+ createVariable(varName, recv, bpelModel);
}
// Set details on interaction
@@ -347,4 +310,38 @@
return(true);
}
+ /**
+ * This method creates a variable, if one does not already exist for the
+ * supplied name, with the message type associated with the supplied
+ * interaction.
+ *
+ * @param varName The variable name
+ * @param interaction The interaction associated with the variable
+ * @param bpelModel The BPEL model
+ */
+ protected void createVariable(String varName, Interaction interaction, BPELLanguageModel bpelModel) {
+ org.jboss.tools.overlord.cdl.bpel.model.component.Variable var=
+ bpelModel.getBPELProcess().getVariable(varName);
+
+ if (var == null) {
+ var = new org.jboss.tools.overlord.cdl.bpel.model.component.Variable(bpelModel);
+ var.setName(varName);
+
+ String mesgType=InteractionPatterns.getMessageTypeLocalPart(interaction);
+ String namespace=InteractionPatterns.getMessageTypeNameSpace(interaction);
+
+ // Find namespace prefix
+ if (namespace != null) {
+ String prefix=bpelModel.getBPELProcess().addNamespace(namespace);
+
+ if (prefix != null) {
+ mesgType = prefix+":"+mesgType;
+ }
+ }
+
+ var.setMessageType(mesgType);
+
+ bpelModel.getBPELProcess().addVariable(var, -1);
+ }
+ }
}
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-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-06-16 19:44:22 UTC (rev 643)
@@ -17,11 +17,13 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.component;
-import java.util.List;
-
import org.scribble.conversation.model.Conversation;
+import org.scribble.conversation.model.ConversationNotation;
import org.scribble.model.*;
+import org.scribble.model.admin.DependencyType;
import org.scribble.model.admin.ModelListener;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.jboss.tools.overlord.cdl.bpel.model.*;
/**
@@ -35,6 +37,9 @@
public static final String PROCESS = "process";
public static final String NAME = "name";
+ public static final String CONVERSATION_TYPE = "conversationType";
+
+ public static final String CONVERSATION_NS="http://www.scribble.org/conversation";
/**
* The constructor for the activity.
@@ -226,6 +231,25 @@
}
/**
+ * This method sets the conversation type.
+ *
+ * @param ctype The conversation type
+ */
+ public void setConversationType(String ctype) {
+ getDOMElement().setAttributeNS(CONVERSATION_NS, CONVERSATION_TYPE, ctype);
+ }
+
+ /**
+ * This method returns the conversation type.
+ *
+ * @return The conversation type
+ */
+ public String getConversationType() {
+ return(getDOMElement().hasAttributeNS(CONVERSATION_NS, CONVERSATION_TYPE)?
+ getDOMElement().getAttributeNS(CONVERSATION_NS, CONVERSATION_TYPE):null);
+ }
+
+ /**
* This method returns the prefix associated with the
* supplied namespace.
*
@@ -529,15 +553,69 @@
ret.derivedFrom(this);
ret.getBlock().derivedFrom(this);
-
+
// Configure model name
ModelName modelName=new ModelName();
modelName.setName(getName());
ret.setModelName(modelName);
- DefaultConversionContext context=new DefaultConversionContext();
+ // Define implements reference for conversation type
+ String convType=getConversationType();
+ String role=null;
+ if (convType != null) {
+ int index=convType.indexOf('@');
+
+ if (index != -1) {
+ // TODO: Need to think whether this should be
+ // 'implements' reference. If so, then need to change
+ // Java Lang Model parser and also Lang Model conformance
+ // rule.
+ ImplementsReference iref=
+ new ImplementsReference(ConversationNotation.NOTATION_CODE);
+
+ role = convType.substring(index+1);
+
+ iref.setLocatedRole(role);
+
+ // Need to locate the model name
+ modelName.setLocatedRole(new Role(iref.getLocatedRole()));
+
+ String mainpart=convType.substring(0, index);
+
+ index = mainpart.lastIndexOf(".");
+
+ if (index == -1) {
+ iref.setNamespace("");
+ iref.setLocalpart(mainpart);
+ } else {
+ iref.setNamespace(mainpart.substring(0, index));
+ iref.setLocalpart(mainpart.substring(index+1));
+ }
+
+ ret.getImplements().add(iref);
+ //ret.getConformsTo().add(iref);
+
+ org.scribble.model.admin.DependencyManager dm=
+ (org.scribble.model.admin.DependencyManager)
+ org.scribble.extensions.RegistryFactory.getRegistry().getExtension(
+ org.scribble.model.admin.DependencyManager.class, null);
+
+ if (dm != null) {
+ dm.recordDependency(getModel().getModelReference(),
+ iref, DependencyType.Implements);
+ }
+
+ } else {
+ logger.warn("Conversation type does not " +
+ "contain '@' located role separator");
+ }
+ }
+
+ // Convert the process contents
+ DefaultConversionContext context=new DefaultConversionContext(role);
+
// Add variables to the context
for (int i=0; i < m_variables.size(); i++) {
context.addVariable(m_variables.get(i));
@@ -548,6 +626,8 @@
return(ret);
}
+ private static Log logger = LogFactory.getLog(BPELProcess.class);
+
private org.w3c.dom.Element m_partnerLinksElem=null;
private org.w3c.dom.Element m_messageExchangesElem=null;
private org.w3c.dom.Element m_variablesElem=null;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java 2009-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java 2009-06-16 19:44:22 UTC (rev 643)
@@ -24,6 +24,16 @@
public class DefaultConversionContext implements ConversionContext {
/**
+ * This is the constructor for the conversion context, initialised
+ * with the role being played by the converted BPEL process.
+ *
+ * @param role The role
+ */
+ public DefaultConversionContext(String role) {
+ m_role = role;
+ }
+
+ /**
* This method returns the role associated with the
* endpoint being converted.
*
@@ -53,7 +63,7 @@
m_variables.put(var.getName(), var);
}
- private String m_role="myRole";
+ private String m_role=null;
private java.util.Map<String,Variable> m_variables=
new java.util.HashMap<String,Variable>();
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-16 19:44:22 UTC (rev 643)
@@ -568,6 +568,10 @@
invoke.convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(), context);
+ if (catchBlock.getActivity() != null) {
+ catchBlock.getActivity().convert(fcb.getContents(), context);
+ }
+
choice.getConditionalBlocks().add(fcb);
}
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-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-06-16 19:44:22 UTC (rev 643)
@@ -23,6 +23,7 @@
import org.jboss.tools.overlord.cdl.bpel.model.BPELNotation;
import org.jboss.tools.overlord.cdl.bpel.model.DefaultBPELLanguageModel;
+import org.jboss.tools.overlord.cdl.bpel.parser.ParserTest;
import org.jboss.tools.overlord.cdl.bpel.util.XMLUtils;
import org.scribble.conversation.model.ConversationNotation;
import org.pi4soa.scribble.cdm.model.CDMNotation;
@@ -299,6 +300,7 @@
* @param bpel The BPEL
*/
protected void checkResults(TestResult result, String bpel) {
+ boolean f_valid=false;
String filename="results/"+m_name+"@"+m_role+".bpel";
@@ -318,12 +320,9 @@
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+"]");
+ new Throwable("Generated Conversation does not match stored version"));
+ } else {
+ f_valid = true;
}
} catch(Exception e) {
result.addError(this, e);
@@ -333,6 +332,65 @@
new Throwable("Resulting BPEL '"+filename+
"' not found for comparison"));
}
+
+ if (f_valid == false) {
+ String bpelfile="testmodels/"+m_name+".cdm";
+
+ java.net.URL url=GeneratorTest.class.getResource(bpelfile);
+
+ try {
+ url = org.eclipse.core.runtime.FileLocator.toFileURL(url);
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+
+ if (url != null) {
+ // URL will point to copy of test models in the classes folder, so need
+ // to obtain reference back to source version
+ java.io.File f=null;
+
+ if (url.getFile().indexOf("classes") != -1) {
+ f = new java.io.File(url.getFile().replaceFirst("classes","src/plugintest"));
+ } else if (url.getFile().indexOf("bin") != -1) {
+ f = new java.io.File(url.getFile().replaceFirst("bin","src/plugintest"));
+ } else {
+ result.addError(this, new Exception("Could not locate results folder to record expected result"));
+ }
+
+ if (f != null && f.exists()) {
+ f = f.getParentFile().getParentFile();
+
+ java.io.File resultsDir=new java.io.File(f, "results");
+
+ if (resultsDir.exists() == false) {
+ resultsDir.mkdirs();
+ }
+
+ java.io.File resultFile=new java.io.File(resultsDir,
+ m_name+"@"+m_role+".expected");
+
+ if (resultFile.exists() == false) {
+ try {
+ java.io.FileOutputStream fos=new java.io.FileOutputStream(resultFile);
+
+ fos.write(bpel.getBytes());
+
+ fos.flush();
+ fos.close();
+
+ } catch(Exception e){
+ result.addError(this, e);
+ }
+ } else {
+ System.err.println("NOTE: Expected output '"+resultFile+
+ "' already exists - not being overwritten");
+ }
+ } else {
+ result.addError(this, new Throwable("Unable to obtain URL for CDM model source '"+
+ m_name+"': "+url));
+ }
+ }
+ }
}
private String m_name=null;
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-06-15 22:16:46 UTC (rev 642)
+++ 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-06-16 19:44:22 UTC (rev 643)
@@ -13,6 +13,7 @@
<variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
<variable messageType="orderConfirmed" name="orderConfirmedVar"/>
<variable messageType="bookingReference" name="bookingReferenceVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
<variable messageType="orderRejected" name="orderRejectedVar"/>
<variable messageType="buy" name="buyVar"/>
<variable messageType="cancel" name="cancelVar"/>
@@ -36,7 +37,7 @@
<sequence>
<scope>
<faultHandlers>
- <catch faultName="invalidCredit">
+ <catch faultName="invalidCredit" faultVariable="creditCheckInvalidVar">
<sequence>
<reply faultName="rejected" operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT" variable="orderRejectedVar"/>
</sequence>
Modified: 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 2009-06-15 22:16:46 UTC (rev 642)
+++ 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-06-16 19:44:22 UTC (rev 643)
@@ -7,6 +7,7 @@
<variable messageType="quoteList" name="quoteListVar"/>
<variable messageType="buy" name="buyVar"/>
<variable messageType="bookingReference" name="bookingReferenceVar"/>
+ <variable messageType="orderRejected" name="orderRejectedVar"/>
<variable messageType="cancel" name="cancelVar"/>
</variables>
<sequence>
@@ -18,7 +19,7 @@
<sequence>
<scope>
<faultHandlers>
- <catch faultName="rejected">
+ <catch faultName="rejected" faultVariable="orderRejectedVar">
<sequence/>
</catch>
</faultHandlers>
Modified: 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 2009-06-15 22:16:46 UTC (rev 642)
+++ 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-06-16 19:44:22 UTC (rev 643)
@@ -5,11 +5,12 @@
<variables>
<variable messageType="BuyRequest" name="buyRequestVar"/>
<variable messageType="BuyConfirmed" name="buyConfirmedVar"/>
+ <variable messageType="BuyFailed" name="buyFailedVar"/>
</variables>
<sequence>
<scope>
<faultHandlers>
- <catch faultName="BuyFailed">
+ <catch faultName="BuyFailed" faultVariable="buyFailedVar">
<sequence/>
</catch>
</faultHandlers>
Modified: 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/results/PurchaseGoods(a)Store.bpel 2009-06-15 22:16:46 UTC (rev 642)
+++ 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-06-16 19:44:22 UTC (rev 643)
@@ -8,13 +8,14 @@
<variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
<variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
<variable messageType="BuyConfirmed" name="buyConfirmedVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
<variable messageType="BuyFailed" name="buyFailedVar"/>
</variables>
<sequence>
<receive operation="buy" partnerLink="BuyerToStore" portType="StorePT" variable="buyRequestVar"/>
<scope>
<faultHandlers>
- <catch faultName="CreditCheckFailed">
+ <catch faultName="CreditCheckFailed" faultVariable="creditCheckInvalidVar">
<sequence>
<reply faultName="BuyFailed" operation="buy" partnerLink="BuyerToStore" portType="StorePT" variable="buyFailedVar"/>
</sequence>
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-06-15 22:16:46 UTC (rev 642)
+++ 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-06-16 19:44:22 UTC (rev 643)
@@ -5,11 +5,12 @@
<variables>
<variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
<variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
</variables>
<sequence>
<scope>
<faultHandlers>
- <catch faultName="insufficientCredit">
+ <catch faultName="insufficientCredit" faultVariable="creditCheckInvalidVar">
<sequence/>
</catch>
</faultHandlers>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Buyer.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Buyer.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Buyer.scv 2009-06-16 19:44:22 UTC (rev 643)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation PurchaseGoodsProcess_Buyer@Buyer implements PurchaseGoodsProcess@Buyer {
+ buy(BuyRequest) from Buyer to Store;
+ if {
+ buy(BuyConfirmed) from Store to Buyer;
+ } else if {
+ buy(BuyFailed) from Store to Buyer;
+ }
+}
\ No newline at end of file
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel 2009-06-15 22:16:46 UTC (rev 642)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel 2009-06-16 19:44:22 UTC (rev 643)
@@ -1,15 +1,17 @@
-<process name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:scv="http://www.scribble.org/conversation" scv:conversationType="PurchaseGoodsProcess@Buyer" >
<partnerLinks>
<partnerLink name="BuyerToStore" partnerLinkType="BuyerToStoreLT" partnerRole="StoreRequester"/>
</partnerLinks>
<variables>
<variable messageType="BuyRequest" name="buyRequestVar"/>
<variable messageType="BuyConfirmed" name="buyConfirmedVar"/>
+ <variable messageType="BuyFailed" name="buyFailedVar"/>
</variables>
<sequence>
<scope>
<faultHandlers>
- <catch faultName="BuyFailed">
+ <catch faultName="BuyFailed" faultVariable="buyFailedVar">
<sequence/>
</catch>
</faultHandlers>
14 years, 10 months
Overlord SVN: r642 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel: src/java/org/jboss/tools/overlord/cdl/bpel/actions and 9 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-15 18:16:46 -0400 (Mon, 15 Jun 2009)
New Revision: 642
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel
Removed:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java
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/actions/GenerateAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.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/DefaultBPELLanguageModel.java
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/BPELElement.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.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/Catch.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.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/Link.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.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/PartnerLink.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java
Log:
Added initial support for parsing with some conversion tests.
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF 2009-06-15 22:16:46 UTC (rev 642)
@@ -14,8 +14,8 @@
org.eclipse.jdt.core,
org.junit,
org.scribble.conversation.parser,
- org.apache.log4j;bundle-version="1.2.13",
- org.pi4soa.scribble;resolution:=optional
+ org.pi4soa.scribble;resolution:=optional,
+ org.apache.commons.logging
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/actions/GenerateAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/actions/GenerateAction.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/actions/GenerateAction.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.actions;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.action.IAction;
@@ -108,7 +108,7 @@
mbox.open();
}
- private static Logger logger = Logger.getLogger(GenerateAction.class);
+ private static Log logger = LogFactory.getLog(GenerateAction.class);
private ISelection m_selection=null;
private IWorkbenchPart m_targetPart=null;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/dialogs/GenerateDialog.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.dialogs;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
@@ -368,7 +368,7 @@
logger.error(mesg, ex);
}
- private static Logger logger = Logger.getLogger(GenerateDialog.class);
+ private static Log logger = LogFactory.getLog(GenerateDialog.class);
private IFile m_file=null;
private ConversationModel m_conversationModel=null;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/eclipse/Activator.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -1,6 +1,6 @@
package org.jboss.tools.overlord.cdl.bpel.eclipse;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.ui.plugin.AbstractUIPlugin;
@@ -69,5 +69,5 @@
(t == null ? "" : ": "+t), t);
}
- private static Logger logger = Logger.getLogger(Activator.class);
+ private static Log logger = LogFactory.getLog(Activator.class);
}
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.generator;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.eclipse.core.resources.IFile;
import org.jboss.tools.overlord.cdl.bpel.generator.BuildSystem;
import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -204,7 +204,7 @@
return(m_buildSystem);
}
- private static Logger logger = Logger.getLogger(Generator.class);
+ private static Log logger = LogFactory.getLog(Generator.class);
private IFile m_file=null;
private java.util.List<ModelReference> m_localModelRefs=null;
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -1,30 +0,0 @@
-/*
- * 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;
-
-public interface ConversionContext {
-
- /**
- * This method returns the role associated with the
- * endpoint being converted.
- *
- *@return The role
- */
- public String getRole();
-
-}
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,8 +17,9 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.jboss.tools.overlord.cdl.bpel.model.component.BPELProcess;
+import org.scribble.conversation.model.Conversation;
import org.scribble.model.*;
import org.scribble.model.admin.ModelIssue;
import org.scribble.model.admin.ModelListener;
@@ -48,6 +49,15 @@
m_source = source;
m_bpelProcess = new BPELProcess(this, elem);
m_contents = contents;
+
+ // Initialize the existing model
+ Conversation conv=m_bpelProcess.convert();
+
+ if (conv != null) {
+ getConversations().add(conv);
+ } else {
+ // Log error?
+ }
}
/**
@@ -110,7 +120,7 @@
return(m_bpelProcess);
}
- private static Logger logger = Logger.getLogger(DefaultBPELLanguageModel.class);
+ private static Log logger = LogFactory.getLog(DefaultBPELLanguageModel.class);
private ModelReference m_source=null;
private BPELProcess m_bpelProcess=null;
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractCondition.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElement.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -19,7 +19,7 @@
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.jboss.tools.overlord.cdl.bpel.model.*;
/**
@@ -295,7 +295,7 @@
public abstract void convert(java.util.List<Activity> activities,
ConversionContext context);
- private static Logger logger = Logger.getLogger(BPELElement.class);
+ private static Log logger = LogFactory.getLog(BPELElement.class);
private BPELLanguageModel m_model=null;
private org.w3c.dom.Element m_element=null;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELElementFactory.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.component;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
public class BPELElementFactory {
@@ -64,5 +64,5 @@
return(ret);
}
- private static Logger logger = Logger.getLogger(BPELElementFactory.class);
+ private static Log logger = LogFactory.getLog(BPELElementFactory.class);
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELGroupingConstruct.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.component;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.jboss.tools.overlord.cdl.bpel.model.*;
/**
@@ -66,7 +66,7 @@
return(m_activity);
}
- private static Logger logger = Logger.getLogger(BPELGroupingConstruct.class);
+ private static Log logger = LogFactory.getLog(BPELGroupingConstruct.class);
private BPELElement m_activity=null;
}
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -19,6 +19,7 @@
import java.util.List;
+import org.scribble.conversation.model.Conversation;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -509,8 +510,44 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ // TODO: Deal with fault and event handlers
+
+ if (m_activity != null) {
+ m_activity.convert(activities, context);
+ }
}
+
+ /**
+ * This method returns the conversion associated with the
+ * BPEL process.
+ *
+ * @return The conversation
+ */
+ public Conversation convert() {
+ Conversation ret=new Conversation();
+
+ ret.derivedFrom(this);
+ ret.getBlock().derivedFrom(this);
+ // Configure model name
+ ModelName modelName=new ModelName();
+ modelName.setName(getName());
+
+ ret.setModelName(modelName);
+
+ DefaultConversionContext context=new DefaultConversionContext();
+
+ // Add variables to the context
+ for (int i=0; i < m_variables.size(); i++) {
+ context.addVariable(m_variables.get(i));
+ }
+
+ convert(ret.getBlock().getContents(), context);
+
+ return(ret);
+ }
+
private org.w3c.dom.Element m_partnerLinksElem=null;
private org.w3c.dom.Element m_messageExchangesElem=null;
private org.w3c.dom.Element m_variablesElem=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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CatchAll.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/CompensationHandler.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java (from rev 641, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/ConversionContext.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ConversionContext.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,46 @@
+/*
+ * 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;
+
+public interface ConversionContext {
+
+ /**
+ * This method returns the role associated with the
+ * endpoint being converted.
+ *
+ *@return The role
+ */
+ public String getRole();
+
+ /**
+ * This method returns the variable associated with the
+ * supplied name.
+ *
+ * @param name The name
+ * @return The variable, or null if not found
+ */
+ public Variable getVariable(String name);
+
+ /**
+ * This method adds a variable to the context.
+ *
+ * @param var The variable
+ */
+ public void addVariable(Variable var);
+
+}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/DefaultConversionContext.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,59 @@
+/*
+ * 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;
+
+/**
+ * This class provides a default implementation of the conversation
+ * context.
+ */
+public class DefaultConversionContext implements ConversionContext {
+
+ /**
+ * This method returns the role associated with the
+ * endpoint being converted.
+ *
+ *@return The role
+ */
+ public String getRole() {
+ return(m_role);
+ }
+
+ /**
+ * This method returns the variable associated with the
+ * supplied name.
+ *
+ * @param name The name
+ * @return The variable, or null if not found
+ */
+ public Variable getVariable(String name) {
+ return(m_variables.get(name));
+ }
+
+ /**
+ * This method adds a variable to the context.
+ *
+ * @param var The variable
+ */
+ public void addVariable(Variable var) {
+ m_variables.put(var.getName(), var);
+ }
+
+ private String m_role="myRole";
+ private java.util.Map<String,Variable> m_variables=
+ new java.util.HashMap<String,Variable>();
+}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/FaultHandlers.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -19,9 +19,8 @@
import java.util.List;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
@@ -131,7 +130,7 @@
}
- private static Logger logger=Logger.getLogger(FaultHandlers.class);
+ private static Log logger=LogFactory.getLog(FaultHandlers.class);
private CatchAll m_catchAll=null;
private java.util.List<Catch> m_catchPaths=
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -19,7 +19,7 @@
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
-import org.apache.log4j.Logger;
+import org.apache.commons.logging.*;
import org.jboss.tools.overlord.cdl.bpel.model.*;
/**
@@ -225,7 +225,7 @@
return(m_elsePath);
}
- private static Logger logger=Logger.getLogger(If.class);
+ private static Log logger=LogFactory.getLog(If.class);
private Condition m_condition=null;
private BPELElement m_activity=null;
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -17,6 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.component;
+import org.scribble.conversation.model.ConversationInteraction;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -114,5 +115,92 @@
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
}
+
+ protected void convertRequest(java.util.List<Activity> activities,
+ ConversionContext context) {
+ // Create interaction for request
+ ConversationInteraction interaction=new ConversationInteraction();
+
+ TypeReference tref=new TypeReference();
+
+ Variable var=context.getVariable(getInputVariable());
+
+ if (var != null) {
+ tref.setAlias(var.getMessageType());
+ }
+
+ MessageSignature ms=new MessageSignature();
+ ms.setOperation(getOperation());
+ ms.getTypes().add(tref);
+
+ interaction.setFromRole(new Role(context.getRole()));
+ interaction.setToRole(new Role(getPartnerRole()));
+
+ interaction.setMessageSignature(ms);
+
+ activities.add(interaction);
+ }
+ protected void convertResponse(java.util.List<Activity> activities,
+ ConversionContext context) {
+
+ // Create interaction for request
+ ConversationInteraction interaction=new ConversationInteraction();
+
+ TypeReference tref=new TypeReference();
+
+ Variable var=context.getVariable(getOutputVariable());
+
+ if (var != null) {
+ tref.setAlias(var.getMessageType());
+ }
+
+ MessageSignature ms=new MessageSignature();
+ ms.setOperation(getOperation());
+ ms.getTypes().add(tref);
+
+ interaction.setFromRole(new Role(getPartnerRole()));
+ interaction.setToRole(new Role(context.getRole()));
+
+ interaction.setMessageSignature(ms);
+
+ activities.add(interaction);
+ }
+
+ protected void convertFaultResponse(java.util.List<Activity> activities,
+ String faultVar, ConversionContext context) {
+
+ // Create interaction for request
+ ConversationInteraction interaction=new ConversationInteraction();
+
+ TypeReference tref=new TypeReference();
+
+ Variable var=context.getVariable(faultVar);
+
+ if (var != null) {
+ tref.setAlias(var.getMessageType());
+ }
+
+ MessageSignature ms=new MessageSignature();
+ ms.setOperation(getOperation());
+ ms.getTypes().add(tref);
+
+ interaction.setFromRole(new Role(getPartnerRole()));
+ interaction.setToRole(new Role(context.getRole()));
+
+ interaction.setMessageSignature(ms);
+
+ activities.add(interaction);
+ }
+
+ protected String getPartnerRole() {
+ String ret=getPartnerLink();
+ int index=-1;
+
+ if (ret != null && (index=ret.indexOf("To")) != -1) {
+ ret = ret.substring(index+2);
+ }
+
+ return(ret);
+ }
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Link.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnAlarm.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnEvent.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
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-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/PartnerLink.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -19,6 +19,8 @@
import java.util.List;
+import org.scribble.conversation.model.ConditionalBlock;
+import org.scribble.conversation.model.ConversationInteraction;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -305,7 +307,7 @@
*
* @param act The activity
*/
- public void setActivity(BPELElement act) {
+ public void setActivity(BPELActivity act) {
m_activity = act;
BPELElement existing=findChildActivity();
@@ -327,7 +329,7 @@
*
* @return The activity
*/
- public BPELElement getActivity() {
+ public BPELActivity getActivity() {
return(m_activity);
}
@@ -523,7 +525,69 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ // Add variables to the context
+ for (int i=0; i < m_variables.size(); i++) {
+ context.addVariable(m_variables.get(i));
+ }
+
+ // Check whether scope has been defined to represent
+ // an interaction with one or more fault responses and
+ // no event handlers
+ Invoke invoke=null;
+
+ if (m_faultHandlers != null && (m_faultHandlers.getCatchPaths().size() > 0 ||
+ m_faultHandlers.getCatchAll() != null) &&
+ (m_eventHandlers == null || (m_eventHandlers.getOnEvents().size() == 0 &&
+ m_eventHandlers.getOnAlarms().size() == 0)) &&
+ (invoke = getInvoke(m_activity)) != null) {
+
+ invoke.convertRequest(activities, context);
+
+ // Create choice with normal response and fault paths
+ org.scribble.conversation.model.If choice=new org.scribble.conversation.model.If();
+
+ ConditionalBlock cb=new ConditionalBlock();
+
+ invoke.convertResponse(cb.getContents(), context);
+
+ // Include remaining activities
+ if (m_activity instanceof Sequence) {
+ for (int i=1; i < ((Sequence)m_activity).getActivities().size(); i++) {
+ ((Sequence)m_activity).getActivities().get(i).convert(cb.getContents(), context);
+ }
+ }
+
+ choice.getConditionalBlocks().add(cb);
+
+ // Process fault handlers
+ for (int i=0; i < m_faultHandlers.getCatchPaths().size(); i++) {
+ Catch catchBlock=m_faultHandlers.getCatchPaths().get(i);
+
+ ConditionalBlock fcb=new ConditionalBlock();
+
+ invoke.convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(), context);
+
+ choice.getConditionalBlocks().add(fcb);
+ }
+
+ activities.add(choice);
+ }
}
+
+ protected Invoke getInvoke(BPELActivity act) {
+ Invoke ret=null;
+
+ if (act instanceof Invoke) {
+ ret = (Invoke)act;
+ } else if (act instanceof Sequence &&
+ ((Sequence)m_activity).getActivities().size() > 0 &&
+ ((Sequence)m_activity).getActivities().get(0) instanceof Invoke) {
+ ret = (Invoke)((Sequence)m_activity).getActivities().get(0);
+ }
+
+ return(ret);
+ }
private org.w3c.dom.Element m_partnerLinksElem=null;
private org.w3c.dom.Element m_variablesElem=null;
@@ -535,5 +599,5 @@
private FaultHandlers m_faultHandlers=null;
private CompensationHandler m_compensationHandler=null;
private TerminationHandler m_terminationHandler=null;
- private BPELElement m_activity;
+ private BPELActivity m_activity;
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -135,6 +135,10 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ for (int i=0; i < m_activities.size(); i++) {
+ m_activities.get(i).convert(activities, context);
+ }
}
private java.util.List<BPELActivity> m_activities=
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/TerminationHandler.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
/**
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,237 @@
+/*
+ * 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.parser;
+
+import junit.framework.TestCase;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELNotation;
+import org.scribble.conversation.model.ConversationModel;
+import org.scribble.lang.model.*;
+import org.scribble.conversation.model.ConversationNotation;
+import org.scribble.extensions.RegistryFactory;
+import org.scribble.model.ModelReference;
+
+public class ParserTest extends TestCase {
+
+ public static TestSuite suite() {
+ TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
+
+ suite.addTest(new BPELToConversationTest("PurchaseGoods@Buyer"));
+
+ return suite;
+ }
+
+ /**
+ * The test case for running the BPEL to Conversation test.
+ */
+ protected static class BPELToConversationTest extends TestCase {
+
+ /**
+ * This constructor is initialized with the test
+ * name.
+ *
+ * @param name The test name
+ */
+ public BPELToConversationTest(String name) {
+ super(name);
+ m_name = name;
+ }
+
+ /**
+ * This method runs the test.
+ *
+ * @param result The test result
+ */
+ public void run(TestResult result) {
+ result.startTest(this);
+
+ String filename="testmodels/"+m_name+".bpel";
+
+ java.io.InputStream is=
+ ParserTest.class.getResourceAsStream(filename);
+
+ if (is == null) {
+ result.addError(this,
+ new Throwable("Unable to locate resource: "+filename));
+ } else {
+ org.scribble.parser.Parser p=new org.scribble.parser.DefaultParser();
+ org.scribble.model.ModelReference ref=
+ new org.scribble.model.ModelReference(BPELNotation.NOTATION_CODE);
+ org.scribble.model.admin.DefaultModelListener 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 if ((model instanceof LanguageModel) == false) {
+ result.addError(this, new Throwable("Model is null"));
+
+ } else if (l.getErrors().size() != 0) {
+ result.addError(this, new Throwable("Failed to parse CDM Model"));
+
+ for (int i=0; i < l.getErrors().size(); i++) {
+ System.err.println("ModelIssue: "+
+ l.getErrors().get(i).getMessage());
+ }
+ } else {
+ LanguageModel lm=(LanguageModel)model;
+ ConversationModel cm=new ConversationModel();
+
+ cm.setNamespace(lm.getNamespace());
+
+ if (lm.getConversations().size() == 1) {
+ cm.setConversation(lm.getConversations().get(0));
+ }
+
+ try {
+ org.scribble.export.Exporter exporter=
+ (org.scribble.export.Exporter)
+ RegistryFactory.getRegistry().getExtension(
+ org.scribble.export.Exporter.class, null);
+
+ org.scribble.export.text.TextFormatter formatter=
+ new org.scribble.export.text.TextFormatter();
+
+ java.io.ByteArrayOutputStream os=
+ new java.io.ByteArrayOutputStream();
+
+ formatter.setOutputStream(os);
+
+ exporter.export(new ModelReference(ConversationNotation.NOTATION_CODE),
+ cm, formatter);
+
+ String str=new String(os.toByteArray());
+
+ checkResults(result, str);
+
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ result.endTest(this);
+ }
+
+ /**
+ * This method checks the generated jboss-esb.xml against a
+ * previously stored correct version.
+ *
+ * @param result The test result
+ * @param conv The conversation
+ */
+ protected void checkResults(TestResult result, String conv) {
+ boolean f_valid=false;
+
+ String filename="results/"+m_name+".scv";
+
+ java.io.InputStream is=
+ ParserTest.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(conv) == false) {
+ result.addError(this,
+ new Throwable("Generated Conversation does not match stored version"));
+ } else {
+ f_valid = true;
+ }
+ } catch(Exception e) {
+ result.addError(this, e);
+ }
+ } else {
+ result.addError(this,
+ new Throwable("Resulting Conversation '"+filename+
+ "' not found for comparison"));
+ }
+
+ if (f_valid == false) {
+ String bpelfile="testmodels/"+m_name+".bpel";
+
+ java.net.URL url=ParserTest.class.getResource(bpelfile);
+
+ try {
+ url = org.eclipse.core.runtime.FileLocator.toFileURL(url);
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+
+ if (url != null) {
+ // URL will point to copy of test models in the classes folder, so need
+ // to obtain reference back to source version
+ java.io.File f=null;
+
+ if (url.getFile().indexOf("classes") != -1) {
+ f = new java.io.File(url.getFile().replaceFirst("classes","src/plugintest"));
+ } else if (url.getFile().indexOf("bin") != -1) {
+ f = new java.io.File(url.getFile().replaceFirst("bin","src/plugintest"));
+ } else {
+ result.addError(this, new Exception("Could not locate results folder to record expected result"));
+ }
+
+ if (f != null && f.exists()) {
+ f = f.getParentFile().getParentFile();
+
+ java.io.File resultsDir=new java.io.File(f, "results");
+
+ if (resultsDir.exists() == false) {
+ resultsDir.mkdirs();
+ }
+
+ java.io.File resultFile=new java.io.File(resultsDir, m_name+".expected");
+
+ if (resultFile.exists() == false) {
+ try {
+ java.io.FileOutputStream fos=new java.io.FileOutputStream(resultFile);
+
+ fos.write(conv.getBytes());
+
+ fos.flush();
+ fos.close();
+
+ } catch(Exception e){
+ result.addError(this, e);
+ }
+ } else {
+ System.err.println("NOTE: Expected output '"+resultFile+
+ "' already exists - not being overwritten");
+ }
+ } else {
+ result.addError(this, new Throwable("Unable to obtain URL for BPEL model source '"+
+ m_name+"': "+url));
+ }
+ }
+ }
+ }
+
+ private String m_name=null;
+ }
+}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Buyer.bpel 2009-06-15 22:16:46 UTC (rev 642)
@@ -0,0 +1,21 @@
+<process name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink name="BuyerToStore" partnerLinkType="BuyerToStoreLT" partnerRole="StoreRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="BuyRequest" name="buyRequestVar"/>
+ <variable messageType="BuyConfirmed" name="buyConfirmedVar"/>
+ </variables>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="BuyFailed">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke inputVariable="buyRequestVar" operation="buy" outputVariable="buyConfirmedVar" partnerLink="BuyerToStore" portType="StorePT"/>
+ </sequence>
+ </scope>
+ </sequence>
+</process>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
import org.w3c.dom.Element;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
import org.w3c.dom.Element;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java 2009-05-28 18:06:23 UTC (rev 641)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELElement.java 2009-06-15 22:16:46 UTC (rev 642)
@@ -20,7 +20,6 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.ConversionContext;
import org.scribble.model.Activity;
import org.w3c.dom.Element;
14 years, 10 months