Author: objectiser
Date: 2009-02-09 15:27:42 -0500 (Mon, 09 Feb 2009)
New Revision: 484
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
Log:
Add 'event' element, with an appropriate description, for top level SwitchAction
paths that are not triggered by received message types.
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-07
20:41:26 UTC (rev 483)
+++
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-09
20:27:42 UTC (rev 484)
@@ -34,7 +34,9 @@
private static final long serialVersionUID = 3765702614644769281L;
public static final String TYPE_ATTR = "type";
+ public static final String DESCRIPTION_ATTR = "description";
public static final String MESSAGE_ELEMENT = "message";
+ public static final String EVENT_ELEMENT = "event";
private static final String SERVICE_NAME = "service-name";
private static final String SERVICE_CATEGORY = "service-category";
private static final String CASE = "case";
@@ -257,6 +259,8 @@
public void addCase(String category, String name,
java.util.Set<Interaction> messageTypes, int position) {
boolean f_associatePath=false;
+ boolean f_eventBased=false;
+ String eventDescription="TODO: Path triggered by internal event";
org.w3c.dom.Element paths=getPropertyElement(PATHS);
org.w3c.dom.Element path=
@@ -267,6 +271,7 @@
if (messageTypes != null && messageTypes.size() > 0) {
java.util.Iterator<Interaction> iter=messageTypes.iterator();
boolean f_onlySend=true;
+ String sendEventTypes=null;
while (iter.hasNext()) {
Interaction interaction=iter.next();
@@ -291,6 +296,16 @@
f_associatePath = true;
}
+ } else if (interaction.getMessageSignature().getTypes().size()==1) {
+ if (sendEventTypes == null) {
+ sendEventTypes = InteractionUtil.getTypeString(
+ interaction.getMessageSignature().
+ getTypes().get(0));
+ } else {
+ sendEventTypes += ", "+InteractionUtil.getTypeString(
+ interaction.getMessageSignature().
+ getTypes().get(0));
+ }
}
}
@@ -301,6 +316,11 @@
// conformance checking to understand that it is a
// valid path, that needs to be handled.
f_associatePath = true;
+
+ f_eventBased = true;
+
+ eventDescription="Event trigger to send "+
+ sendEventTypes+" message type(s)";
}
} else {
// Associate the path, even though it has no associated
@@ -309,8 +329,19 @@
// conformance checking to understand that it is a
// valid path, that needs to be handled.
f_associatePath = true;
+
+ f_eventBased = true;
}
+ if (f_eventBased) {
+ org.w3c.dom.Element mt=
+ getAction().getOwnerDocument().createElement(EVENT_ELEMENT);
+
+ mt.setAttribute(DESCRIPTION_ATTR, eventDescription);
+
+ path.appendChild(mt);
+ }
+
//if (f_associatePath) {
paths.appendChild(path);
//}
Show replies by date