[overlord-commits] Overlord SVN: r476 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model: change/stateless and 1 other directory.
overlord-commits at lists.jboss.org
overlord-commits at lists.jboss.org
Wed Feb 4 14:58:10 EST 2009
Author: objectiser
Date: 2009-02-04 14:58:09 -0500 (Wed, 04 Feb 2009)
New Revision: 476
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SendMessageAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SwitchAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/ConversationInteractionModelChangeRule.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
Log:
Generate response category/name properties, if an interaction represents the sending of a request, with an associated response.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SendMessageAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SendMessageAction.java 2009-02-01 19:18:46 UTC (rev 475)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SendMessageAction.java 2009-02-04 19:58:09 UTC (rev 476)
@@ -34,6 +34,8 @@
public static final String SERVICE_NAME = "serviceName";
public static final String SERVICE_CATEGORY = "serviceCategory";
+ public static final String RESPONSE_SERVICE_NAME = "responseServiceName";
+ public static final String RESPONSE_SERVICE_CATEGORY = "responseServiceCategory";
/**
* The constructor for the action.
@@ -70,6 +72,8 @@
ret.add(SERVICE_NAME);
ret.add(SERVICE_CATEGORY);
+ ret.add(RESPONSE_SERVICE_NAME);
+ ret.add(RESPONSE_SERVICE_CATEGORY);
return(ret);
}
@@ -189,4 +193,25 @@
prop.setAttribute(VALUE_ATTR, name);
}
}
+
+ /**
+ * This method sets the response service descriptor properties.
+ *
+ * @param category The category
+ * @param name The name
+ */
+ public void setResponseDestination(String category, String name) {
+
+ org.w3c.dom.Element prop=getPropertyElement(RESPONSE_SERVICE_CATEGORY);
+
+ if (prop != null) {
+ prop.setAttribute(VALUE_ATTR, category);
+ }
+
+ prop = getPropertyElement(RESPONSE_SERVICE_NAME);
+
+ if (prop != null) {
+ prop.setAttribute(VALUE_ATTR, name);
+ }
+ }
}
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SwitchAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SwitchAction.java 2009-02-01 19:18:46 UTC (rev 475)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateless/SwitchAction.java 2009-02-04 19:58:09 UTC (rev 476)
@@ -256,7 +256,7 @@
*/
public void addCase(String category, String name,
java.util.Set<Interaction> messageTypes, int position) {
-
+ boolean f_associatePath=false;
org.w3c.dom.Element paths=getPropertyElement(PATHS);
org.w3c.dom.Element path=
@@ -264,29 +264,56 @@
path.setAttribute(SERVICE_CATEGORY, category);
path.setAttribute(SERVICE_NAME, name);
- if (messageTypes != null) {
+ if (messageTypes != null && messageTypes.size() > 0) {
java.util.Iterator<Interaction> iter=messageTypes.iterator();
+ boolean f_onlySend=true;
while (iter.hasNext()) {
Interaction interaction=iter.next();
- //TODO: Only deals with single type for now
- if (InteractionUtil.isSend(interaction) == false &&
- interaction.getMessageSignature().getTypes().size()==1) {
- org.w3c.dom.Element mt=
- getAction().getOwnerDocument().createElement(MESSAGE_ELEMENT);
+ if (InteractionUtil.isSend(interaction) == false) {
+ f_onlySend = false;
+
+ //TODO: Only deals with single type for now
+
+ // Only associate message type for requests
+ if (//interaction.getReplyToLabel() == null &&
+ interaction.getMessageSignature().getTypes().size()==1) {
+ org.w3c.dom.Element mt=
+ getAction().getOwnerDocument().createElement(MESSAGE_ELEMENT);
+
+ mt.setAttribute(TYPE_ATTR,
+ InteractionUtil.getTypeString(
+ interaction.getMessageSignature().
+ getTypes().get(0)));
- mt.setAttribute(TYPE_ATTR,
- InteractionUtil.getTypeString(
- interaction.getMessageSignature().
- getTypes().get(0)));
-
- path.appendChild(mt);
+ path.appendChild(mt);
+
+ f_associatePath = true;
+ }
}
}
+
+ if (f_onlySend) {
+ // Associate the path, even though it has no associated
+ // receive interactions, as it represents a path triggered by
+ // a different stimulus. Need this to enable the
+ // conformance checking to understand that it is a
+ // valid path, that needs to be handled.
+ f_associatePath = true;
+ }
+ } else {
+ // Associate the path, even though it has no associated
+ // interactions, as it represents a path triggered by
+ // a different stimulus. Need this to enable the
+ // conformance checking to understand that it is a
+ // valid path, that needs to be handled.
+ f_associatePath = true;
}
- paths.appendChild(path);
+ //if (f_associatePath) {
+ paths.appendChild(path);
+ //}
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/ConversationInteractionModelChangeRule.java 2009-02-01 19:18:46 UTC (rev 475)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/change/stateless/ConversationInteractionModelChangeRule.java 2009-02-04 19:58:09 UTC (rev 476)
@@ -156,6 +156,13 @@
action.setDestination("", "");
}
+ if (interaction.getRequestLabel() != null) {
+ ESBService gw=esbModel.getGatewayService();
+
+ action.setResponseDestination(gw.getCategory(),
+ gw.getName());
+ }
+
/* IS REQUIRED??
if (interaction.getRequestLabel() != 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-02-01 19:18:46 UTC (rev 475)
+++ 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-02-04 19:58:09 UTC (rev 476)
@@ -338,10 +338,16 @@
for (int i=0; i < ifElem.getConditionalBlocks().size(); i++) {
ConditionalBlock cb=ifElem.getConditionalBlocks().get(i);
+ java.util.Set<Interaction> interactions=null;
+
+ if (la != null) {
+ interactions = la.getInteractions(cb);
+ }
+
ESBService subService=
esbModel.createService(service.getCategory(),
- esbModel.getUniqueServiceName(service.getCategory(),
- service.getName()));
+ esbModel.getUniqueServiceName(service.getCategory(),
+ service.getName()));
esbModel.addService(subService);
@@ -351,12 +357,6 @@
context.insert(model, cb.getContents().get(j), null);
}
- java.util.Set<Interaction> interactions=null;
-
- if (la != null) {
- interactions = la.getInteractions(cb);
- }
-
switchAction.addCase(subService.getCategory(),
subService.getName(), interactions, i);
More information about the overlord-commits
mailing list