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+"(a)"+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+"(a)"+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>