Overlord SVN: r653 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel: src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-30 10:37:01 -0400 (Tue, 30 Jun 2009)
New Revision: 653
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/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
Log:
Updated manifest and test to use new Scribble/pi4soa/cdm plugin.
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-06-29 22:34:27 UTC (rev 652)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF 2009-06-30 14:37:01 UTC (rev 653)
@@ -14,9 +14,9 @@
org.eclipse.jdt.core,
org.junit,
org.scribble.conversation.parser,
- org.pi4soa.scribble;resolution:=optional,
org.apache.commons.logging,
- org.scribble.expression.xpath
+ org.scribble.expression.xpath,
+ org.scribble.pi4soa.cdm;resolution:=optional
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: www.jboss.org
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/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-29 22:34:27 UTC (rev 652)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-06-30 14:37:01 UTC (rev 653)
@@ -26,7 +26,7 @@
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;
+import org.scribble.pi4soa.cdm.model.CDMNotation;
import org.scribble.extensions.RegistryFactory;
import org.scribble.model.Definition;
import org.scribble.model.ModelReference;
14 years, 10 months
Overlord SVN: r652 - in cdl/trunk/tools/plugins: org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change and 9 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-29 18:34:27 -0400 (Mon, 29 Jun 2009)
New Revision: 652
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/model/change/ConversationInteractionModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.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.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBLanguageModel.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBService.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/IfModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/ConversationUtil.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/InteractionUtil.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationInteractionModelChangeRuleTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ParallelModelChangeRuleTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/RunModelChangeRuleTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/SpawnModelChangeRuleTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/WhileModelChangeRuleTest.java
Log:
Refactored to clarify located name as a concept rather than the previous 'ModelName', as the name is not really associated with the model, but the definition.
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-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/generator/Generator.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -171,7 +171,7 @@
IPath bpelPath=proj.getFullPath().append(
new Path(getBuildSystem().getBPELFilePath())).
append(localcm.getModelName().getName()+"_"+
- localcm.getModelName().getLocatedRole().getName()+".bpel");
+ localcm.getModelName().getRole().getName()+".bpel");
IFile bpelFile=proj.getProject().getWorkspace().getRoot().getFile(bpelPath);
GeneratorUtil.createParentFolder(bpelFile);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -97,7 +97,7 @@
if (interaction.getEnclosingDefinition() != null) {
role = interaction.getEnclosingDefinition().
- getModelName().getLocatedRole();
+ getLocatedName().getRole();
}
// Check if send or receive
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -95,8 +95,8 @@
if (conv.getParent() instanceof Model) {
// Set the name of the process
- bpelModel.getBPELProcess().setName(conv.getModelName().getName()+"_"+
- conv.getModelName().getLocatedRole().getName());
+ bpelModel.getBPELProcess().setName(conv.getLocatedName().getName()+"_"+
+ conv.getLocatedName().getRole().getName());
bpelModel.getBPELProcess().setConversationType(bpelModel.getModelReference().toText());
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-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -175,7 +175,7 @@
if (elem.getEnclosingDefinition() != null) {
role = elem.getEnclosingDefinition().
- getModelName().getLocatedRole();
+ getLocatedName().getRole();
}
for (int i=0; i < paths.size(); i++) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -654,10 +654,10 @@
ret.getBlock().derivedFrom(this);
// Configure model name
- ModelName modelName=new ModelName();
+ LocatedName modelName=new LocatedName();
modelName.setName(getName());
- ret.setModelName(modelName);
+ ret.setLocatedName(modelName);
// Define implements reference for conversation type
String convType=getConversationType();
@@ -679,7 +679,7 @@
iref.setLocatedRole(role);
// Need to locate the model name
- modelName.setLocatedRole(new Role(iref.getLocatedRole()));
+ modelName.setRole(new Role(iref.getLocatedRole()));
String mainpart=convType.substring(0, index);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -40,7 +40,7 @@
if (interaction.getEnclosingDefinition() != null) {
role = interaction.getEnclosingDefinition().
- getModelName().getLocatedRole();
+ getLocatedName().getRole();
}
if (role != null && ((interaction.getFromRole() != null &&
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -116,14 +116,14 @@
ModelReference targetRef=
new ModelReference(BPELNotation.NOTATION_CODE);
- targetRef.setAlias(defn.getModelName().getName());
- targetRef.setLocatedRole(defn.getModelName().getLocatedRole().getName());
+ targetRef.setAlias(defn.getLocatedName().getName());
+ targetRef.setLocatedRole(defn.getLocatedName().getRole().getName());
DefaultBPELLanguageModel target=
new DefaultBPELLanguageModel(targetRef);
generator.generate(targetRef,
- defn.getModelName().getLocatedRole(),
+ defn.getLocatedName().getRole(),
target, model);
if (target.getBPELProcess().getDOMElement() != null) {
@@ -344,7 +344,7 @@
new DefaultBPELLanguageModel(targetRef);
generator.generate(targetRef,
- defn.getModelName().getLocatedRole(),
+ defn.getLocatedName().getRole(),
target, projected);
if (target.getBPELProcess().getDOMElement() != null) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBLanguageModel.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBLanguageModel.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -140,7 +140,7 @@
org.scribble.extensions.RegistryFactory.getRegistry().getExtension(
org.scribble.model.admin.DependencyManager.class, null);
- ModelName mname=new ModelName();
+ LocatedName mname=new LocatedName();
mname.setName(m_source.getLocalpart());
setModelName(mname);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBService.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBService.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBService.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -706,10 +706,10 @@
ret.setStateless(isStateless());
// Configure model name
- ModelName modelName=new ModelName();
+ LocatedName modelName=new LocatedName();
modelName.setName(getServiceDescriptionName());
- ret.setModelName(modelName);
+ ret.setLocatedName(modelName);
String convType=getConversationType();
String role=null;
@@ -730,7 +730,7 @@
iref.setLocatedRole(role);
// Need to locate the model name
- modelName.setLocatedRole(new Role(iref.getLocatedRole()));
+ modelName.setRole(new Role(iref.getLocatedRole()));
String mainpart=convType.substring(0, index);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationModelChangeRule.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationModelChangeRule.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -114,8 +114,8 @@
sdname = "{"+namespace+"}";
}
- sdname += conv.getModelName().getName()+"-"+
- conv.getModelName().getLocatedRole().getName();
+ sdname += conv.getLocatedName().getName()+"-"+
+ conv.getLocatedName().getRole().getName();
mra.setServiceDescriptionName(sdname);
@@ -153,8 +153,8 @@
// Set conversation type based on conversation
// namespace and name
ctype = namespace+"."+
- conv.getModelName().getName()+"@"+
- conv.getModelName().getLocatedRole().getName();
+ conv.getLocatedName().getName()+"@"+
+ conv.getLocatedName().getRole().getName();
}
if (ctype != null) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/IfModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/IfModelChangeRule.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/IfModelChangeRule.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -195,8 +195,8 @@
sdname = "{"+namespace+"}";
}
- sdname += conv.getModelName().getName()+"-"+
- conv.getModelName().getLocatedRole().getName();
+ sdname += conv.getLocatedName().getName()+"-"+
+ conv.getLocatedName().getRole().getName();
switchAction.setServiceDescriptionName(sdname);
@@ -217,8 +217,8 @@
// Set conversation type based on conversation
// namespace and name
ctype = namespace+"."+
- conv.getModelName().getName()+"@"+
- conv.getModelName().getLocatedRole().getName();
+ conv.getLocatedName().getName()+"@"+
+ conv.getLocatedName().getRole().getName();
}
if (ctype != null) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/ConversationUtil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/ConversationUtil.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/ConversationUtil.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -58,8 +58,8 @@
ret = "";
}
- if (conversation.getModelName().getLocatedRole() != null) {
- ret += conversation.getModelName().getLocatedRole();
+ if (conversation.getLocatedName().getRole() != null) {
+ ret += conversation.getLocatedName().getRole();
}
ret = ret.toLowerCase();
@@ -75,7 +75,7 @@
* @return The business object type class name
*/
public static String getBusinessObjectTypeClassName(Conversation conversation) {
- String ret=conversation.getModelName().getName();
+ String ret=conversation.getLocatedName().getName();
return(ret);
}
@@ -141,8 +141,8 @@
* @return The service name
*/
public static String getServiceName(Conversation conv) {
- String ret=conv.getModelName().getName()+"_"+
- conv.getModelName().getLocatedRole().getName();
+ String ret=conv.getLocatedName().getName()+"_"+
+ conv.getLocatedName().getRole().getName();
return(ret);
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/InteractionUtil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/InteractionUtil.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/util/InteractionUtil.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -59,7 +59,7 @@
if (interaction.getEnclosingDefinition() != null) {
role = interaction.getEnclosingDefinition().
- getModelName().getLocatedRole();
+ getLocatedName().getRole();
}
if (role != null && ((interaction.getFromRole() != null &&
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -117,7 +117,7 @@
cm.getConversation().isStateless());
generator.generate(targetRef,
- defn.getModelName().getLocatedRole(),
+ defn.getLocatedName().getRole(),
target, model);
if (target.getESBConfiguration() != null) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationInteractionModelChangeRuleTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationInteractionModelChangeRuleTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ConversationInteractionModelChangeRuleTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -59,9 +59,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setToRole(role);
@@ -143,9 +143,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setToRole(role);
@@ -226,9 +226,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj1=new ConversationInteraction();
mobj1.setToRole(role);
@@ -378,9 +378,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj1=new ConversationInteraction();
mobj1.setToRole(role);
@@ -627,9 +627,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj1=new ConversationInteraction();
mobj1.setToRole(role);
@@ -880,9 +880,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj1=new ConversationInteraction();
mobj1.setFromRole(role);
@@ -1080,9 +1080,9 @@
context.setRole(toRole);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(toRole);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(toRole);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setFromRole(fromRole);
@@ -1145,9 +1145,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setFromRole(role);
@@ -1210,9 +1210,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setFromRole(role);
@@ -1306,9 +1306,9 @@
context.setRole(fromRole);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(fromRole);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(fromRole);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setFromRole(fromRole);
@@ -1387,9 +1387,9 @@
context.setRole(fromRole);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(fromRole);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(fromRole);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setFromRole(fromRole);
@@ -1458,9 +1458,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj=new ConversationInteraction();
mobj.setToRole(role);
@@ -1585,9 +1585,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj1=new ConversationInteraction();
mobj1.setToRole(role);
@@ -1764,9 +1764,9 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
ConversationInteraction mobj1=new ConversationInteraction();
mobj1.setFromRole(role);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ParallelModelChangeRuleTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ParallelModelChangeRuleTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/ParallelModelChangeRuleTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -291,10 +291,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
Parallel mobj=new Parallel();
conv.getBlock().getContents().add(mobj);
@@ -417,10 +417,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
Parallel mobj=new Parallel();
conv.getBlock().getContents().add(mobj);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/RunModelChangeRuleTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/RunModelChangeRuleTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/RunModelChangeRuleTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -58,17 +58,17 @@
ns.setName("ns");
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
cm.setConversation(conv);
Conversation subconv=new Conversation();
- ModelName submname=new ModelName();
+ LocatedName submname=new LocatedName();
submname.setName(runName);
- submname.setLocatedRole(role);
- subconv.setModelName(mname);
+ submname.setRole(role);
+ subconv.setLocatedName(mname);
Run mobj=new Run();
mobj.setInlineDefinition(subconv);
@@ -184,17 +184,17 @@
ns.setName("ns");
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
cm.setConversation(conv);
Conversation subconv=new Conversation();
- ModelName submname=new ModelName();
+ LocatedName submname=new LocatedName();
submname.setName(runName);
- submname.setLocatedRole(role);
- subconv.setModelName(mname);
+ submname.setRole(role);
+ subconv.setLocatedName(mname);
Run mobj=new Run();
mobj.setInlineDefinition(subconv);
@@ -316,17 +316,17 @@
ns.setName("ns");
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
cm.setConversation(conv);
Conversation subconv=new Conversation();
- ModelName submname=new ModelName();
+ LocatedName submname=new LocatedName();
submname.setName(runName);
- submname.setLocatedRole(role);
- subconv.setModelName(mname);
+ submname.setRole(role);
+ subconv.setLocatedName(mname);
Run mobj=new Run();
mobj.setInlineDefinition(subconv);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/SpawnModelChangeRuleTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/SpawnModelChangeRuleTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/SpawnModelChangeRuleTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -59,17 +59,17 @@
ns.setName("ns");
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
cm.setConversation(conv);
Conversation subconv=new Conversation();
- ModelName submname=new ModelName();
+ LocatedName submname=new LocatedName();
submname.setName(runName);
- submname.setLocatedRole(role);
- subconv.setModelName(mname);
+ submname.setRole(role);
+ subconv.setLocatedName(mname);
Spawn mobj=new Spawn();
mobj.setInlineDefinition(subconv);
@@ -154,17 +154,17 @@
ns.setName("ns");
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
cm.setConversation(conv);
Conversation subconv=new Conversation();
- ModelName submname=new ModelName();
+ LocatedName submname=new LocatedName();
submname.setName(runName);
- submname.setLocatedRole(role);
- subconv.setModelName(mname);
+ submname.setRole(role);
+ subconv.setLocatedName(mname);
Spawn mobj=new Spawn();
mobj.setInlineDefinition(subconv);
@@ -251,17 +251,17 @@
ns.setName("ns");
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- mname.setLocatedRole(role);
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ mname.setRole(role);
+ conv.setLocatedName(mname);
cm.setConversation(conv);
Conversation subconv=new Conversation();
- ModelName submname=new ModelName();
+ LocatedName submname=new LocatedName();
submname.setName(runName);
- submname.setLocatedRole(role);
- subconv.setModelName(mname);
+ submname.setRole(role);
+ subconv.setLocatedName(mname);
Spawn mobj=new Spawn();
mobj.setInlineDefinition(subconv);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/WhileModelChangeRuleTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/WhileModelChangeRuleTest.java 2009-06-29 21:50:30 UTC (rev 651)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateful/WhileModelChangeRuleTest.java 2009-06-29 22:34:27 UTC (rev 652)
@@ -70,10 +70,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
While mobj=new While();
conv.getBlock().getContents().add(mobj);
@@ -200,10 +200,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
While mobj=new While();
conv.getBlock().getContents().add(mobj);
@@ -330,10 +330,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
While mobj=new While();
conv.getBlock().getContents().add(mobj);
@@ -466,10 +466,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
While mobj=new While();
conv.getBlock().getContents().add(mobj);
@@ -642,10 +642,10 @@
context.setRole(role);
Conversation conv=new Conversation();
- ModelName mname=new ModelName();
- conv.setModelName(mname);
+ LocatedName mname=new LocatedName();
+ conv.setLocatedName(mname);
- mname.setLocatedRole(role);
+ mname.setRole(role);
While mobj=new While();
conv.getBlock().getContents().add(mobj);
14 years, 10 months
Overlord SVN: r651 - in cdl/trunk/tools/plugins: org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-29 17:50:30 -0400 (Mon, 29 Jun 2009)
New Revision: 651
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.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java
Log:
Updated to take into account modelName is not associated with model, as a model can contain multiple conversations - and the modelName is really associated with the conversation.
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-23 22:35:38 UTC (rev 650)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-06-29 21:50:30 UTC (rev 651)
@@ -28,6 +28,7 @@
import org.scribble.conversation.model.ConversationNotation;
import org.pi4soa.scribble.cdm.model.CDMNotation;
import org.scribble.extensions.RegistryFactory;
+import org.scribble.model.Definition;
import org.scribble.model.ModelReference;
import org.scribble.model.SubDefinitionPath;
import org.scribble.model.change.ModelGenerator;
@@ -104,18 +105,25 @@
RegistryFactory.getRegistry().getExtension(
ModelGenerator.class, null);
- if (generator != null) {
+ java.util.List<Definition> defns=model.getDefinitions();
+ Definition defn=null;
+
+ if (defns.size() == 1) {
+ defn = defns.get(0);
+ }
+
+ if (generator != null && defn != null) {
ModelReference targetRef=
new ModelReference(BPELNotation.NOTATION_CODE);
- targetRef.setAlias(model.getModelName().getName());
- targetRef.setLocatedRole(model.getModelName().getLocatedRole().getName());
+ targetRef.setAlias(defn.getModelName().getName());
+ targetRef.setLocatedRole(defn.getModelName().getLocatedRole().getName());
DefaultBPELLanguageModel target=
new DefaultBPELLanguageModel(targetRef);
generator.generate(targetRef,
- model.getModelName().getLocatedRole(),
+ defn.getModelName().getLocatedRole(),
target, model);
if (target.getBPELProcess().getDOMElement() != null) {
@@ -319,7 +327,14 @@
RegistryFactory.getRegistry().getExtension(
ModelGenerator.class, null);
- if (generator != null) {
+ java.util.List<Definition> defns=model.getDefinitions();
+ Definition defn=null;
+
+ if (defns.size() == 1) {
+ defn = defns.get(0);
+ }
+
+ if (generator != null && defn != null) {
ModelReference targetRef=
new ModelReference(BPELNotation.NOTATION_CODE);
targetRef.setAlias(m_name);
@@ -329,7 +344,7 @@
new DefaultBPELLanguageModel(targetRef);
generator.generate(targetRef,
- model.getModelName().getLocatedRole(),
+ defn.getModelName().getLocatedRole(),
target, projected);
if (target.getBPELProcess().getDOMElement() != null) {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java 2009-06-23 22:35:38 UTC (rev 650)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java 2009-06-29 21:50:30 UTC (rev 651)
@@ -24,6 +24,7 @@
import org.scribble.conversation.model.*;
import org.scribble.extensions.RegistryFactory;
+import org.scribble.model.Definition;
import org.scribble.model.ModelReference;
import org.scribble.model.change.ModelGenerator;
import org.w3c.dom.Node;
@@ -100,7 +101,14 @@
RegistryFactory.getRegistry().getExtension(
ModelGenerator.class, null);
- if (generator != null) {
+ java.util.List<Definition> defns=model.getDefinitions();
+ Definition defn=null;
+
+ if (defns.size() == 1) {
+ defn = defns.get(0);
+ }
+
+ if (generator != null && defn != null) {
ModelReference targetRef=
new ModelReference(JBossESBNotation.NOTATION_CODE);
@@ -109,7 +117,7 @@
cm.getConversation().isStateless());
generator.generate(targetRef,
- model.getModelName().getLocatedRole(),
+ defn.getModelName().getLocatedRole(),
target, model);
if (target.getESBConfiguration() != null) {
14 years, 10 months
Overlord SVN: r650 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/model/change and 4 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-23 18:35:38 -0400 (Tue, 23 Jun 2009)
New Revision: 650
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ScopeActivity.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/LoanApprovalService(a)Service.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ProcessTest.java
Removed:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv
Log:
Sorted out derivation of fault handling behaviour when more than one invoke in the scope/process.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java 2009-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/BPELLanguageModel.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -17,7 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model;
-import org.jboss.tools.overlord.cdl.bpel.model.component.BPELProcess;
+import org.jboss.tools.overlord.cdl.bpel.model.component.Process;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
@@ -55,6 +55,6 @@
*
* @return The BPEL Process
*/
- public BPELProcess getBPELProcess();
+ public Process getBPELProcess();
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java 2009-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/DefaultBPELLanguageModel.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -18,7 +18,7 @@
package org.jboss.tools.overlord.cdl.bpel.model;
import org.apache.commons.logging.*;
-import org.jboss.tools.overlord.cdl.bpel.model.component.BPELProcess;
+import org.jboss.tools.overlord.cdl.bpel.model.component.Process;
import org.scribble.conversation.model.Conversation;
import org.scribble.model.*;
import org.scribble.model.admin.ModelIssue;
@@ -47,7 +47,7 @@
public DefaultBPELLanguageModel(ModelReference source, org.w3c.dom.Element elem,
String contents) {
m_source = source;
- m_bpelProcess = new BPELProcess(this, elem);
+ m_bpelProcess = new Process(this, elem);
m_contents = contents;
Namespace ns=new Namespace();
@@ -72,7 +72,7 @@
public DefaultBPELLanguageModel(ModelReference source) {
m_source = source;
- m_bpelProcess = new BPELProcess(this);
+ m_bpelProcess = new Process(this);
}
/**
@@ -120,14 +120,14 @@
*
* @return The BPEL Process
*/
- public BPELProcess getBPELProcess() {
+ public Process getBPELProcess() {
return(m_bpelProcess);
}
private static Log logger = LogFactory.getLog(DefaultBPELLanguageModel.class);
private ModelReference m_source=null;
- private BPELProcess m_bpelProcess=null;
+ private Process m_bpelProcess=null;
private String m_contents=null;
public class InnerModelListener implements ModelListener {
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/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-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/IfModelChangeRule.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -117,6 +117,10 @@
c.setFaultName(faultName);
c.setFaultVariable(faultVarName);
+ // TODO: Maybe variable should not be created - just
+ // defined in the scope of the catch? But would then
+ // need to define the fault message type/element.
+
// Create variable
if (faultVarName != null) {
createVariable(faultVarName, (Interaction)act, bpelModel);
Deleted: 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-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcess.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -1,640 +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.component;
-
-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.*;
-
-/**
- * This class represents a BPEL process.
- *
- * @author gary
- */
-public class BPELProcess extends BPELElement {
-
- private static final long serialVersionUID = 3400962966628415184L;
-
- public static final String PROCESS = "process";
- 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.
- *
- * @param model The BPEL model
- * @param activity The XML configuration details for the activity
- */
- public BPELProcess(BPELLanguageModel model,
- org.w3c.dom.Element activity) {
- super(model, activity);
-
- m_partnerLinksElem = findChildElement("partnerLinks");
-
- if (m_partnerLinksElem != null) {
- java.util.List<BPELElement> elems=
- findChildElements(m_partnerLinksElem,
- PartnerLink.class);
-
- for (int i=0; i < elems.size(); i++) {
- m_partnerLinks.add((PartnerLink)elems.get(i));
- }
- }
-
- m_variablesElem = findChildElement("variables");
-
- if (m_variablesElem != null) {
- java.util.List<BPELElement> elems=
- findChildElements(m_variablesElem,
- Variable.class);
-
- for (int i=0; i < elems.size(); i++) {
- m_variables.add((Variable)elems.get(i));
- }
- }
-
- m_messageExchangesElem = findChildElement("messageExchanges");
- m_correlationSetsElem = findChildElement("correlationSets");
-
- org.w3c.dom.Element ehs=findChildElement(EventHandlers.EVENTHANDLERS);
- if (ehs != null) {
- m_eventHandlers = new EventHandlers(model, ehs);
- }
-
- org.w3c.dom.Element fhs=findChildElement(FaultHandlers.FAULTHANDLERS);
- if (fhs != null) {
- m_faultHandlers = new FaultHandlers(model, fhs);
- }
-
- m_activity = findChildActivity();
- }
-
- /**
- * The constructor for the activity.
- *
- * @param model The BPEL model
- */
- public BPELProcess(BPELLanguageModel model) {
- super(model, PROCESS);
- }
-
- /**
- * This method adds a partner link to the scope.
- *
- * @param pl The partner link to be added
- * @param pos The position to add, or -1 if at the end
- */
- public void addPartnerLink(PartnerLink pl, int pos) {
-
- if (m_partnerLinksElem == null) {
- m_partnerLinksElem = getDOMElement().getOwnerDocument().
- createElementNS(BPEL_NS, "partnerLinks");
-
- // Add to parent
- org.w3c.dom.Element insertBefore=
- findChildElement("messageExchanges");
-
- if (insertBefore == null) {
- insertBefore = findChildElement("variables");
- }
-
- if (insertBefore == null) {
- insertBefore = findChildElement("correlationSets");
- }
-
- if (insertBefore == null) {
- insertBefore = findChildElement("faultHandlers");
- }
-
- if (insertBefore == null) {
- insertBefore = findChildElement("eventHandlers");
- }
-
- if (insertBefore == null) {
- BPELElement elem=findChildActivity();
-
- if (elem != null) {
- insertBefore = elem.getDOMElement();
- }
- }
-
- if (insertBefore != null) {
- getDOMElement().insertBefore(m_partnerLinksElem, insertBefore);
- } else {
- getDOMElement().appendChild(m_partnerLinksElem);
- }
- }
-
- if (pos == -1 || pos >= m_partnerLinks.size()) {
- m_partnerLinks.add(pl);
-
- setChildElement(m_partnerLinksElem, null, pl, null);
- } else {
-
- PartnerLink cur=m_partnerLinks.get(pos);
-
- m_partnerLinks.add(pos, pl);
-
- if (cur != null) {
- setChildElement(m_partnerLinksElem, null, pl,
- cur.getDOMElement());
- } else {
- setChildElement(m_partnerLinksElem, null, pl, null);
- }
- }
- }
-
- /**
- * This method removes a partner link from the grouping
- * construct.
- *
- * @param pl The partner link to be removed
- * @return Whether the partner link was removed
- */
- public boolean removePartnerLink(PartnerLink pl) {
- boolean ret=m_partnerLinks.remove(pl);
-
- if (ret) {
- m_partnerLinksElem.removeChild(pl.getDOMElement());
- }
-
- return(ret);
- }
-
- /**
- * This method returns the list of partner links.
- *
- * @return The partner links
- */
- public java.util.List<PartnerLink> getPartnerLinks() {
- return(m_partnerLinks);
- }
-
- /**
- * This method returns the partner link associated
- * with the supplied name.
- *
- * @param name The name
- * @return The partner link, or null if not found
- */
- public PartnerLink getPartnerLink(String name) {
- PartnerLink ret=null;
-
- for (int i=0; ret == null && i < m_partnerLinks.size(); i++) {
- if (m_partnerLinks.get(i).getName().equals(name)) {
- ret = m_partnerLinks.get(i);
- }
- }
-
- return(ret);
- }
-
- /**
- * This method sets the name.
- *
- * @param name The name
- */
- public void setName(String name) {
- getDOMElement().setAttribute(NAME, name);
- }
-
- /**
- * This method returns the name.
- *
- * @return The name
- */
- public String getName() {
- return(getDOMElement().hasAttribute(NAME)?
- getDOMElement().getAttribute(NAME):null);
- }
-
- /**
- * This method 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.
- *
- * @param namespace The namespace
- * @return The prefix, or null if not found
- */
- public String getPrefix(String namespace) {
- String ret=null;
-
- org.w3c.dom.NamedNodeMap map=getDOMElement().getAttributes();
-
- for (int i=0; ret == null && i < map.getLength(); i++) {
- org.w3c.dom.Node node=map.item(i);
-
- if (node instanceof org.w3c.dom.Attr) {
- org.w3c.dom.Attr attr=(org.w3c.dom.Attr)node;
-
- if (attr.getNodeValue().equals(namespace) &&
- attr.getNodeName().startsWith("xmlns:")) {
- ret = attr.getNodeName().substring(7);
- }
- }
- }
-
- return(ret);
- }
-
- /**
- * This method adds a new namespace and returns the
- * prefix allocated to it.
- *
- * @param namespace The namespace to be added
- * @return The prefix
- */
- public String addNamespace(String namespace) {
- String ret=getPrefix(namespace);
- int i=1;
-
- while (ret == null) {
- String prefix="ns"+i;
-
- if (getDOMElement().hasAttribute("xmlns:"+prefix) == false) {
- ret = prefix;
-
- getDOMElement().setAttribute(prefix, namespace);
- }
- }
-
- return(ret);
- }
-
- /**
- * This method adds a variable to the scope.
- *
- * @param var The variable to be added
- * @param pos The position to add, or -1 if at the end
- */
- public void addVariable(Variable var, int pos) {
-
- if (m_variablesElem == null) {
- m_variablesElem = getDOMElement().getOwnerDocument().
- createElementNS(BPEL_NS, "variables");
-
- // Add to parent
- org.w3c.dom.Element insertBefore=
- findChildElement("correlationSets");
-
- if (insertBefore == null) {
- insertBefore = findChildElement("faultHandlers");
- }
-
- if (insertBefore == null) {
- insertBefore = findChildElement("eventHandlers");
- }
-
- if (insertBefore == null) {
- BPELElement elem=findChildActivity();
-
- if (elem != null) {
- insertBefore = elem.getDOMElement();
- }
- }
-
- if (insertBefore != null) {
- getDOMElement().insertBefore(m_variablesElem, insertBefore);
- } else {
- getDOMElement().appendChild(m_variablesElem);
- }
- }
-
- if (pos == -1 || pos >= m_variables.size()) {
- m_variables.add(var);
-
- setChildElement(m_variablesElem, null, var, null);
- } else {
-
- Variable cur=m_variables.get(pos);
-
- m_variables.add(pos, var);
-
- if (cur != null) {
- setChildElement(m_variablesElem, null, var,
- cur.getDOMElement());
- } else {
- setChildElement(m_variablesElem, null, var, null);
- }
- }
- }
-
- /**
- * This method removes an activity from the grouping
- * construct.
- *
- * @param act The activity to be removed
- * @return Whether the activity was removed
- */
- public boolean removeVariable(Variable var) {
- boolean ret=m_variables.remove(var);
-
- if (ret) {
- m_variablesElem.removeChild(var.getDOMElement());
- }
-
- return(ret);
- }
-
- /**
- * This method returns the list of variables.
- *
- * @return The
- */
- public java.util.List<Variable> getVariables() {
- return(m_variables);
- }
-
- /**
- * This method 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) {
- Variable ret=null;
-
- for (int i=0; ret == null && i < m_variables.size(); i++) {
- if (m_variables.get(i).getName().equals(name)) {
- ret = m_variables.get(i);
- }
- }
-
- return(ret);
- }
-
- /**
- * This method sets the activity associated with
- * the 'else' construct.
- *
- * @param act The activity
- */
- public void setActivity(BPELActivity act) {
- m_activity = act;
-
- BPELElement existing=findChildActivity();
- org.w3c.dom.Element existingElem=null;
-
- if (existing != null) {
- existingElem = existing.getDOMElement();
- }
-
- org.w3c.dom.Element insertBefore=null;
-
- setChildElement(existingElem, act,
- insertBefore);
- }
-
- /**
- * This method returns the activity associated with
- * the 'else' construct.
- *
- * @return The activity
- */
- public BPELElement getActivity() {
- return(m_activity);
- }
-
- /**
- * This method sets the 'eventHandlers' path.
- *
- * @param elem The 'eventHandlers' path
- */
- public void setEventHandlers(EventHandlers elem) {
- org.w3c.dom.Element existingElem=null;
-
- if (m_eventHandlers != null) {
- existingElem = m_eventHandlers.getDOMElement();
- }
-
- m_eventHandlers = elem;
-
- org.w3c.dom.Element insertBefore=null;
-
- if (insertBefore == null) {
- BPELElement act=findChildActivity();
-
- if (elem != null) {
- insertBefore = act.getDOMElement();
- }
- }
-
- setChildElement(existingElem, elem,
- insertBefore);
- }
-
- /**
- * This method returns the 'eventHandlers' path.
- *
- * @return The 'eventHandlers' path
- */
- public EventHandlers getEventHandlers() {
- return(m_eventHandlers);
- }
-
- /**
- * This method sets the 'faultHandlers' path.
- *
- * @param elem The 'faultHandlers' path
- */
- public void setFaultHandlers(FaultHandlers elem) {
- org.w3c.dom.Element existingElem=null;
-
- if (m_faultHandlers != null) {
- existingElem = m_faultHandlers.getDOMElement();
- }
-
- m_faultHandlers = elem;
-
- org.w3c.dom.Element insertBefore=null;
-
- if (insertBefore == null) {
- insertBefore = findChildElement("eventHandlers");
- }
-
- if (insertBefore == null) {
- BPELElement act=findChildActivity();
-
- if (elem != null) {
- insertBefore = act.getDOMElement();
- }
- }
-
- setChildElement(existingElem, elem,
- insertBefore);
- }
-
- /**
- * This method returns the 'faultHandlers' path.
- *
- * @return The 'faultHandlers' path
- */
- public FaultHandlers getFaultHandlers() {
- return(m_faultHandlers);
- }
-
- /**
- * This method validates the BPEL activity and reports warnings or
- * errors to the supplied model listener.
- *
- * @param l The model listener
- */
- @Override
- public void validate(ModelListener l) {
- }
-
- /**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
- *
- * @param activities The list of activities that will contain
- * the converted action(s)
- * @param context The conversion context
- */
- public void convert(java.util.List<Activity> activities,
- ConversionContext context) {
-
- // 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);
-
- // 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));
- }
-
- convert(ret.getBlock().getContents(), context);
-
- 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;
- private org.w3c.dom.Element m_correlationSetsElem=null;
- private java.util.List<PartnerLink> m_partnerLinks=new java.util.Vector<PartnerLink>();
- private java.util.List<Variable> m_variables=new java.util.Vector<Variable>();
- private EventHandlers m_eventHandlers=null;
- private FaultHandlers m_faultHandlers=null;
- private BPELActivity m_activity;
-}
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-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -34,6 +34,8 @@
private static final String FAULT_NAME = "faultName";
private static final String FAULT_VARIABLE = "faultVariable";
+ private static final String FAULT_MESSAGE_TYPE = "faultMessageType";
+ private static final String FAULT_MESSAGE_ELEMENT = "faultMessageElement";
/**
* The constructor for the element.
@@ -133,5 +135,43 @@
getDOMElement().getAttribute(FAULT_VARIABLE):null);
}
+ /**
+ * This method sets the fault message type.
+ *
+ * @param faultName The fault message type
+ */
+ public void setFaultMessageType(String faultMessageType) {
+ getDOMElement().setAttribute(FAULT_MESSAGE_TYPE, faultMessageType);
+ }
+
+ /**
+ * This method returns the fault message type.
+ *
+ * @return The fault message type
+ */
+ public String getFaultMessageType() {
+ return(getDOMElement().hasAttribute(FAULT_MESSAGE_TYPE)?
+ getDOMElement().getAttribute(FAULT_MESSAGE_TYPE):null);
+ }
+
+ /**
+ * This method sets the fault message element.
+ *
+ * @param faultName The fault message element
+ */
+ public void setFaultMessageElement(String faultMessageElement) {
+ getDOMElement().setAttribute(FAULT_MESSAGE_ELEMENT, faultMessageElement);
+ }
+
+ /**
+ * This method returns the fault message element.
+ *
+ * @return The fault message element
+ */
+ public String getFaultMessageElement() {
+ return(getDOMElement().hasAttribute(FAULT_MESSAGE_ELEMENT)?
+ getDOMElement().getAttribute(FAULT_MESSAGE_ELEMENT):null);
+ }
+
private BPELElement m_activity;
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -123,7 +123,7 @@
// Check if invoke is contained within a scope that defines
// fault handlers. If so, then generate choice to throw
// fault exceptions.
- Scope scope=null;
+ ScopeActivity scope=null;
org.w3c.dom.Element cur=getDOMElement();
while (cur != null && cur.getParentNode() instanceof org.w3c.dom.Element &&
@@ -134,8 +134,8 @@
BPELElement elem=BPELElementFactory.createBPELElement(getModel(),
cur);
- if (elem instanceof Scope) {
- scope = (Scope)elem;
+ if (elem instanceof ScopeActivity) {
+ scope = (ScopeActivity)elem;
}
}
}
@@ -160,8 +160,15 @@
org.scribble.conversation.model.ConditionalBlock fcb=
new org.scribble.conversation.model.ConditionalBlock();
- convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(), context);
+ String mesgType=catchBlock.getFaultMessageType();
+ if (mesgType == null) {
+ mesgType = catchBlock.getFaultMessageElement();
+ }
+
+ convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(),
+ mesgType, context);
+
org.scribble.conversation.model.Raise raise=
new org.scribble.conversation.model.Raise();
@@ -247,26 +254,40 @@
}
protected void convertFaultResponse(java.util.List<Activity> activities,
- String faultVar, ConversionContext context) {
+ String faultVar, String faultMesgType, ConversionContext context) {
// Create interaction for request
ConversationInteraction interaction=new ConversationInteraction();
TypeReference tref=new TypeReference();
+ // TODO: Not sure if fault variable is supposed to be declared
+ // in catch scope, or reused from outer scope?? If declared,
+ // then without the message type/element, may be difficult to
+ // define the message signature.
+
Variable var=context.getVariable(faultVar);
if (var != null) {
- tref.setAlias(var.getMessageType());
+ tref.setAlias(var.getMessageType());
+ } else if (faultMesgType != null) {
+ tref.setAlias(faultMesgType);
}
MessageSignature ms=new MessageSignature();
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(getClientPartnerRole()));
- interaction.setToRole(new Role(context.getRole()));
+ String fromRole=getClientPartnerRole();
+ if (fromRole != null) {
+ interaction.setFromRole(new Role(fromRole));
+ }
+
+ if (context.getRole() != null) {
+ interaction.setToRole(new Role(context.getRole()));
+ }
+
interaction.setMessageSignature(ms);
activities.add(interaction);
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java (from rev 643, 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/Process.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Process.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -0,0 +1,739 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import org.scribble.conversation.model.ConditionalBlock;
+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.*;
+import org.jboss.tools.overlord.cdl.bpel.model.util.InteractionUtil;
+
+/**
+ * This class represents a BPEL process.
+ *
+ * @author gary
+ */
+public class Process extends BPELElement implements ScopeActivity {
+
+ private static final long serialVersionUID = 3400962966628415184L;
+
+ 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.
+ *
+ * @param model The BPEL model
+ * @param activity The XML configuration details for the activity
+ */
+ public Process(BPELLanguageModel model,
+ org.w3c.dom.Element activity) {
+ super(model, activity);
+
+ m_partnerLinksElem = findChildElement("partnerLinks");
+
+ if (m_partnerLinksElem != null) {
+ java.util.List<BPELElement> elems=
+ findChildElements(m_partnerLinksElem,
+ PartnerLink.class);
+
+ for (int i=0; i < elems.size(); i++) {
+ m_partnerLinks.add((PartnerLink)elems.get(i));
+ }
+ }
+
+ m_variablesElem = findChildElement("variables");
+
+ if (m_variablesElem != null) {
+ java.util.List<BPELElement> elems=
+ findChildElements(m_variablesElem,
+ Variable.class);
+
+ for (int i=0; i < elems.size(); i++) {
+ m_variables.add((Variable)elems.get(i));
+ }
+ }
+
+ m_messageExchangesElem = findChildElement("messageExchanges");
+ m_correlationSetsElem = findChildElement("correlationSets");
+
+ org.w3c.dom.Element ehs=findChildElement(EventHandlers.EVENTHANDLERS);
+ if (ehs != null) {
+ m_eventHandlers = new EventHandlers(model, ehs);
+ }
+
+ org.w3c.dom.Element fhs=findChildElement(FaultHandlers.FAULTHANDLERS);
+ if (fhs != null) {
+ m_faultHandlers = new FaultHandlers(model, fhs);
+ }
+
+ m_activity = findChildActivity();
+ }
+
+ /**
+ * The constructor for the activity.
+ *
+ * @param model The BPEL model
+ */
+ public Process(BPELLanguageModel model) {
+ super(model, PROCESS);
+ }
+
+ /**
+ * This method adds a partner link to the scope.
+ *
+ * @param pl The partner link to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addPartnerLink(PartnerLink pl, int pos) {
+
+ if (m_partnerLinksElem == null) {
+ m_partnerLinksElem = getDOMElement().getOwnerDocument().
+ createElementNS(BPEL_NS, "partnerLinks");
+
+ // Add to parent
+ org.w3c.dom.Element insertBefore=
+ findChildElement("messageExchanges");
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("variables");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("correlationSets");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("faultHandlers");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("eventHandlers");
+ }
+
+ if (insertBefore == null) {
+ BPELElement elem=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = elem.getDOMElement();
+ }
+ }
+
+ if (insertBefore != null) {
+ getDOMElement().insertBefore(m_partnerLinksElem, insertBefore);
+ } else {
+ getDOMElement().appendChild(m_partnerLinksElem);
+ }
+ }
+
+ if (pos == -1 || pos >= m_partnerLinks.size()) {
+ m_partnerLinks.add(pl);
+
+ setChildElement(m_partnerLinksElem, null, pl, null);
+ } else {
+
+ PartnerLink cur=m_partnerLinks.get(pos);
+
+ m_partnerLinks.add(pos, pl);
+
+ if (cur != null) {
+ setChildElement(m_partnerLinksElem, null, pl,
+ cur.getDOMElement());
+ } else {
+ setChildElement(m_partnerLinksElem, null, pl, null);
+ }
+ }
+ }
+
+ /**
+ * This method removes a partner link from the grouping
+ * construct.
+ *
+ * @param pl The partner link to be removed
+ * @return Whether the partner link was removed
+ */
+ public boolean removePartnerLink(PartnerLink pl) {
+ boolean ret=m_partnerLinks.remove(pl);
+
+ if (ret) {
+ m_partnerLinksElem.removeChild(pl.getDOMElement());
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the list of partner links.
+ *
+ * @return The partner links
+ */
+ public java.util.List<PartnerLink> getPartnerLinks() {
+ return(m_partnerLinks);
+ }
+
+ /**
+ * This method returns the partner link associated
+ * with the supplied name.
+ *
+ * @param name The name
+ * @return The partner link, or null if not found
+ */
+ public PartnerLink getPartnerLink(String name) {
+ PartnerLink ret=null;
+
+ for (int i=0; ret == null && i < m_partnerLinks.size(); i++) {
+ if (m_partnerLinks.get(i).getName().equals(name)) {
+ ret = m_partnerLinks.get(i);
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method sets the name.
+ *
+ * @param name The name
+ */
+ public void setName(String name) {
+ getDOMElement().setAttribute(NAME, name);
+ }
+
+ /**
+ * This method returns the name.
+ *
+ * @return The name
+ */
+ public String getName() {
+ return(getDOMElement().hasAttribute(NAME)?
+ getDOMElement().getAttribute(NAME):null);
+ }
+
+ /**
+ * This method 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.
+ *
+ * @param namespace The namespace
+ * @return The prefix, or null if not found
+ */
+ public String getPrefix(String namespace) {
+ String ret=null;
+
+ org.w3c.dom.NamedNodeMap map=getDOMElement().getAttributes();
+
+ for (int i=0; ret == null && i < map.getLength(); i++) {
+ org.w3c.dom.Node node=map.item(i);
+
+ if (node instanceof org.w3c.dom.Attr) {
+ org.w3c.dom.Attr attr=(org.w3c.dom.Attr)node;
+
+ if (attr.getNodeValue().equals(namespace) &&
+ attr.getNodeName().startsWith("xmlns:")) {
+ ret = attr.getNodeName().substring(7);
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method adds a new namespace and returns the
+ * prefix allocated to it.
+ *
+ * @param namespace The namespace to be added
+ * @return The prefix
+ */
+ public String addNamespace(String namespace) {
+ String ret=getPrefix(namespace);
+ int i=1;
+
+ while (ret == null) {
+ String prefix="ns"+i;
+
+ if (getDOMElement().hasAttribute("xmlns:"+prefix) == false) {
+ ret = prefix;
+
+ getDOMElement().setAttribute(prefix, namespace);
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method adds a variable to the scope.
+ *
+ * @param var The variable to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addVariable(Variable var, int pos) {
+
+ if (m_variablesElem == null) {
+ m_variablesElem = getDOMElement().getOwnerDocument().
+ createElementNS(BPEL_NS, "variables");
+
+ // Add to parent
+ org.w3c.dom.Element insertBefore=
+ findChildElement("correlationSets");
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("faultHandlers");
+ }
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("eventHandlers");
+ }
+
+ if (insertBefore == null) {
+ BPELElement elem=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = elem.getDOMElement();
+ }
+ }
+
+ if (insertBefore != null) {
+ getDOMElement().insertBefore(m_variablesElem, insertBefore);
+ } else {
+ getDOMElement().appendChild(m_variablesElem);
+ }
+ }
+
+ if (pos == -1 || pos >= m_variables.size()) {
+ m_variables.add(var);
+
+ setChildElement(m_variablesElem, null, var, null);
+ } else {
+
+ Variable cur=m_variables.get(pos);
+
+ m_variables.add(pos, var);
+
+ if (cur != null) {
+ setChildElement(m_variablesElem, null, var,
+ cur.getDOMElement());
+ } else {
+ setChildElement(m_variablesElem, null, var, null);
+ }
+ }
+ }
+
+ /**
+ * This method removes an activity from the grouping
+ * construct.
+ *
+ * @param act The activity to be removed
+ * @return Whether the activity was removed
+ */
+ public boolean removeVariable(Variable var) {
+ boolean ret=m_variables.remove(var);
+
+ if (ret) {
+ m_variablesElem.removeChild(var.getDOMElement());
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the list of variables.
+ *
+ * @return The
+ */
+ public java.util.List<Variable> getVariables() {
+ return(m_variables);
+ }
+
+ /**
+ * This method 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) {
+ Variable ret=null;
+
+ for (int i=0; ret == null && i < m_variables.size(); i++) {
+ if (m_variables.get(i).getName().equals(name)) {
+ ret = m_variables.get(i);
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method sets the activity associated with
+ * the 'else' construct.
+ *
+ * @param act The activity
+ */
+ public void setActivity(BPELActivity act) {
+ m_activity = act;
+
+ BPELElement existing=findChildActivity();
+ org.w3c.dom.Element existingElem=null;
+
+ if (existing != null) {
+ existingElem = existing.getDOMElement();
+ }
+
+ org.w3c.dom.Element insertBefore=null;
+
+ setChildElement(existingElem, act,
+ insertBefore);
+ }
+
+ /**
+ * This method returns the activity associated with
+ * the 'else' construct.
+ *
+ * @return The activity
+ */
+ public BPELActivity getActivity() {
+ return(m_activity);
+ }
+
+ /**
+ * This method sets the 'eventHandlers' path.
+ *
+ * @param elem The 'eventHandlers' path
+ */
+ public void setEventHandlers(EventHandlers elem) {
+ org.w3c.dom.Element existingElem=null;
+
+ if (m_eventHandlers != null) {
+ existingElem = m_eventHandlers.getDOMElement();
+ }
+
+ m_eventHandlers = elem;
+
+ org.w3c.dom.Element insertBefore=null;
+
+ if (insertBefore == null) {
+ BPELElement act=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = act.getDOMElement();
+ }
+ }
+
+ setChildElement(existingElem, elem,
+ insertBefore);
+ }
+
+ /**
+ * This method returns the 'eventHandlers' path.
+ *
+ * @return The 'eventHandlers' path
+ */
+ public EventHandlers getEventHandlers() {
+ return(m_eventHandlers);
+ }
+
+ /**
+ * This method sets the 'faultHandlers' path.
+ *
+ * @param elem The 'faultHandlers' path
+ */
+ public void setFaultHandlers(FaultHandlers elem) {
+ org.w3c.dom.Element existingElem=null;
+
+ if (m_faultHandlers != null) {
+ existingElem = m_faultHandlers.getDOMElement();
+ }
+
+ m_faultHandlers = elem;
+
+ org.w3c.dom.Element insertBefore=null;
+
+ if (insertBefore == null) {
+ insertBefore = findChildElement("eventHandlers");
+ }
+
+ if (insertBefore == null) {
+ BPELElement act=findChildActivity();
+
+ if (elem != null) {
+ insertBefore = act.getDOMElement();
+ }
+ }
+
+ setChildElement(existingElem, elem,
+ insertBefore);
+ }
+
+ /**
+ * This method returns the 'faultHandlers' path.
+ *
+ * @return The 'faultHandlers' path
+ */
+ public FaultHandlers getFaultHandlers() {
+ return(m_faultHandlers);
+ }
+
+ /**
+ * This method validates the BPEL activity and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ @Override
+ public void validate(ModelListener l) {
+ }
+
+ /**
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
+ *
+ * @param activities The list of activities that will contain
+ * the converted action(s)
+ * @param context The conversion context
+ */
+ public void convert(java.util.List<Activity> activities,
+ ConversionContext context) {
+
+ // Add variables to the context
+ for (int i=0; i < m_variables.size(); i++) {
+ context.addVariable(m_variables.get(i));
+ }
+
+ // Count number of invoke activities
+ int invokeCount=InteractionUtil.countInvokes(getActivity().getDOMElement());
+
+ // Check whether scope has been defined to represent
+ // an interaction with one or more fault responses and
+ // no event handlers
+ Invoke invoke=null;
+
+ if (invokeCount == 1 &&
+ 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 = InteractionUtil.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();
+
+ String mesgType=catchBlock.getFaultMessageType();
+
+ if (mesgType == null) {
+ mesgType = catchBlock.getFaultMessageElement();
+ }
+
+ invoke.convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(),
+ mesgType, context);
+
+ if (catchBlock.getActivity() != null) {
+ catchBlock.getActivity().convert(fcb.getContents(), context);
+ }
+
+ choice.getConditionalBlocks().add(fcb);
+ }
+
+ activities.add(choice);
+ } else {
+ // Store in local var, in case try/catch block needs to be
+ // added
+ java.util.List<Activity> acts=activities;
+
+ // Check if try/catch block is required
+ if (getFaultHandlers() != null &&
+ (getFaultHandlers().getCatchPaths().size() > 0 ||
+ getFaultHandlers().getCatchAll() != null)) {
+ org.scribble.conversation.model.TryEscape te=
+ new org.scribble.conversation.model.TryEscape();
+
+ acts.add(te);
+
+ acts = te.getBlock().getContents();
+
+ for (int i=0; i < getFaultHandlers().getCatchPaths().size(); i++) {
+ org.scribble.conversation.model.CatchBlock cb=
+ new org.scribble.conversation.model.CatchBlock();
+
+ TypeReference tref=new TypeReference();
+ tref.setAlias(getFaultHandlers().getCatchPaths().get(i).getFaultName());
+ cb.setType(tref);
+
+ if (getFaultHandlers().getCatchPaths().get(i).getActivity() != null) {
+ getFaultHandlers().getCatchPaths().get(i).getActivity().
+ convert(cb.getContents(), context);
+ }
+
+ te.getEscapeBlocks().add(cb);
+ }
+ }
+
+ // Convert normal activities in scope
+ if (getActivity() != null) {
+ getActivity().convert(acts, 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);
+
+ // 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));
+ }
+
+ convert(ret.getBlock().getContents(), context);
+
+ return(ret);
+ }
+
+ private static Log logger = LogFactory.getLog(Process.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;
+ private org.w3c.dom.Element m_correlationSetsElem=null;
+ private java.util.List<PartnerLink> m_partnerLinks=new java.util.Vector<PartnerLink>();
+ private java.util.List<Variable> m_variables=new java.util.Vector<Variable>();
+ private EventHandlers m_eventHandlers=null;
+ private FaultHandlers m_faultHandlers=null;
+ private BPELActivity m_activity;
+}
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-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -24,13 +24,14 @@
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
import org.jboss.tools.overlord.cdl.bpel.model.*;
+import org.jboss.tools.overlord.cdl.bpel.model.util.InteractionUtil;
/**
* This class represents a scope grouping activity.
*
* @author gary
*/
-public class Scope extends BPELActivity {
+public class Scope extends BPELActivity implements ScopeActivity {
private static final long serialVersionUID = 7132062003047468101L;
@@ -534,8 +535,8 @@
context.addVariable(m_variables.get(i));
}
- // TODO: Count number of invoke activities
- int invokeCount=countInvokes(getActivity().getDOMElement());
+ // Count number of invoke activities
+ int invokeCount=InteractionUtil.countInvokes(getActivity().getDOMElement());
// Check whether scope has been defined to represent
// an interaction with one or more fault responses and
@@ -547,7 +548,7 @@
m_faultHandlers.getCatchAll() != null) &&
(m_eventHandlers == null || (m_eventHandlers.getOnEvents().size() == 0 &&
m_eventHandlers.getOnAlarms().size() == 0)) &&
- (invoke = getInvoke(m_activity)) != null) {
+ (invoke = InteractionUtil.getInvoke(m_activity)) != null) {
invoke.convertRequest(activities, context);
@@ -573,8 +574,15 @@
ConditionalBlock fcb=new ConditionalBlock();
- invoke.convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(), context);
+ String mesgType=catchBlock.getFaultMessageType();
+ if (mesgType == null) {
+ mesgType = catchBlock.getFaultMessageElement();
+ }
+
+ invoke.convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(),
+ mesgType, context);
+
if (catchBlock.getActivity() != null) {
catchBlock.getActivity().convert(fcb.getContents(), context);
}
@@ -623,45 +631,6 @@
}
}
- 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);
- }
-
- /**
- * This method recursively counts the number of 'invoke' activities
- * contained within a DOM element.
- *
- * @param elem The current element
- * @return The number of invokes contained within the element
- */
- protected int countInvokes(org.w3c.dom.Element elem) {
- int ret=0;
-
- if (elem.getLocalName().equals("invoke")) {
- ret = 1;
- } else {
- org.w3c.dom.NodeList nl=elem.getChildNodes();
-
- for (int i=0; i < nl.getLength(); i++) {
- if (nl.item(i) instanceof org.w3c.dom.Element) {
- ret += countInvokes((org.w3c.dom.Element)nl.item(i));
- }
- }
- }
-
- return(ret);
- }
-
private org.w3c.dom.Element m_partnerLinksElem=null;
private org.w3c.dom.Element m_variablesElem=null;
private org.w3c.dom.Element m_messageExchangesElem=null;
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ScopeActivity.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ScopeActivity.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ScopeActivity.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -0,0 +1,129 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import org.scribble.model.admin.ModelListener;
+
+/**
+ * This interface represents a scope activity.
+ *
+ * @author gary
+ */
+public interface ScopeActivity {
+
+ /**
+ * This method adds a variable to the scope.
+ *
+ * @param var The variable to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addVariable(Variable var, int pos);
+
+ /**
+ * This method removes an activity from the grouping
+ * construct.
+ *
+ * @param act The activity to be removed
+ * @return Whether the activity was removed
+ */
+ public boolean removeVariable(Variable var);
+
+ /**
+ * This method returns the list of variables.
+ *
+ * @return The
+ */
+ public java.util.List<Variable> getVariables();
+
+ /**
+ * This method adds a partner link to the scope.
+ *
+ * @param pl The partner link to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addPartnerLink(PartnerLink pl, int pos);
+
+ /**
+ * This method removes a partner link from the grouping
+ * construct.
+ *
+ * @param pl The partner link to be removed
+ * @return Whether the partner link was removed
+ */
+ public boolean removePartnerLink(PartnerLink pl);
+
+ /**
+ * This method returns the list of partner links.
+ *
+ * @return The partner links
+ */
+ public java.util.List<PartnerLink> getPartnerLinks() ;
+
+ /**
+ * This method sets the activity associated with
+ * the 'else' construct.
+ *
+ * @param act The activity
+ */
+ public void setActivity(BPELActivity act) ;
+
+ /**
+ * This method returns the activity associated with
+ * the 'else' construct.
+ *
+ * @return The activity
+ */
+ public BPELActivity getActivity() ;
+
+ /**
+ * This method sets the 'eventHandlers' path.
+ *
+ * @param elem The 'eventHandlers' path
+ */
+ public void setEventHandlers(EventHandlers elem);
+
+ /**
+ * This method returns the 'eventHandlers' path.
+ *
+ * @return The 'eventHandlers' path
+ */
+ public EventHandlers getEventHandlers();
+
+ /**
+ * This method sets the 'faultHandlers' path.
+ *
+ * @param elem The 'faultHandlers' path
+ */
+ public void setFaultHandlers(FaultHandlers elem);
+
+ /**
+ * This method returns the 'faultHandlers' path.
+ *
+ * @return The 'faultHandlers' path
+ */
+ public FaultHandlers getFaultHandlers();
+
+ /**
+ * This method validates the BPEL activity and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ public void validate(ModelListener l);
+
+}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java 2009-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/util/InteractionUtil.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -17,6 +17,9 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.util;
+import org.jboss.tools.overlord.cdl.bpel.model.component.BPELActivity;
+import org.jboss.tools.overlord.cdl.bpel.model.component.Invoke;
+import org.jboss.tools.overlord.cdl.bpel.model.component.Sequence;
import org.scribble.model.*;
/**
@@ -86,4 +89,51 @@
return(ret);
}
+
+ /**
+ * This method determines whether the supplied activity
+ * is either an invoke, or a sequence that has an
+ * invoke as its first element.
+ *
+ * @param act The activity
+ * @return The invoke, or null if not found
+ */
+ public static Invoke getInvoke(BPELActivity act) {
+ Invoke ret=null;
+
+ if (act instanceof Invoke) {
+ ret = (Invoke)act;
+ } else if (act instanceof Sequence &&
+ ((Sequence)act).getActivities().size() > 0 &&
+ ((Sequence)act).getActivities().get(0) instanceof Invoke) {
+ ret = (Invoke)((Sequence)act).getActivities().get(0);
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method recursively counts the number of 'invoke' activities
+ * contained within a DOM element.
+ *
+ * @param elem The current element
+ * @return The number of invokes contained within the element
+ */
+ public static int countInvokes(org.w3c.dom.Element elem) {
+ int ret=0;
+
+ if (elem.getLocalName().equals("invoke")) {
+ ret = 1;
+ } else {
+ org.w3c.dom.NodeList nl=elem.getChildNodes();
+
+ for (int i=0; i < nl.getLength(); i++) {
+ if (nl.item(i) instanceof org.w3c.dom.Element) {
+ ret += countInvokes((org.w3c.dom.Element)nl.item(i));
+ }
+ }
+ }
+
+ return(ret);
+ }
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv 2009-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv 2009-06-23 22:35:38 UTC (rev 650)
@@ -9,14 +9,23 @@
makeEnquiry(quoteList) from Broker to Buyer;
if {
buy(buy) from Buyer to Broker;
- checkCredit(CreditCheckRequest) from Broker to CreditAgency;
- if {
- checkCredit(CreditCheckOk) from CreditAgency to Broker;
+ try {
+ checkCredit(CreditCheckRequest) from Broker to CreditAgency;
+ if {
+ checkCredit(CreditCheckOk) from CreditAgency to Broker;
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Broker;
+ raise invalidCredit;
+ }
confirm(orderConfirmed) from Broker to SupplierTxnProcessor;
- confirm(bookingReference) from SupplierTxnProcessor to Broker;
+ if {
+ confirm(bookingReference) from SupplierTxnProcessor to Broker;
+ } else if {
+ confirm(CreditCheckInvalid) from SupplierTxnProcessor to Broker;
+ raise invalidCredit;
+ }
buy(bookingReference) from Broker to Buyer;
- } else if {
- checkCredit(CreditCheckInvalid) from CreditAgency to Broker;
+ } catch invalidCredit {
buy(orderRejected) from Broker to Buyer;
}
} else if {
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/LoanApprovalService(a)Service.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/LoanApprovalService(a)Service.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/LoanApprovalService(a)Service.scv 2009-06-23 22:35:38 UTC (rev 650)
@@ -0,0 +1,41 @@
+namespace null;
+
+conversation loanApprovalProcess {
+ try {
+ boolean receive-to-assess, receive-to-approval, approval-to-reply, assess-to-setMessage, setMessage-to-reply, assess-to-approval;
+ parallel {
+ request(lns:creditInformationMessage) from customer;
+ receive-to-assess = xpath[true()];
+ receive-to-approval = xpath[true()];
+ } and {
+ when (xpath[$receive-to-assess]) {
+ check(lns:creditInformationMessage) to assessor;
+ if {
+ check(lns:riskAssessmentMessage) from assessor;
+ } else if {
+ check(lns:errorMessage) from assessor;
+ raise lns:loanProcessFault;
+ }
+ assess-to-setMessage = xpath[true()];
+ assess-to-approval = xpath[true()];
+ }
+ } and {
+ when (xpath[$receive-to-approval and $assess-to-approval]) {
+ approve(lns:creditInformationMessage) to approver;
+ if {
+ approve(lns:approvalMessage) from approver;
+ } else if {
+ approve(lns:errorMessage) from approver;
+ raise lns:loanProcessFault;
+ }
+ approval-to-reply = xpath[true()];
+ }
+ } and {
+ when (xpath[$setMessage-to-reply and $approval-to-reply]) {
+ request(lns:approvalMessage) to customer;
+ }
+ }
+ } catch lns:loanProcessFault {
+ request() to customer;
+ }
+}
\ No newline at end of file
Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java 2009-06-22 23:10:42 UTC (rev 649)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -1,376 +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.component;
-
-import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
-import org.jboss.tools.overlord.cdl.bpel.model.DefaultBPELLanguageModel;
-
-import junit.framework.TestCase;
-
-public class BPELProcessTest extends TestCase {
-
- public void testIsActivity() {
- BPELProcess act=new BPELProcess(new DefaultBPELLanguageModel(null));
-
- if (act.isActivity() == true) {
- fail("Should NOT be an activity");
- }
- }
-
- public void testProcessFromDOM() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
- "<partnerLinks><partnerLink/></partnerLinks>"+
- "<messageExchanges/>"+
- "<variables><variable/></variables>"+
- "<correlationSets/>"+
- "<faultHandlers/>"+
- "<eventHandlers/>"+
- "<sequence/>"+
- "</scope>";
-
- org.w3c.dom.Element elem=null;
-
- try {
- javax.xml.parsers.DocumentBuilderFactory factory=
- javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
-
- javax.xml.parsers.DocumentBuilder builder=
- factory.newDocumentBuilder();
-
- java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
-
- org.w3c.dom.Document doc=builder.parse(is);
- elem = doc.getDocumentElement();
-
- is.close();
- } catch(Exception e) {
- fail("Failed to convert to doc");
- }
-
- BPELProcess component=new BPELProcess(model, elem);
-
- if (component.getPartnerLinks().size() != 1) {
- fail("Expecting 1 partner link: "+component.getPartnerLinks().size());
- }
-
- if (component.getVariables().size() != 1) {
- fail("Expecting 1 variable: "+component.getVariables().size());
- }
-
- if (component.getActivity() == null) {
- fail("Activity not defined");
- }
-
- if (component.getEventHandlers() == null) {
- fail("Event handlers not defined");
- }
-
- if (component.getFaultHandlers() == null) {
- fail("Fault handlers not defined");
- }
- }
-
- public void testAddVariable() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
- "<partnerLinks><partnerLink/></partnerLinks>"+
- "<messageExchanges/>"+
- "<correlationSets/>"+
- "<faultHandlers/>"+
- "<eventHandlers/>"+
- "<sequence/>"+
- "</scope>";
-
- org.w3c.dom.Element ifelem=null;
-
- try {
- javax.xml.parsers.DocumentBuilderFactory factory=
- javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
-
- javax.xml.parsers.DocumentBuilder builder=
- factory.newDocumentBuilder();
-
- java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
-
- org.w3c.dom.Document doc=builder.parse(is);
- ifelem = doc.getDocumentElement();
-
- is.close();
- } catch(Exception e) {
- fail("Failed to convert to doc");
- }
-
- BPELProcess component=new BPELProcess(model, ifelem);
-
- if (component.getVariables().size() != 0) {
- fail("Should be no variables");
- }
-
- Variable var=new Variable(model);
- component.addVariable(var, 0);
-
- if (component.getVariables().size() != 1) {
- fail("Should be one variable: "+component.getVariables().size());
- }
-
- if (component.getDOMElement().getChildNodes().
- item(2).getLocalName().equals("variables") == false) {
- fail("Child 2 not as expected: "+component.getDOMElement().getChildNodes().
- item(2).getLocalName());
- }
- }
-
- public void testAddPartnerLink() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
- "<messageExchanges/>"+
- "<variables><variable/></variables>"+
- "<correlationSets/>"+
- "<faultHandlers/>"+
- "<eventHandlers/>"+
- "<sequence/>"+
- "</scope>";
-
- org.w3c.dom.Element elem=null;
-
- try {
- javax.xml.parsers.DocumentBuilderFactory factory=
- javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
-
- javax.xml.parsers.DocumentBuilder builder=
- factory.newDocumentBuilder();
-
- java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
-
- org.w3c.dom.Document doc=builder.parse(is);
- elem = doc.getDocumentElement();
-
- is.close();
- } catch(Exception e) {
- fail("Failed to convert to doc");
- }
-
- BPELProcess component=new BPELProcess(model, elem);
-
- if (component.getPartnerLinks().size() != 0) {
- fail("Should be no partner links");
- }
-
- PartnerLink pl=new PartnerLink(model);
- component.addPartnerLink(pl, 0);
-
- if (component.getPartnerLinks().size() != 1) {
- fail("Should be one partner link: "+component.getPartnerLinks().size());
- }
-
- if (component.getDOMElement().getChildNodes().
- item(0).getLocalName().equals("partnerLinks") == false) {
- fail("Child 0 not as expected: "+component.getDOMElement().getChildNodes().
- item(0).getLocalName());
- }
- }
-
- public void testGetPartnerLink() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- BPELProcess component=new BPELProcess(model);
- String name="testName";
-
- PartnerLink pl=new PartnerLink(model);
- pl.setName(name);
-
- component.addPartnerLink(pl, 0);
-
- if (component.getPartnerLink(name) == null) {
- fail("Failed to get partner link for '"+name+"'");
- }
-
- if (component.getPartnerLink("unknown") != null) {
- fail("Should not have returned a partner link");
- }
- }
-
- public void testSetEventHandlers() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
- "<partnerLinks><partnerLink/></partnerLinks>"+
- "<messageExchanges/>"+
- "<variables><variable/></variables>"+
- "<correlationSets/>"+
- "<faultHandlers/>"+
- "<sequence/>"+
- "</scope>";
-
- org.w3c.dom.Element ifelem=null;
-
- try {
- javax.xml.parsers.DocumentBuilderFactory factory=
- javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
-
- javax.xml.parsers.DocumentBuilder builder=
- factory.newDocumentBuilder();
-
- java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
-
- org.w3c.dom.Document doc=builder.parse(is);
- ifelem = doc.getDocumentElement();
-
- is.close();
- } catch(Exception e) {
- fail("Failed to convert to doc");
- }
-
- BPELProcess component=new BPELProcess(model, ifelem);
-
- if (component.getEventHandlers() != null) {
- fail("Should be null");
- }
-
- EventHandlers elem=new EventHandlers(model);
- component.setEventHandlers(elem);
-
- if (component.getEventHandlers() == null) {
- fail("Should NOT be null");
- }
-
- if (component.getDOMElement().getChildNodes().
- item(5).getLocalName().equals("eventHandlers") == false) {
- fail("Child 5 not as expected: "+component.getDOMElement().getChildNodes().
- item(5).getLocalName());
- }
- }
-
- public void testSetFaultHandlers() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
- "<partnerLinks><partnerLink/></partnerLinks>"+
- "<messageExchanges/>"+
- "<variables><variable/></variables>"+
- "<correlationSets/>"+
- "<eventHandlers/>"+
- "<sequence/>"+
- "</scope>";
-
- org.w3c.dom.Element ifelem=null;
-
- try {
- javax.xml.parsers.DocumentBuilderFactory factory=
- javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
-
- javax.xml.parsers.DocumentBuilder builder=
- factory.newDocumentBuilder();
-
- java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
-
- org.w3c.dom.Document doc=builder.parse(is);
- ifelem = doc.getDocumentElement();
-
- is.close();
- } catch(Exception e) {
- fail("Failed to convert to doc");
- }
-
- BPELProcess component=new BPELProcess(model, ifelem);
-
- if (component.getFaultHandlers() != null) {
- fail("Should be null");
- }
-
- FaultHandlers elem=new FaultHandlers(model);
- component.setFaultHandlers(elem);
-
- if (component.getFaultHandlers() == null) {
- fail("Should NOT be null");
- }
-
- if (component.getDOMElement().getChildNodes().
- item(4).getLocalName().equals("faultHandlers") == false) {
- fail("Child 4 not as expected: "+component.getDOMElement().getChildNodes().
- item(4).getLocalName());
- }
- }
-
- public void testSetActivity() {
- BPELLanguageModel model=new DefaultBPELLanguageModel(null);
-
- String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
- "<partnerLinks><partnerLink/></partnerLinks>"+
- "<messageExchanges/>"+
- "<variables><variable/></variables>"+
- "<correlationSets/>"+
- "<faultHandlers/>"+
- "<eventHandlers/>"+
- "</scope>";
-
- org.w3c.dom.Element ifelem=null;
-
- try {
- javax.xml.parsers.DocumentBuilderFactory factory=
- javax.xml.parsers.DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
-
- javax.xml.parsers.DocumentBuilder builder=
- factory.newDocumentBuilder();
-
- java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
-
- org.w3c.dom.Document doc=builder.parse(is);
- ifelem = doc.getDocumentElement();
-
- is.close();
- } catch(Exception e) {
- fail("Failed to convert to doc");
- }
-
- BPELProcess component=new BPELProcess(model, ifelem);
-
- if (component.getActivity() != null) {
- fail("Should be null");
- }
-
- Sequence elem=new Sequence(model);
- component.setActivity(elem);
-
- if (component.getActivity() == null) {
- fail("Should NOT be null");
- }
-
- if (component.getDOMElement().getChildNodes().
- item(6).getLocalName().equals(Sequence.SEQUENCE) == false) {
- fail("Child 6 not as expected: "+component.getDOMElement().getChildNodes().
- item(6).getLocalName());
- }
- }
-}
Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ProcessTest.java (from rev 641, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/BPELProcessTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ProcessTest.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/ProcessTest.java 2009-06-23 22:35:38 UTC (rev 650)
@@ -0,0 +1,376 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.jboss.tools.overlord.cdl.bpel.model.DefaultBPELLanguageModel;
+
+import junit.framework.TestCase;
+
+public class ProcessTest extends TestCase {
+
+ public void testIsActivity() {
+ Process act=new Process(new DefaultBPELLanguageModel(null));
+
+ if (act.isActivity() == true) {
+ fail("Should NOT be an activity");
+ }
+ }
+
+ public void testProcessFromDOM() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element elem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ elem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, elem);
+
+ if (component.getPartnerLinks().size() != 1) {
+ fail("Expecting 1 partner link: "+component.getPartnerLinks().size());
+ }
+
+ if (component.getVariables().size() != 1) {
+ fail("Expecting 1 variable: "+component.getVariables().size());
+ }
+
+ if (component.getActivity() == null) {
+ fail("Activity not defined");
+ }
+
+ if (component.getEventHandlers() == null) {
+ fail("Event handlers not defined");
+ }
+
+ if (component.getFaultHandlers() == null) {
+ fail("Fault handlers not defined");
+ }
+ }
+
+ public void testAddVariable() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, ifelem);
+
+ if (component.getVariables().size() != 0) {
+ fail("Should be no variables");
+ }
+
+ Variable var=new Variable(model);
+ component.addVariable(var, 0);
+
+ if (component.getVariables().size() != 1) {
+ fail("Should be one variable: "+component.getVariables().size());
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(2).getLocalName().equals("variables") == false) {
+ fail("Child 2 not as expected: "+component.getDOMElement().getChildNodes().
+ item(2).getLocalName());
+ }
+ }
+
+ public void testAddPartnerLink() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element elem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ elem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, elem);
+
+ if (component.getPartnerLinks().size() != 0) {
+ fail("Should be no partner links");
+ }
+
+ PartnerLink pl=new PartnerLink(model);
+ component.addPartnerLink(pl, 0);
+
+ if (component.getPartnerLinks().size() != 1) {
+ fail("Should be one partner link: "+component.getPartnerLinks().size());
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(0).getLocalName().equals("partnerLinks") == false) {
+ fail("Child 0 not as expected: "+component.getDOMElement().getChildNodes().
+ item(0).getLocalName());
+ }
+ }
+
+ public void testGetPartnerLink() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ Process component=new Process(model);
+ String name="testName";
+
+ PartnerLink pl=new PartnerLink(model);
+ pl.setName(name);
+
+ component.addPartnerLink(pl, 0);
+
+ if (component.getPartnerLink(name) == null) {
+ fail("Failed to get partner link for '"+name+"'");
+ }
+
+ if (component.getPartnerLink("unknown") != null) {
+ fail("Should not have returned a partner link");
+ }
+ }
+
+ public void testSetEventHandlers() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, ifelem);
+
+ if (component.getEventHandlers() != null) {
+ fail("Should be null");
+ }
+
+ EventHandlers elem=new EventHandlers(model);
+ component.setEventHandlers(elem);
+
+ if (component.getEventHandlers() == null) {
+ fail("Should NOT be null");
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(5).getLocalName().equals("eventHandlers") == false) {
+ fail("Child 5 not as expected: "+component.getDOMElement().getChildNodes().
+ item(5).getLocalName());
+ }
+ }
+
+ public void testSetFaultHandlers() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<eventHandlers/>"+
+ "<sequence/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, ifelem);
+
+ if (component.getFaultHandlers() != null) {
+ fail("Should be null");
+ }
+
+ FaultHandlers elem=new FaultHandlers(model);
+ component.setFaultHandlers(elem);
+
+ if (component.getFaultHandlers() == null) {
+ fail("Should NOT be null");
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(4).getLocalName().equals("faultHandlers") == false) {
+ fail("Child 4 not as expected: "+component.getDOMElement().getChildNodes().
+ item(4).getLocalName());
+ }
+ }
+
+ public void testSetActivity() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<scope xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<partnerLinks><partnerLink/></partnerLinks>"+
+ "<messageExchanges/>"+
+ "<variables><variable/></variables>"+
+ "<correlationSets/>"+
+ "<faultHandlers/>"+
+ "<eventHandlers/>"+
+ "</scope>";
+
+ org.w3c.dom.Element ifelem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ ifelem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, ifelem);
+
+ if (component.getActivity() != null) {
+ fail("Should be null");
+ }
+
+ Sequence elem=new Sequence(model);
+ component.setActivity(elem);
+
+ if (component.getActivity() == null) {
+ fail("Should NOT be null");
+ }
+
+ if (component.getDOMElement().getChildNodes().
+ item(6).getLocalName().equals(Sequence.SEQUENCE) == false) {
+ fail("Child 6 not as expected: "+component.getDOMElement().getChildNodes().
+ item(6).getLocalName());
+ }
+ }
+}
14 years, 10 months
Overlord SVN: r649 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: plugintest/org/jboss/tools/overlord/cdl/bpel/parser and 1 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-22 19:10:42 -0400 (Mon, 22 Jun 2009)
New Revision: 649
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/Scope.java
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/testmodels/LoanApprovalService(a)Service.bpel
Log:
Handle situations where fault handlers defined with multiple invokes, so faults need to be associated with each invoke, as not clear which one they belong to.
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-06-20 23:25:56 UTC (rev 648)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-06-22 23:10:42 UTC (rev 649)
@@ -120,7 +120,63 @@
convertRequest(activities, context);
+ // Check if invoke is contained within a scope that defines
+ // fault handlers. If so, then generate choice to throw
+ // fault exceptions.
+ Scope scope=null;
+ org.w3c.dom.Element cur=getDOMElement();
+
+ while (cur != null && cur.getParentNode() instanceof org.w3c.dom.Element &&
+ scope == null) {
+ cur = (org.w3c.dom.Element)cur.getParentNode();
+
+ if (cur != null) {
+ BPELElement elem=BPELElementFactory.createBPELElement(getModel(),
+ cur);
+
+ if (elem instanceof Scope) {
+ scope = (Scope)elem;
+ }
+ }
+ }
+
+ if (scope != null && scope.getFaultHandlers() != null &&
+ (scope.getFaultHandlers().getCatchPaths().size() > 0 ||
+ scope.getFaultHandlers().getCatchAll() != null)) {
+ org.scribble.conversation.model.If te=
+ new org.scribble.conversation.model.If();
+
+ activities.add(te);
+
+ org.scribble.conversation.model.ConditionalBlock cb=
+ new org.scribble.conversation.model.ConditionalBlock();
+ te.getConditionalBlocks().add(cb);
+
+ activities = cb.getContents();
+
+ for (int i=0; i < scope.getFaultHandlers().getCatchPaths().size(); i++) {
+ Catch catchBlock=scope.getFaultHandlers().getCatchPaths().get(i);
+
+ org.scribble.conversation.model.ConditionalBlock fcb=
+ new org.scribble.conversation.model.ConditionalBlock();
+
+ convertFaultResponse(fcb.getContents(), catchBlock.getFaultVariable(), context);
+
+ org.scribble.conversation.model.Raise raise=
+ new org.scribble.conversation.model.Raise();
+
+ TypeReference tref=new TypeReference();
+ tref.setAlias(catchBlock.getFaultName());
+ raise.setType(tref);
+
+ fcb.getContents().add(raise);
+
+ te.getConditionalBlocks().add(fcb);
+ }
+ }
+
if (getOutputVariable() != null) {
+
convertResponse(activities, context);
}
}
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-20 23:25:56 UTC (rev 648)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-22 23:10:42 UTC (rev 649)
@@ -534,12 +534,16 @@
context.addVariable(m_variables.get(i));
}
+ // TODO: Count number of invoke activities
+ int invokeCount=countInvokes(getActivity().getDOMElement());
+
// 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 ||
+ if (invokeCount == 1 &&
+ 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)) &&
@@ -584,9 +588,34 @@
// added
java.util.List<Activity> acts=activities;
- // TODO: Check if try/catch block is required
+ // Check if try/catch block is required
+ if (getFaultHandlers() != null &&
+ (getFaultHandlers().getCatchPaths().size() > 0 ||
+ getFaultHandlers().getCatchAll() != null)) {
+ org.scribble.conversation.model.TryEscape te=
+ new org.scribble.conversation.model.TryEscape();
+
+ acts.add(te);
+
+ acts = te.getBlock().getContents();
+
+ for (int i=0; i < getFaultHandlers().getCatchPaths().size(); i++) {
+ org.scribble.conversation.model.CatchBlock cb=
+ new org.scribble.conversation.model.CatchBlock();
+
+ TypeReference tref=new TypeReference();
+ tref.setAlias(getFaultHandlers().getCatchPaths().get(i).getFaultName());
+ cb.setType(tref);
+
+ if (getFaultHandlers().getCatchPaths().get(i).getActivity() != null) {
+ getFaultHandlers().getCatchPaths().get(i).getActivity().
+ convert(cb.getContents(), context);
+ }
+
+ te.getEscapeBlocks().add(cb);
+ }
+ }
-
// Convert normal activities in scope
if (getActivity() != null) {
getActivity().convert(acts, context);
@@ -607,6 +636,31 @@
return(ret);
}
+
+ /**
+ * This method recursively counts the number of 'invoke' activities
+ * contained within a DOM element.
+ *
+ * @param elem The current element
+ * @return The number of invokes contained within the element
+ */
+ protected int countInvokes(org.w3c.dom.Element elem) {
+ int ret=0;
+
+ if (elem.getLocalName().equals("invoke")) {
+ ret = 1;
+ } else {
+ org.w3c.dom.NodeList nl=elem.getChildNodes();
+
+ for (int i=0; i < nl.getLength(); i++) {
+ if (nl.item(i) instanceof org.w3c.dom.Element) {
+ ret += countInvokes((org.w3c.dom.Element)nl.item(i));
+ }
+ }
+ }
+
+ return(ret);
+ }
private org.w3c.dom.Element m_partnerLinksElem=null;
private org.w3c.dom.Element m_variablesElem=null;
Modified: 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 2009-06-20 23:25:56 UTC (rev 648)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-22 23:10:42 UTC (rev 649)
@@ -44,7 +44,7 @@
suite.addTest(new BPELToConversationTest("ReqRespFault@Buyer"));
suite.addTest(new BPELToConversationTest("ReqRespFault@Seller"));
suite.addTest(new BPELToConversationTest("LoanApprovalService@Service"));
-
+
return suite;
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel 2009-06-20 23:25:56 UTC (rev 648)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel 2009-06-22 23:10:42 UTC (rev 649)
@@ -1,4 +1,4 @@
-<process name="loanApprovalProcess" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="LoanApprovalService@Service"
+<process name="loanApprovalProcess"
targetNamespace="http://example.com/loan-approval/"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:lns="http://example.com/loan-approval/wsdl/"
14 years, 10 months
Overlord SVN: r648 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel: src/java/org/jboss/tools/overlord/cdl/bpel/model/component and 3 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-20 19:25:56 -0400 (Sat, 20 Jun 2009)
New Revision: 648
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Source.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Target.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Exit.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Flow.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ForEach.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/OnMessage.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/RepeatUntil.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Rethrow.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/Throw.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Wait.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java
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/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
Log:
Implementation of flow and target/source link mechanism. One part remaining of new example - to deal with fault handler based on invoke in one of the flow paths.
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/META-INF/MANIFEST.MF 2009-06-20 23:25:56 UTC (rev 648)
@@ -15,7 +15,8 @@
org.junit,
org.scribble.conversation.parser,
org.pi4soa.scribble;resolution:=optional,
- org.apache.commons.logging
+ org.apache.commons.logging,
+ org.scribble.expression.xpath
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: www.jboss.org
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/BPELActivity.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -18,6 +18,7 @@
package org.jboss.tools.overlord.cdl.bpel.model.component;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.scribble.model.Activity;
/**
* This class represents the base class for all BPEL
@@ -25,6 +26,10 @@
*/
public abstract class BPELActivity extends BPELElement {
+ private static final String SOURCES = "sources";
+
+ private static final String TARGETS = "targets";
+
private static final String SUPPRESS_JOIN_FAILURE = "suppressJoinFailure";
private static final String NAME = "name";
@@ -40,6 +45,36 @@
public BPELActivity(BPELLanguageModel model,
org.w3c.dom.Element activity) {
super(model, activity);
+
+ org.w3c.dom.Element targets=findChildElement(TARGETS);
+
+ if (targets != null) {
+ org.w3c.dom.NodeList nl=targets.getChildNodes();
+
+ for (int i=0; i < nl.getLength(); i++) {
+ if (nl.item(i) instanceof org.w3c.dom.Element &&
+ nl.item(i).getLocalName().equals(Target.TARGET)
+ && nl.item(i) instanceof org.w3c.dom.Element) {
+ m_targets.add(new Target(model,
+ (org.w3c.dom.Element)nl.item(i)));
+ }
+ }
+ }
+
+ org.w3c.dom.Element sources=findChildElement(SOURCES);
+
+ if (sources != null) {
+ org.w3c.dom.NodeList nl=sources.getChildNodes();
+
+ for (int i=0; i < nl.getLength(); i++) {
+ if (nl.item(i) instanceof org.w3c.dom.Element &&
+ nl.item(i).getLocalName().equals(Source.SOURCE)
+ && nl.item(i) instanceof org.w3c.dom.Element) {
+ m_sources.add(new Source(model,
+ (org.w3c.dom.Element)nl.item(i)));
+ }
+ }
+ }
}
/**
@@ -112,4 +147,259 @@
return(ret);
}
+
+ /**
+ * This method adds a target to the activity.
+ *
+ * @param target The target to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addTarget(Target target, int pos) {
+
+ org.w3c.dom.Element targets=null;
+
+ if (m_targets.size() == 0) {
+ targets = getDOMElement().getOwnerDocument().
+ createElementNS(BPEL_NS, TARGETS);
+
+ if (getDOMElement().getFirstChild() == null) {
+ getDOMElement().appendChild(targets);
+ } else {
+ getDOMElement().insertBefore(targets,
+ getDOMElement().getFirstChild());
+ }
+ } else {
+ targets = findChildElement(TARGETS);
+ }
+
+ org.w3c.dom.Node newNode=target.getDOMElement().cloneNode(true);
+
+ getDOMElement().getOwnerDocument().adoptNode(newNode);
+
+ target.setDOMElement((org.w3c.dom.Element)newNode);
+
+ if (pos == -1 && pos < m_targets.size()) {
+ m_targets.add(target);
+
+ targets.appendChild(newNode);
+ } else {
+
+ Target cur=m_targets.get(pos);
+
+ m_targets.add(pos, target);
+
+ if (cur != null) {
+ targets.insertBefore(newNode,
+ cur.getDOMElement());
+ } else {
+ targets.appendChild(newNode);
+ }
+ }
+ }
+
+ /**
+ * This method removes a target from the activity.
+ *
+ * @param target The target to be removed
+ * @return Whether the target was removed
+ */
+ public boolean removeTarget(Target target) {
+ boolean ret=m_targets.remove(target);
+
+ if (ret) {
+ org.w3c.dom.Element targets=
+ findChildElement(TARGETS);
+
+ if (targets != null) {
+ targets.removeChild(target.getDOMElement());
+
+ if (m_targets.size() == 0) {
+ getDOMElement().removeChild(targets);
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the list of targets associated
+ * with the activity.
+ *
+ * @return The list of targets
+ */
+ public java.util.List<Target> getTargets() {
+ return(m_targets);
+ }
+
+ /**
+ * This method adds a source to the activity.
+ *
+ * @param source The source to be added
+ * @param pos The position to add, or -1 if at the end
+ */
+ public void addSource(Source source, int pos) {
+
+ org.w3c.dom.Element sources=null;
+
+ if (m_sources.size() == 0) {
+ sources = getDOMElement().getOwnerDocument().
+ createElementNS(BPEL_NS, SOURCES);
+
+ if (getDOMElement().getFirstChild() == null) {
+ getDOMElement().appendChild(sources);
+ } else {
+ getDOMElement().insertBefore(sources,
+ getDOMElement().getFirstChild());
+ }
+ } else {
+ sources = findChildElement(SOURCES);
+ }
+
+ org.w3c.dom.Node newNode=source.getDOMElement().cloneNode(true);
+
+ getDOMElement().getOwnerDocument().adoptNode(newNode);
+
+ source.setDOMElement((org.w3c.dom.Element)newNode);
+
+ if (pos == -1 && pos < m_sources.size()) {
+ m_sources.add(source);
+
+ sources.appendChild(newNode);
+ } else {
+
+ Source cur=m_sources.get(pos);
+
+ m_sources.add(pos, source);
+
+ if (cur != null) {
+ sources.insertBefore(newNode,
+ cur.getDOMElement());
+ } else {
+ sources.appendChild(newNode);
+ }
+ }
+ }
+
+ /**
+ * This method removes a source from the activity.
+ *
+ * @param source The source to be removed
+ * @return Whether the source was removed
+ */
+ public boolean removesource(Source source) {
+ boolean ret=m_sources.remove(source);
+
+ if (ret) {
+ org.w3c.dom.Element sources=
+ findChildElement(SOURCES);
+
+ if (sources != null) {
+ sources.removeChild(source.getDOMElement());
+
+ if (m_sources.size() == 0) {
+ getDOMElement().removeChild(sources);
+ }
+ }
+ }
+
+ return(ret);
+ }
+
+ /**
+ * This method returns the list of sources associated
+ * with the activity.
+ *
+ * @return The list of sources
+ */
+ public java.util.List<Source> getSources() {
+ return(m_sources);
+ }
+
+ /**
+ * This method converts the BPEL activity into an equivalent
+ * behavioural description for conformance checking.
+ *
+ * @param activities The list of activities that will contain
+ * the converted action(s)
+ * @param context The conversion context
+ */
+ public void convert(java.util.List<Activity> activities,
+ ConversionContext context) {
+
+ if (getTargets().size() > 0) {
+
+ // Create 'when' construct to wait for inbound links
+ // to be satisfied
+ org.scribble.expression.xpath.model.XPathExpression expr=
+ new org.scribble.expression.xpath.model.XPathExpression();
+
+ String query="";
+
+ for (int i=0; i < getTargets().size(); i++) {
+ if (i > 0) {
+ query += " and ";
+ }
+ query += "$"+getTargets().get(i).getLinkName();
+ }
+
+ expr.setQuery(query);
+
+ org.scribble.conversation.model.When elem=
+ new org.scribble.conversation.model.When();
+
+ org.scribble.conversation.model.ConditionalBlock block=
+ new org.scribble.conversation.model.ConditionalBlock();
+ block.setExpression(expr);
+
+ elem.getConditionalBlocks().add(block);
+
+ activities.add(elem);
+
+ activities = block.getContents();
+ }
+
+ convertActivity(activities, context);
+
+ // If sources, then set boolean variable
+ for (int i=0; i < getSources().size(); i++) {
+
+ org.scribble.conversation.model.Assignment assign=
+ new org.scribble.conversation.model.Assignment();
+
+ org.scribble.conversation.model.Variable var=
+ new org.scribble.conversation.model.Variable();
+
+ var.setName(getSources().get(i).getLinkName());
+
+ assign.setVariable(var);
+
+ org.scribble.expression.xpath.model.XPathExpression expr=
+ new org.scribble.expression.xpath.model.XPathExpression();
+
+ expr.setQuery("true()");
+ assign.setExpression(expr);
+
+ activities.add(assign);
+ }
+ }
+
+ /**
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
+ *
+ * @param activities The list of activities that will contain
+ * the converted action(s)
+ * @param context The conversion context
+ */
+ protected abstract void convertActivity(java.util.List<Activity> activities,
+ ConversionContext context);
+
+ private java.util.List<Target> m_targets=
+ new java.util.Vector<Target>();
+ private java.util.List<Source> m_sources=
+ new java.util.Vector<Source>();
}
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Catch.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -59,8 +59,8 @@
@Override
public void convert(List<Activity> activities, ConversionContext context) {
- // TODO Auto-generated method stub
-
+ // Catch is not directly converted, only its contents indirectly as
+ // a fault response in a scope
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Exit.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Exit.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Exit.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -64,14 +64,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Flow.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Flow.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Flow.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -48,7 +48,8 @@
org.w3c.dom.NodeList nl=links.getChildNodes();
for (int i=0; i < nl.getLength(); i++) {
- if (nl.item(i).getLocalName().equals(Link.LINK)
+ if (nl.item(i) instanceof org.w3c.dom.Element &&
+ nl.item(i).getLocalName().equals(Link.LINK)
&& nl.item(i) instanceof org.w3c.dom.Element) {
m_links.add(new Link(model,
(org.w3c.dom.Element)nl.item(i)));
@@ -225,15 +226,57 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
+
+ // If links have been defined, represent them as boolean
+ // variables that can be tested using a 'when' clause
+ if (getLinks().size() > 0) {
+ org.scribble.conversation.model.VariableList vl=
+ new org.scribble.conversation.model.VariableList();
+
+ org.scribble.model.TypeReference tref=
+ new org.scribble.model.TypeReference();
+ tref.setAlias("boolean");
+
+ vl.setType(tref);
+
+ for (int i=0; i < getLinks().size(); i++) {
+ Link l=getLinks().get(i);
+
+ org.scribble.conversation.model.Variable var=
+ new org.scribble.conversation.model.Variable();
+
+ var.setName(l.getName());
+
+ vl.getVariables().add(var);
+ }
+
+ activities.add(vl);
+ }
+
+ org.scribble.conversation.model.Parallel parallel=
+ new org.scribble.conversation.model.Parallel();
+
+ for (int i=0; i < getActivities().size(); i++) {
+ Block b=new Block();
+
+ getActivities().get(i).convert(b.getContents(), context);
+
+ parallel.getBlocks().add(b);
+ }
+
+ activities.add(parallel);
}
private java.util.List<Link> m_links=
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ForEach.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ForEach.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/ForEach.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -95,14 +95,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
}
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -93,14 +93,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
org.scribble.conversation.model.If elem=
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -105,14 +105,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
convertRequest(activities, context);
@@ -139,9 +142,16 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(context.getRole()));
- interaction.setToRole(new Role(getClientPartnerRole()));
+ if (context.getRole() != null) {
+ interaction.setFromRole(new Role(context.getRole()));
+ }
+ String toRole=getClientPartnerRole();
+
+ if (toRole != null) {
+ interaction.setToRole(new Role(toRole));
+ }
+
interaction.setMessageSignature(ms);
activities.add(interaction);
@@ -165,9 +175,16 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(getClientPartnerRole()));
- interaction.setToRole(new Role(context.getRole()));
+ String fromRole=getClientPartnerRole();
+ if (fromRole != null) {
+ interaction.setFromRole(new Role(fromRole));
+ }
+
+ if (context.getRole() != null) {
+ interaction.setToRole(new Role(context.getRole()));
+ }
+
interaction.setMessageSignature(ms);
activities.add(interaction);
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -204,9 +204,16 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(getServerPartnerRole()));
- interaction.setToRole(new Role(context.getRole()));
+ String fromRole=getServerPartnerRole();
+ if (fromRole != null) {
+ interaction.setFromRole(new Role(fromRole));
+ }
+
+ if (context.getRole() != null) {
+ interaction.setToRole(new Role(context.getRole()));
+ }
+
interaction.setMessageSignature(ms);
activities.add(interaction);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -200,14 +200,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
org.scribble.conversation.model.If elem=
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -118,14 +118,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
ConversationInteraction interaction=new ConversationInteraction();
@@ -147,9 +150,14 @@
fromRole = getClientPartnerRole();
}
- interaction.setFromRole(new Role(fromRole));
- interaction.setToRole(new Role(context.getRole()));
+ if (fromRole != null) {
+ interaction.setFromRole(new Role(fromRole));
+ }
+ if (context.getRole() != null) {
+ interaction.setToRole(new Role(context.getRole()));
+ }
+
interaction.setMessageSignature(ms);
activities.add(interaction);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/RepeatUntil.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/RepeatUntil.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/RepeatUntil.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -74,14 +74,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -106,14 +106,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
ConversationInteraction interaction=new ConversationInteraction();
@@ -129,9 +132,16 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(context.getRole()));
- interaction.setToRole(new Role(getServerPartnerRole()));
+ if (context.getRole() != null) {
+ interaction.setFromRole(new Role(context.getRole()));
+ }
+ String toRole=getServerPartnerRole();
+
+ if (toRole != null) {
+ interaction.setToRole(new Role(toRole));
+ }
+
interaction.setMessageSignature(ms);
activities.add(interaction);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Rethrow.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Rethrow.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Rethrow.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -64,14 +64,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
}
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-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -516,14 +516,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
// Add variables to the context
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Sequence.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -126,14 +126,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
for (int i=0; i < m_activities.size(); i++) {
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Source.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Source.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Source.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import java.util.List;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.scribble.model.Activity;
+
+/**
+ * This class represents the BPEL source element, contained within
+ * any BPEL activity.
+ */
+public class Source extends BPELElement {
+
+ private static final long serialVersionUID = 4878669992635772776L;
+
+ private static final String LINK_NAME = "linkName";
+
+ public static final String SOURCE="source";
+
+ /**
+ * The constructor for the element.
+ *
+ * @param model The BPEL model
+ * @param elem The XML configuration details for the element
+ */
+ public Source(BPELLanguageModel model,
+ org.w3c.dom.Element elem) {
+ super(model, elem);
+ }
+
+ /**
+ * The constructor for the element.
+ *
+ * @param model The BPEL model
+ */
+ public Source(BPELLanguageModel model) {
+ super(model, SOURCE);
+ }
+
+ /**
+ * This method returns the name associated
+ * with the link.
+ *
+ * @return The link name
+ */
+ public String getLinkName() {
+ return(getDOMElement().getAttribute(LINK_NAME));
+ }
+
+ /**
+ * This method sets the link name.
+ *
+ * @param name The name
+ */
+ public void setLinkName(String name) {
+ getDOMElement().setAttribute(LINK_NAME, name);
+ }
+
+ @Override
+ public void convert(List<Activity> activities, ConversionContext context) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Target.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Target.java (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Target.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+package org.jboss.tools.overlord.cdl.bpel.model.component;
+
+import java.util.List;
+
+import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.scribble.model.Activity;
+
+/**
+ * This class represents the BPEL target element, contained within
+ * any BPEL activity.
+ */
+public class Target extends BPELElement {
+
+ private static final long serialVersionUID = -8813636777020840433L;
+
+ private static final String LINK_NAME = "linkName";
+
+ public static final String TARGET="target";
+
+ /**
+ * The constructor for the element.
+ *
+ * @param model The BPEL model
+ * @param elem The XML configuration details for the element
+ */
+ public Target(BPELLanguageModel model,
+ org.w3c.dom.Element elem) {
+ super(model, elem);
+ }
+
+ /**
+ * The constructor for the element.
+ *
+ * @param model The BPEL model
+ */
+ public Target(BPELLanguageModel model) {
+ super(model, TARGET);
+ }
+
+ /**
+ * This method returns the name associated
+ * with the link.
+ *
+ * @return The link name
+ */
+ public String getLinkName() {
+ return(getDOMElement().getAttribute(LINK_NAME));
+ }
+
+ /**
+ * This method sets the link name.
+ *
+ * @param name The name
+ */
+ public void setLinkName(String name) {
+ getDOMElement().setAttribute(LINK_NAME, name);
+ }
+
+ @Override
+ public void convert(List<Activity> activities, ConversionContext context) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Throw.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -105,14 +105,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Wait.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Wait.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Wait.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -130,14 +130,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -74,14 +74,17 @@
}
/**
- * This method converts the BPEL activity into an equivalent
- * behavioural description for conformance checking.
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
*
* @param activities The list of activities that will contain
* the converted action(s)
* @param context The conversion context
*/
- public void convert(java.util.List<Activity> activities,
+ protected void convertActivity(java.util.List<Activity> activities,
ConversionContext context) {
org.scribble.conversation.model.While elem=
Modified: 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 2009-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -43,6 +43,7 @@
suite.addTest(new BPELToConversationTest("PurchaseGoods@Store"));
suite.addTest(new BPELToConversationTest("ReqRespFault@Buyer"));
suite.addTest(new BPELToConversationTest("ReqRespFault@Seller"));
+ suite.addTest(new BPELToConversationTest("LoanApprovalService@Service"));
return suite;
}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/LoanApprovalService(a)Service.bpel 2009-06-20 23:25:56 UTC (rev 648)
@@ -0,0 +1,123 @@
+<process name="loanApprovalProcess" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="LoanApprovalService@Service"
+ targetNamespace="http://example.com/loan-approval/"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:lns="http://example.com/loan-approval/wsdl/"
+ suppressJoinFailure="yes">
+ <import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="loanServicePT.wsdl"
+ namespace="http://example.com/loan-approval/wsdl/" />
+ <partnerLinks>
+ <partnerLink name="customer"
+ partnerLinkType="lns:loanPartnerLT"
+ myRole="loanService" />
+ <partnerLink name="approver"
+ partnerLinkType="lns:loanApprovalLT"
+ partnerRole="approver" />
+ <partnerLink name="assessor"
+ partnerLinkType="lns:riskAssessmentLT"
+ partnerRole="assessor" />
+ </partnerLinks>
+ <variables>
+ <variable name="request"
+ messageType="lns:creditInformationMessage" />
+ <variable name="risk"
+ messageType="lns:riskAssessmentMessage" />
+ <variable name="approval"
+ messageType="lns:approvalMessage" />
+ </variables>
+ <faultHandlers>
+ <catch faultName="lns:loanProcessFault"
+ faultVariable="error"
+ faultMessageType="lns:errorMessage">
+ <reply partnerLink="customer"
+ portType="lns:loanServicePT"
+ operation="request" variable="error"
+ faultName="unableToHandleRequest" />
+ </catch>
+ </faultHandlers>
+ <flow>
+ <links>
+ <link name="receive-to-assess" />
+ <link name="receive-to-approval" />
+ <link name="approval-to-reply" />
+ <link name="assess-to-setMessage" />
+ <link name="setMessage-to-reply" />
+ <link name="assess-to-approval" />
+ </links>
+ <receive partnerLink="customer"
+ portType="lns:loanServicePT"
+ operation="request"
+ variable="request"
+ createInstance="yes">
+ <sources>
+ <source linkName="receive-to-assess">
+ <transitionCondition>
+ $request.amount < 10000
+ </transitionCondition>
+ </source>
+ <source linkName="receive-to-approval">
+ <transitionCondition>
+ $request.amount >= 10000
+ </transitionCondition>
+ </source>
+ </sources>
+ </receive>
+ <invoke partnerLink="assessor"
+ portType="lns:riskAssessmentPT"
+ operation="check"
+ inputVariable="request"
+ outputVariable="risk">
+ <targets>
+ <target linkName="receive-to-assess" />
+ </targets>
+ <sources>
+ <source linkName="assess-to-setMessage">
+ <transitionCondition>
+ $risk.level='low'
+ </transitionCondition>
+ </source>
+ <source linkName="assess-to-approval">
+ <transitionCondition>
+ $risk.level!='low'
+ </transitionCondition>
+ </source>
+ </sources>
+ </invoke>
+ <assign>
+ <targets>
+ <target linkName="assess-to-setMessage" />
+ </targets>
+ <sources>
+ <source linkName="setMessage-to-reply" />
+ </sources>
+ <copy>
+ <from>
+ <literal>yes</literal>
+ </from>
+ <to variable="approval" part="accept" />
+ </copy>
+ </assign>
+ <invoke partnerLink="approver"
+ portType="lns:loanApprovalPT"
+ operation="approve"
+ inputVariable="request"
+ outputVariable="approval">
+ <targets>
+ <target linkName="receive-to-approval" />
+ <target linkName="assess-to-approval" />
+ </targets>
+ <sources>
+ <source linkName="approval-to-reply" />
+ </sources>
+ </invoke>
+ <reply partnerLink="customer"
+ portType="lns:loanServicePT"
+ operation="request"
+ variable="approval">
+ <targets>
+ <target linkName="setMessage-to-reply" />
+ <target linkName="approval-to-reply" />
+ </targets>
+ </reply>
+ </flow>
+</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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestAbstractInteraction.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -35,8 +35,19 @@
super(model, "test");
}
- @Override
- public void convert(List<Activity> activities, ConversionContext context) {
+ /**
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
+ *
+ * @param activities The list of activities that will contain
+ * the converted action(s)
+ * @param context The conversion context
+ */
+ protected void convertActivity(java.util.List<Activity> activities,
+ ConversionContext context) {
// TODO Auto-generated method stub
}
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-06-20 20:28:04 UTC (rev 647)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/test/org/jboss/tools/overlord/cdl/bpel/model/component/TestBPELActivity.java 2009-06-20 23:25:56 UTC (rev 648)
@@ -35,8 +35,19 @@
super(model, "test");
}
- @Override
- public void convert(List<Activity> activities, ConversionContext context) {
+ /**
+ * This method does the actual work of converting the specific
+ * BPEL activity into an equivalent behavioural description for
+ * conformance checking. The 'convert' method provides
+ * a wrapper around this method, to handle the standard elements
+ * that can be associated with any BPEL activity.
+ *
+ * @param activities The list of activities that will contain
+ * the converted action(s)
+ * @param context The conversion context
+ */
+ protected void convertActivity(java.util.List<Activity> activities,
+ ConversionContext context) {
// TODO Auto-generated method stub
}
14 years, 10 months
Overlord SVN: r647 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: plugintest/org/jboss/tools/overlord/cdl/bpel/parser and 2 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-20 16:28:04 -0400 (Sat, 20 Jun 2009)
New Revision: 647
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Buyer.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)CreditAgency.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierQuoteEngine.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierTxnProcessor.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(a)Buyer.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(a)Seller.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)CreditAgency.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierQuoteEngine.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierTxnProcessor.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(a)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(a)Seller.bpel
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
Log:
Check additional tests, and fix issue in 'receive' when using a callback port type.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-06-19 20:43:43 UTC (rev 646)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-06-20 20:28:04 UTC (rev 647)
@@ -141,7 +141,13 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(getServerPartnerRole()));
+ String fromRole=getServerPartnerRole();
+
+ if (fromRole != null && fromRole.equals(context.getRole())) {
+ fromRole = getClientPartnerRole();
+ }
+
+ interaction.setFromRole(new Role(fromRole));
interaction.setToRole(new Role(context.getRole()));
interaction.setMessageSignature(ms);
Modified: 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 2009-06-19 20:43:43 UTC (rev 646)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-20 20:28:04 UTC (rev 647)
@@ -34,9 +34,15 @@
TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
suite.addTest(new BPELToConversationTest("ESBBroker@Broker"));
+ suite.addTest(new BPELToConversationTest("ESBBroker@Buyer"));
+ suite.addTest(new BPELToConversationTest("ESBBroker@CreditAgency"));
+ suite.addTest(new BPELToConversationTest("ESBBroker@SupplierQuoteEngine"));
+ suite.addTest(new BPELToConversationTest("ESBBroker@SupplierTxnProcessor"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@Buyer"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@CreditAgency"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@Store"));
+ suite.addTest(new BPELToConversationTest("ReqRespFault@Buyer"));
+ suite.addTest(new BPELToConversationTest("ReqRespFault@Seller"));
return suite;
}
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Buyer.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(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/ESBBroker(a)Buyer.scv 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,16 @@
+namespace null;
+
+conversation ESBBrokerProcess_Buyer@Buyer implements ESBBroker@Buyer {
+ makeEnquiry(enquiry) from Buyer to Broker;
+ makeEnquiry(quoteList) from Broker to Buyer;
+ if {
+ buy(buy) from Buyer to Broker;
+ if {
+ buy(bookingReference) from Broker to Buyer;
+ } else if {
+ buy(orderRejected) from Broker to Buyer;
+ }
+ } else if {
+ cancel(cancel) from Buyer to Broker;
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)CreditAgency.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)CreditAgency.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)CreditAgency.scv 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,12 @@
+namespace null;
+
+conversation ESBBrokerProcess_CreditAgency@CreditAgency implements ESBBroker@CreditAgency {
+ if {
+ checkCredit(CreditCheckRequest) from Broker to CreditAgency;
+ if {
+ checkCredit(CreditCheckOk) from CreditAgency to Broker;
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Broker;
+ }
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierQuoteEngine.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierQuoteEngine.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierQuoteEngine.scv 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,6 @@
+namespace null;
+
+conversation RequestForQuote_SupplierQuoteEngine@SupplierQuoteEngine implements ESBBroker@SupplierQuoteEngine {
+ getQuote(requestForQuote) from Broker to SupplierQuoteEngine;
+ getQuote(quote) from SupplierQuoteEngine to Broker;
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierTxnProcessor.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierTxnProcessor.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)SupplierTxnProcessor.scv 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,8 @@
+namespace null;
+
+conversation CompleteTransaction_SupplierTxnProcessor@SupplierTxnProcessor implements ESBBroker@SupplierTxnProcessor {
+ if {
+ confirm(orderConfirmed) from Broker to SupplierTxnProcessor;
+ confirm(bookingReference) from SupplierTxnProcessor to Broker;
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(a)Buyer.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(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/ReqRespFault(a)Buyer.scv 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation ReqRespFaultProcess_Buyer@Buyer implements ReqRespFault@Buyer {
+ checkCredit(CreditCheckRequest) from Buyer to Seller;
+ if {
+ checkCredit(CreditCheckOk) from Seller to Buyer;
+ } else if {
+ checkCredit(CreditCheckInvalid) from Seller to Buyer;
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(a)Seller.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(a)Seller.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ReqRespFault(a)Seller.scv 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation ReqRespFaultProcess_Seller@Seller implements ReqRespFault@Seller {
+ checkCredit(CreditCheckRequest) from Buyer to Seller;
+ if {
+ checkCredit(CreditCheckOk) from Seller to Buyer;
+ } else if {
+ checkCredit(CreditCheckInvalid) from Seller to Buyer;
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(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/ESBBroker(a)Buyer.bpel 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,40 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@Buyer" name="ESBBrokerProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="BuyerRequester" name="BuyerToBroker" partnerLinkType="BuyerToBrokerLT" partnerRole="BrokerRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="enquiry" name="enquiryVar"/>
+ <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>
+ <invoke inputVariable="enquiryVar" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ <receive operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BuyerBrokerCallbackPT" variable="quoteListVar"/>
+ <if>
+ <sequence>
+ <scope>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="rejected" faultVariable="orderRejectedVar">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke inputVariable="buyVar" operation="buy" outputVariable="bookingReferenceVar" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </scope>
+ </sequence>
+ <else>
+ <sequence>
+ <invoke inputVariable="cancelVar" operation="cancel" partnerLink="BuyerToBroker" portType="BrokerPT"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)CreditAgency.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)CreditAgency.bpel 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,32 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@CreditAgency" name="ESBBrokerProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="CreditAgencyService" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyServiceLT"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
+ <variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
+ </variables>
+ <sequence>
+ <pick>
+ <onMessage operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT" variable="creditCheckRequestVar">
+ <sequence>
+ <scope>
+ <sequence>
+ <if>
+ <sequence>
+ <reply operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT" variable="creditCheckOkVar"/>
+ </sequence>
+ <else>
+ <sequence>
+ <reply faultName="invalidCredit" operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT" variable="creditCheckInvalidVar"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+ </scope>
+ </sequence>
+ </onMessage>
+ </pick>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierQuoteEngine.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierQuoteEngine.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierQuoteEngine.bpel 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,13 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@SupplierQuoteEngine" name="RequestForQuote_SupplierQuoteEngine" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="SupplierQuoteEngineService" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineServiceLT"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="requestForQuote" name="requestForQuoteVar"/>
+ <variable messageType="quote" name="quoteVar"/>
+ </variables>
+ <sequence>
+ <receive operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT" variable="requestForQuoteVar"/>
+ <reply operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT" variable="quoteVar"/>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierTxnProcessor.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierTxnProcessor.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)SupplierTxnProcessor.bpel 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,18 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@SupplierTxnProcessor" name="CompleteTransaction_SupplierTxnProcessor" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="SupplierTxnProcessorService" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorServiceLT"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="orderConfirmed" name="orderConfirmedVar"/>
+ <variable messageType="bookingReference" name="bookingReferenceVar"/>
+ </variables>
+ <sequence>
+ <pick>
+ <onMessage operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT" variable="orderConfirmedVar">
+ <sequence>
+ <reply operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT" variable="bookingReferenceVar"/>
+ </sequence>
+ </onMessage>
+ </pick>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(a)Buyer.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(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/ReqRespFault(a)Buyer.bpel 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,22 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ReqRespFault@Buyer" name="ReqRespFaultProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink name="BuyerToSeller" partnerLinkType="BuyerToSellerLT" partnerRole="SellerRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
+ <variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
+ </variables>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="insufficientCredit" faultVariable="creditCheckInvalidVar">
+ <sequence/>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke inputVariable="creditCheckRequestVar" operation="checkCredit" outputVariable="creditCheckOkVar" partnerLink="BuyerToSeller" portType="SellerPT"/>
+ </sequence>
+ </scope>
+ </sequence>
+</process>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(a)Seller.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(a)Seller.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ReqRespFault(a)Seller.bpel 2009-06-20 20:28:04 UTC (rev 647)
@@ -0,0 +1,23 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ReqRespFault@Seller" name="ReqRespFaultProcess_Seller" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="SellerService" name="BuyerToSeller" partnerLinkType="BuyerToSellerServiceLT"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
+ <variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
+ </variables>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT" variable="creditCheckRequestVar"/>
+ <if>
+ <sequence>
+ <reply operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT" variable="creditCheckOkVar"/>
+ </sequence>
+ <else>
+ <sequence>
+ <reply faultName="insufficientCredit" operation="checkCredit" partnerLink="BuyerToSeller" portType="SellerPT" variable="creditCheckInvalidVar"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
14 years, 10 months
Overlord SVN: r646 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/model/component and 4 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-19 16:43:43 -0400 (Fri, 19 Jun 2009)
New Revision: 646
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)Broker.bpel
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.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/While.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)CreditAgency.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
Log:
Added conversion of Pick and While constructs from BPEL to Conversation Model.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationInteractionModelChangeRule.java 2009-06-19 20:43:43 UTC (rev 646)
@@ -230,33 +230,6 @@
}
}
- // 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);
- 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);
- }
- }
-
// Set details on interaction
act.setPartnerLink(pl.getName());
act.setPortType(portType);
@@ -266,6 +239,33 @@
}
}
+ // 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);
+ 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);
+ }
+ }
+
return(ret);
}
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-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/OnMessage.java 2009-06-19 20:43:43 UTC (rev 646)
@@ -20,7 +20,11 @@
import java.util.List;
import org.jboss.tools.overlord.cdl.bpel.model.BPELLanguageModel;
+import org.scribble.conversation.model.ConversationInteraction;
import org.scribble.model.Activity;
+import org.scribble.model.MessageSignature;
+import org.scribble.model.Role;
+import org.scribble.model.TypeReference;
/**
* This class represents the 'onMessage' construct contained
@@ -167,10 +171,49 @@
return(m_activity);
}
+ /**
+ * This method attempts to identify the server's partner role name.
+ *
+ * @return The partner role
+ */
+ protected String getServerPartnerRole() {
+ String ret=getPartnerLink();
+ int index=-1;
+
+ if (ret != null && (index=ret.indexOf("To")) != -1) {
+ ret = ret.substring(0, index);
+ }
+
+ return(ret);
+ }
+
@Override
public void convert(List<Activity> activities, ConversionContext context) {
- // TODO Auto-generated method stub
+ ConversationInteraction interaction=new ConversationInteraction();
+
+ TypeReference tref=new TypeReference();
+
+ Variable var=context.getVariable(getVariable());
+
+ if (var != null) {
+ tref.setAlias(var.getMessageType());
+ }
+
+ MessageSignature ms=new MessageSignature();
+ ms.setOperation(getOperation());
+ ms.getTypes().add(tref);
+
+ interaction.setFromRole(new Role(getServerPartnerRole()));
+ interaction.setToRole(new Role(context.getRole()));
+
+ interaction.setMessageSignature(ms);
+
+ activities.add(interaction);
+
+ if (getActivity() != null) {
+ getActivity().convert(activities, context);
+ }
}
private BPELElement m_activity;
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java 2009-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Pick.java 2009-06-19 20:43:43 UTC (rev 646)
@@ -17,6 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.component;
+import org.scribble.conversation.model.ConditionalBlock;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
import org.jboss.tools.overlord.cdl.bpel.model.*;
@@ -208,6 +209,25 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ org.scribble.conversation.model.If elem=
+ new org.scribble.conversation.model.If();
+
+ // Convert 'onMessage' paths
+ for (int i=0; i < getOnMessages().size(); i++) {
+ OnMessage onMessageElem=getOnMessages().get(i);
+
+ ConditionalBlock cb = new ConditionalBlock();
+
+ onMessageElem.convert(cb.getContents(), context);
+
+ elem.getConditionalBlocks().add(cb);
+ }
+
+ // TODO: If alarms defined, then model these using a
+ // try/catch with interrupt?
+
+ activities.add(elem);
}
private java.util.List<OnMessage> m_onMessages=
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-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Scope.java 2009-06-19 20:43:43 UTC (rev 646)
@@ -576,6 +576,18 @@
}
activities.add(choice);
+ } else {
+ // Store in local var, in case try/catch block needs to be
+ // added
+ java.util.List<Activity> acts=activities;
+
+ // TODO: Check if try/catch block is required
+
+
+ // Convert normal activities in scope
+ if (getActivity() != null) {
+ getActivity().convert(acts, context);
+ }
}
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java 2009-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/While.java 2009-06-19 20:43:43 UTC (rev 646)
@@ -83,6 +83,17 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ org.scribble.conversation.model.While elem=
+ new org.scribble.conversation.model.While();
+
+ // TODO: Convert while expression
+
+ if (getActivity() != null) {
+ getActivity().convert(elem.getBlock().getContents(), context);
+ }
+
+ activities.add(elem);
}
/**
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-18 21:37:10 UTC (rev 645)
+++ 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-19 20:43:43 UTC (rev 646)
@@ -8,14 +8,15 @@
<variables>
<variable messageType="enquiry" name="enquiryVar"/>
<variable messageType="requestForQuote" name="requestForQuoteVar"/>
+ <variable messageType="quote" name="quoteVar"/>
<variable messageType="quoteList" name="quoteListVar"/>
+ <variable messageType="buy" name="buyVar"/>
<variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
<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"/>
</variables>
<sequence>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel 2009-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel 2009-06-19 20:43:43 UTC (rev 646)
@@ -3,9 +3,9 @@
<partnerLink myRole="CreditAgencyService" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyServiceLT"/>
</partnerLinks>
<variables>
+ <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
<variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
<variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
- <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
</variables>
<sequence>
<pick>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel 2009-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel 2009-06-19 20:43:43 UTC (rev 646)
@@ -3,8 +3,8 @@
<partnerLink myRole="SupplierTxnProcessorService" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorServiceLT"/>
</partnerLinks>
<variables>
+ <variable messageType="orderConfirmed" name="orderConfirmedVar"/>
<variable messageType="bookingReference" name="bookingReferenceVar"/>
- <variable messageType="orderConfirmed" name="orderConfirmedVar"/>
</variables>
<sequence>
<pick>
Modified: 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 2009-06-18 21:37:10 UTC (rev 645)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-19 20:43:43 UTC (rev 646)
@@ -33,6 +33,7 @@
public static TestSuite suite() {
TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
+ suite.addTest(new BPELToConversationTest("ESBBroker@Broker"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@Buyer"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@CreditAgency"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@Store"));
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/ESBBroker(a)Broker.scv 2009-06-19 20:43:43 UTC (rev 646)
@@ -0,0 +1,25 @@
+namespace null;
+
+conversation ESBBrokerProcess_Broker@Broker implements ESBBroker@Broker {
+ makeEnquiry(enquiry) from Buyer to Broker;
+ while {
+ getQuote(requestForQuote) from Broker to SupplierQuoteEngine;
+ getQuote(quote) from SupplierQuoteEngine to Broker;
+ }
+ makeEnquiry(quoteList) from Broker to Buyer;
+ if {
+ buy(buy) from Buyer to Broker;
+ checkCredit(CreditCheckRequest) from Broker to CreditAgency;
+ if {
+ checkCredit(CreditCheckOk) from CreditAgency to Broker;
+ confirm(orderConfirmed) from Broker to SupplierTxnProcessor;
+ confirm(bookingReference) from SupplierTxnProcessor to Broker;
+ buy(bookingReference) from Broker to Buyer;
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Broker;
+ buy(orderRejected) from Broker to Buyer;
+ }
+ } else if {
+ cancel(cancel) from Buyer to Broker;
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)Broker.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)Broker.bpel (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/ESBBroker(a)Broker.bpel 2009-06-19 20:43:43 UTC (rev 646)
@@ -0,0 +1,62 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@Broker" name="ESBBrokerProcess_Broker" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="BrokerService" name="BuyerToBroker" partnerLinkType="BuyerToBrokerServiceLT"/>
+ <partnerLink name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
+ <partnerLink name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ <partnerLink name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="enquiry" name="enquiryVar"/>
+ <variable messageType="requestForQuote" name="requestForQuoteVar"/>
+ <variable messageType="quote" name="quoteVar"/>
+ <variable messageType="quoteList" name="quoteListVar"/>
+ <variable messageType="buy" name="buyVar"/>
+ <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
+ <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="cancel" name="cancelVar"/>
+ </variables>
+ <sequence>
+ <receive operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT" variable="enquiryVar"/>
+ <while>
+ <sequence>
+ <scope>
+ <sequence>
+ <invoke inputVariable="requestForQuoteVar" operation="getQuote" outputVariable="quoteVar" partnerLink="BrokerToSupplierQuoteEngine" portType="SupplierQuoteEnginePT"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </while>
+ <reply operation="makeEnquiry" partnerLink="BuyerToBroker" portType="BrokerPT" variable="quoteListVar"/>
+ <pick>
+ <onMessage operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT" variable="buyVar">
+ <sequence>
+ <scope>
+ <sequence>
+ <scope>
+ <faultHandlers>
+ <catch faultName="invalidCredit" faultVariable="creditCheckInvalidVar">
+ <sequence>
+ <reply faultName="rejected" operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT" variable="orderRejectedVar"/>
+ </sequence>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke inputVariable="creditCheckRequestVar" operation="checkCredit" outputVariable="creditCheckOkVar" partnerLink="BrokerToCreditAgency" portType="CreditAgencyPT"/>
+ <invoke inputVariable="orderConfirmedVar" operation="confirm" outputVariable="bookingReferenceVar" partnerLink="BrokerToSupplierTxnProcessor" portType="SupplierTxnProcessorPT"/>
+ <reply operation="buy" partnerLink="BuyerToBroker" portType="BrokerPT" variable="bookingReferenceVar"/>
+ </sequence>
+ </scope>
+ </sequence>
+ </scope>
+ </sequence>
+ </onMessage>
+ <onMessage operation="cancel" partnerLink="BuyerToBroker" portType="BrokerPT" variable="cancelVar">
+ <sequence/>
+ </onMessage>
+ </pick>
+ </sequence>
+</process>
14 years, 10 months
Overlord SVN: r645 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: plugintest/org/jboss/tools/overlord/cdl/bpel/parser and 2 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-18 17:37:10 -0400 (Thu, 18 Jun 2009)
New Revision: 645
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)CreditAgency.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)CreditAgency.bpel
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/Elseif.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/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
Log:
Support conversion of If/ElseIf/Else BPEL components to Conversation If construct.
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-06-16 21:11:01 UTC (rev 644)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Else.java 2009-06-18 21:37:10 UTC (rev 645)
@@ -56,8 +56,10 @@
@Override
public void convert(List<Activity> activities, ConversionContext context) {
- // TODO Auto-generated method stub
+ if (getActivity() != null) {
+ getActivity().convert(activities, context);
+ }
}
/**
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-06-16 21:11:01 UTC (rev 644)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Elseif.java 2009-06-18 21:37:10 UTC (rev 645)
@@ -65,8 +65,10 @@
@Override
public void convert(List<Activity> activities, ConversionContext context) {
- // TODO Auto-generated method stub
+ if (getActivity() != null) {
+ getActivity().convert(activities, context);
+ }
}
/**
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-06-16 21:11:01 UTC (rev 644)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/If.java 2009-06-18 21:37:10 UTC (rev 645)
@@ -17,6 +17,7 @@
*/
package org.jboss.tools.overlord.cdl.bpel.model.component;
+import org.scribble.conversation.model.ConditionalBlock;
import org.scribble.model.*;
import org.scribble.model.admin.ModelListener;
import org.apache.commons.logging.*;
@@ -101,6 +102,41 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ org.scribble.conversation.model.If elem=
+ new org.scribble.conversation.model.If();
+
+ ConditionalBlock cb=new ConditionalBlock();
+
+ // TODO: Convert the conditional expression
+
+ if (getActivity() != null) {
+ getActivity().convert(cb.getContents(), context);
+ }
+
+ elem.getConditionalBlocks().add(cb);
+
+ // Convert 'else if' paths
+ for (int i=0; i < getElseIfPaths().size(); i++) {
+ Elseif elseIfElem=getElseIfPaths().get(i);
+
+ cb = new ConditionalBlock();
+
+ elseIfElem.convert(cb.getContents(), context);
+
+ elem.getConditionalBlocks().add(cb);
+ }
+
+ // Convert 'else' path
+ if (getElsePath() != null) {
+ cb = new ConditionalBlock();
+
+ getElsePath().convert(cb.getContents(), context);
+
+ elem.getConditionalBlocks().add(cb);
+ }
+
+ activities.add(elem);
}
/**
Modified: 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 2009-06-16 21:11:01 UTC (rev 644)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-18 21:37:10 UTC (rev 645)
@@ -34,6 +34,7 @@
TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
suite.addTest(new BPELToConversationTest("PurchaseGoods@Buyer"));
+ suite.addTest(new BPELToConversationTest("PurchaseGoods@CreditAgency"));
suite.addTest(new BPELToConversationTest("PurchaseGoods@Store"));
return suite;
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)CreditAgency.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)CreditAgency.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)CreditAgency.scv 2009-06-18 21:37:10 UTC (rev 645)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation PurchaseGoodsProcess_CreditAgency@CreditAgency implements PurchaseGoods@CreditAgency {
+ checkCredit(CreditCheckRequest) from Store to CreditAgency;
+ if {
+ checkCredit(CreditCheckOk) from CreditAgency to Store;
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Store;
+ }
+}
\ No newline at end of file
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)CreditAgency.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)CreditAgency.bpel 2009-06-18 21:37:10 UTC (rev 645)
@@ -0,0 +1,23 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="PurchaseGoods@CreditAgency" name="PurchaseGoodsProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="CreditAgencyService" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyServiceLT"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="CreditCheckRequest" name="creditCheckRequestVar"/>
+ <variable messageType="CreditCheckOk" name="creditCheckOkVar"/>
+ <variable messageType="CreditCheckInvalid" name="creditCheckInvalidVar"/>
+ </variables>
+ <sequence>
+ <receive operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT" variable="creditCheckRequestVar"/>
+ <if>
+ <sequence>
+ <reply operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT" variable="creditCheckOkVar"/>
+ </sequence>
+ <else>
+ <sequence>
+ <reply faultName="CreditCheckFailed" operation="checkCredit" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT" variable="creditCheckInvalidVar"/>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
+</process>
14 years, 10 months
Overlord SVN: r644 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src: java/org/jboss/tools/overlord/cdl/bpel/model/component and 5 other directories.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2009-06-16 17:11:01 -0400 (Tue, 16 Jun 2009)
New Revision: 644
Added:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Store.scv
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Store.bpel
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.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/Receive.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/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/ESBBroker(a)CreditAgency.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(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)Buyer.bpel
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel
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/generator/results/ReqRespFault(a)Seller.bpel
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/PurchaseGoods(a)Buyer.scv
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:
Implemented second BPEL->Conversation conversion example, and generate the conversation type into the generated BPEL.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/change/ConversationModelChangeRule.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -98,6 +98,8 @@
bpelModel.getBPELProcess().setName(conv.getModelName().getName()+"_"+
conv.getModelName().getLocatedRole().getName());
+ bpelModel.getBPELProcess().setConversationType(bpelModel.getModelReference().toText());
+
// Add sequence to model
bpelModel.getBPELProcess().setActivity(seq);
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/AbstractInteraction.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -110,8 +110,40 @@
return(getDOMElement().hasAttribute(PORT_TYPE)?
getDOMElement().getAttribute(PORT_TYPE):null);
}
+
+ /**
+ * This method attempts to identify the client's partner role name.
+ *
+ * @return The partner role
+ */
+ protected String getClientPartnerRole() {
+ String ret=getPartnerLink();
+ int index=-1;
+
+ if (ret != null && (index=ret.indexOf("To")) != -1) {
+ ret = ret.substring(index+2);
+ }
+
+ return(ret);
+ }
/**
+ * This method attempts to identify the server's partner role name.
+ *
+ * @return The partner role
+ */
+ protected String getServerPartnerRole() {
+ String ret=getPartnerLink();
+ int index=-1;
+
+ if (ret != null && (index=ret.indexOf("To")) != -1) {
+ ret = ret.substring(0, index);
+ }
+
+ return(ret);
+ }
+
+ /**
* This method validates the BPEL activity and reports warnings or
* errors to the supplied model listener.
*
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-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Invoke.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -114,6 +114,12 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+
+ convertRequest(activities, context);
+
+ if (getOutputVariable() != null) {
+ convertResponse(activities, context);
+ }
}
protected void convertRequest(java.util.List<Activity> activities,
@@ -134,7 +140,7 @@
ms.getTypes().add(tref);
interaction.setFromRole(new Role(context.getRole()));
- interaction.setToRole(new Role(getPartnerRole()));
+ interaction.setToRole(new Role(getClientPartnerRole()));
interaction.setMessageSignature(ms);
@@ -159,7 +165,7 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(getPartnerRole()));
+ interaction.setFromRole(new Role(getClientPartnerRole()));
interaction.setToRole(new Role(context.getRole()));
interaction.setMessageSignature(ms);
@@ -185,22 +191,11 @@
ms.setOperation(getOperation());
ms.getTypes().add(tref);
- interaction.setFromRole(new Role(getPartnerRole()));
+ interaction.setFromRole(new Role(getClientPartnerRole()));
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/Receive.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Receive.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -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.*;
@@ -126,6 +127,26 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+ ConversationInteraction interaction=new ConversationInteraction();
+
+ TypeReference tref=new TypeReference();
+
+ Variable var=context.getVariable(getVariable());
+
+ if (var != null) {
+ tref.setAlias(var.getMessageType());
+ }
+
+ MessageSignature ms=new MessageSignature();
+ ms.setOperation(getOperation());
+ ms.getTypes().add(tref);
+
+ interaction.setFromRole(new Role(getServerPartnerRole()));
+ interaction.setToRole(new Role(context.getRole()));
+
+ interaction.setMessageSignature(ms);
+
+ activities.add(interaction);
}
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/java/org/jboss/tools/overlord/cdl/bpel/model/component/Reply.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -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,6 +115,26 @@
*/
public void convert(java.util.List<Activity> activities,
ConversionContext context) {
+ ConversationInteraction interaction=new ConversationInteraction();
+
+ TypeReference tref=new TypeReference();
+
+ Variable var=context.getVariable(getVariable());
+
+ 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(getServerPartnerRole()));
+
+ interaction.setMessageSignature(ms);
+
+ activities.add(interaction);
}
}
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-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/GeneratorTest.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -108,6 +108,9 @@
ModelReference targetRef=
new ModelReference(BPELNotation.NOTATION_CODE);
+ targetRef.setAlias(model.getModelName().getName());
+ targetRef.setLocatedRole(model.getModelName().getLocatedRole().getName());
+
DefaultBPELLanguageModel target=
new DefaultBPELLanguageModel(targetRef);
@@ -145,6 +148,7 @@
* @param bpel The BPEL
*/
protected void checkResults(TestResult result, String bpel) {
+ boolean f_valid=false;
String filename="results/"+m_name+".bpel";
@@ -165,11 +169,8 @@
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+"]");
+ } else {
+ f_valid = true;
}
} catch(Exception e) {
result.addError(this, e);
@@ -179,6 +180,65 @@
new Throwable("Resulting BPEL '"+filename+
"' not found for comparison"));
}
+
+ if (f_valid == false) {
+ String bpelfile="testmodels/"+m_name+".scv";
+
+ 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+".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 SCV model source '"+
+ m_name+"': "+url));
+ }
+ }
+ }
}
private String m_name=null;
@@ -262,6 +322,8 @@
if (generator != null) {
ModelReference targetRef=
new ModelReference(BPELNotation.NOTATION_CODE);
+ targetRef.setAlias(m_name);
+ targetRef.setLocatedRole(m_role);
DefaultBPELLanguageModel target=
new DefaultBPELLanguageModel(targetRef);
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-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="ESBBrokerProcess_Broker" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@Broker" name="ESBBrokerProcess_Broker" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="BrokerService" name="BuyerToBroker" partnerLinkType="BuyerToBrokerServiceLT"/>
<partnerLink name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
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-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="ESBBrokerProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@Buyer" name="ESBBrokerProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="BuyerRequester" name="BuyerToBroker" partnerLinkType="BuyerToBrokerLT" partnerRole="BrokerRequester"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)CreditAgency.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="ESBBrokerProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@CreditAgency" name="ESBBrokerProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="CreditAgencyService" name="BrokerToCreditAgency" partnerLinkType="BrokerToCreditAgencyServiceLT"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierQuoteEngine.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="RequestForQuote_SupplierQuoteEngine" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@SupplierQuoteEngine" name="RequestForQuote_SupplierQuoteEngine" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="SupplierQuoteEngineService" name="BrokerToSupplierQuoteEngine" partnerLinkType="BrokerToSupplierQuoteEngineServiceLT"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ESBBroker(a)SupplierTxnProcessor.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="CompleteTransaction_SupplierTxnProcessor" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ESBBroker@SupplierTxnProcessor" name="CompleteTransaction_SupplierTxnProcessor" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="SupplierTxnProcessorService" name="BrokerToSupplierTxnProcessor" partnerLinkType="BrokerToSupplierTxnProcessorServiceLT"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/EventHandler(a)Store.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="EventHandler_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="EventHandler@Store" name="EventHandler_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
<partnerLink myRole="StoreRequester" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
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-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="PurchaseGoods@Buyer" name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink name="BuyerToStore" partnerLinkType="BuyerToStoreLT" partnerRole="StoreRequester"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/PurchaseGoods(a)CreditAgency.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="PurchaseGoodsProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="PurchaseGoods@CreditAgency" name="PurchaseGoodsProcess_CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="CreditAgencyService" name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyServiceLT"/>
</partnerLinks>
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-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="PurchaseGoodsProcess_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="PurchaseGoods@Store" name="PurchaseGoodsProcess_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
<partnerLink name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
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-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="ReqRespFaultProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ReqRespFault@Buyer" name="ReqRespFaultProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink name="BuyerToSeller" partnerLinkType="BuyerToSellerLT" partnerRole="SellerRequester"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/generator/results/ReqRespFault(a)Seller.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -1,4 +1,4 @@
-<process name="ReqRespFaultProcess_Seller" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="ReqRespFault@Seller" name="ReqRespFaultProcess_Seller" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink myRole="SellerService" name="BuyerToSeller" partnerLinkType="BuyerToSellerServiceLT"/>
</partnerLinks>
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-16 19:44:22 UTC (rev 643)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/ParserTest.java 2009-06-16 21:11:01 UTC (rev 644)
@@ -34,6 +34,7 @@
TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
suite.addTest(new BPELToConversationTest("PurchaseGoods@Buyer"));
+ suite.addTest(new BPELToConversationTest("PurchaseGoods@Store"));
return suite;
}
Modified: 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 2009-06-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,6 +1,6 @@
namespace null;
-conversation PurchaseGoodsProcess_Buyer@Buyer implements PurchaseGoodsProcess@Buyer {
+conversation PurchaseGoodsProcess_Buyer@Buyer implements PurchaseGoods@Buyer {
buy(BuyRequest) from Buyer to Store;
if {
buy(BuyConfirmed) from Store to Buyer;
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Store.scv
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/results/PurchaseGoods(a)Store.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)Store.scv 2009-06-16 21:11:01 UTC (rev 644)
@@ -0,0 +1,13 @@
+namespace null;
+
+conversation PurchaseGoodsProcess_Store@Store implements PurchaseGoods@Store {
+ buy(BuyRequest) from Buyer to Store;
+ checkCredit(CreditCheckRequest) from Store to CreditAgency;
+ if {
+ checkCredit(CreditCheckOk) from CreditAgency to Store;
+ buy(BuyConfirmed) from Store to Buyer;
+ } else if {
+ checkCredit(CreditCheckInvalid) from CreditAgency to Store;
+ 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-16 19:44:22 UTC (rev 643)
+++ 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 21:11:01 UTC (rev 644)
@@ -1,5 +1,4 @@
-<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" >
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="PurchaseGoods@Buyer" name="PurchaseGoodsProcess_Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
<partnerLinks>
<partnerLink name="BuyerToStore" partnerLinkType="BuyerToStoreLT" partnerRole="StoreRequester"/>
</partnerLinks>
Added: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Store.bpel
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.bpel/src/plugintest/org/jboss/tools/overlord/cdl/bpel/parser/testmodels/PurchaseGoods(a)Store.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)Store.bpel 2009-06-16 21:11:01 UTC (rev 644)
@@ -0,0 +1,30 @@
+<process xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="PurchaseGoods@Store" name="PurchaseGoodsProcess_Store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+ <partnerLinks>
+ <partnerLink myRole="StoreService" name="BuyerToStore" partnerLinkType="BuyerToStoreServiceLT"/>
+ <partnerLink name="StoreToCreditAgency" partnerLinkType="StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+ </partnerLinks>
+ <variables>
+ <variable messageType="BuyRequest" name="buyRequestVar"/>
+ <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" faultVariable="creditCheckInvalidVar">
+ <sequence>
+ <reply faultName="BuyFailed" operation="buy" partnerLink="BuyerToStore" portType="StorePT" variable="buyFailedVar"/>
+ </sequence>
+ </catch>
+ </faultHandlers>
+ <sequence>
+ <invoke inputVariable="creditCheckRequestVar" operation="checkCredit" outputVariable="creditCheckOkVar" partnerLink="StoreToCreditAgency" portType="CreditAgencyPT"/>
+ <reply operation="buy" partnerLink="BuyerToStore" portType="StorePT" variable="buyConfirmedVar"/>
+ </sequence>
+ </scope>
+ </sequence>
+</process>
14 years, 10 months