[overlord-commits] Overlord SVN: r209 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model: change and 1 other directory.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Thu Jul 31 11:14:10 EDT 2008


Author: objectiser
Date: 2008-07-31 11:14:10 -0400 (Thu, 31 Jul 2008)
New Revision: 209

Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationInteractionModelChangeRule.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationModelChangeRule.java
Log:
Added service description name, conversation type, root, properties to various actions.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-07-31 12:04:01 UTC (rev 208)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/AbstractESBAction.java	2008-07-31 15:14:10 UTC (rev 209)
@@ -450,6 +450,34 @@
 	}
 	
 	/**
+	 * This method sets the service description name property.
+	 * 
+	 * @param name The service description name
+	 */
+	public void setServiceDescriptionName(String name) {
+		
+		org.w3c.dom.Element prop=getPropertyElement(SERVICE_DESCRIPTION_NAME);
+		
+		if (prop != null) {
+			prop.setAttribute(VALUE_ATTR, name);
+		}
+	}
+	
+	/**
+	 * This method sets the business object type property.
+	 * 
+	 * @param name The business object type
+	 */
+	public void setBusinessObjectType(String type) {
+		
+		org.w3c.dom.Element prop=getPropertyElement(BUSINESS_OBJECT_TYPE_PROPERTY);
+		
+		if (prop != null) {
+			prop.setAttribute(VALUE_ATTR, type);
+		}
+	}
+	
+	/**
 	 * This method returns the XML configuration representation of the action.
 	 * 
 	 * @return The XML configuration for the action

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java	2008-07-31 12:04:01 UTC (rev 208)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/CreateSessionAction.java	2008-07-31 15:14:10 UTC (rev 209)
@@ -139,4 +139,32 @@
 	public void convert(java.util.List<Activity> activities,
 			ConversionContext context) {
 	}
+	
+	/**
+	 * This method sets the root property.
+	 * 
+	 * @param root The root
+	 */
+	public void setRoot(boolean root) {
+		
+		org.w3c.dom.Element prop=getPropertyElement(ROOT);
+		
+		if (prop != null) {
+			prop.setAttribute(VALUE_ATTR, ""+root);
+		}
+	}	
+	
+	/**
+	 * This method sets the conversation type property.
+	 * 
+	 * @param name The conversation type
+	 */
+	public void setConversationType(String type) {
+		
+		org.w3c.dom.Element prop=getPropertyElement(CONVERSATION_TYPE);
+		
+		if (prop != null) {
+			prop.setAttribute(VALUE_ATTR, type);
+		}
+	}	
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java	2008-07-31 12:04:01 UTC (rev 208)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/MessageRouterAction.java	2008-07-31 15:14:10 UTC (rev 209)
@@ -17,8 +17,12 @@
  */
 package org.jboss.tools.overlord.jbossesb.model.actions;
 
+import java.util.logging.Logger;
+
 import org.jboss.tools.overlord.jbossesb.model.*;
+import org.scribble.conversation.model.*;
 import org.scribble.model.*;
+import org.jboss.tools.overlord.jbossesb.model.change.*;
 
 /**
  * The model component for the 'MessageRouterAction'. Although
@@ -34,6 +38,7 @@
  */
 public class MessageRouterAction extends AbstractESBAction {
 
+	public static final String IDENTITIES_ELEMENT = "identities";
 	public static final String INITIATE = "initiate";
 	public static final String SERVICE_NAME = "service-name";
 	public static final String SERVICE_CATEGORY = "service-category";
@@ -137,7 +142,7 @@
 	 * @param messageTypes The list of message types
 	 */
 	public void addRoute(String category, String name, boolean initiate,
-			java.util.List<String> messageTypes) {
+			java.util.List<MessageSignature> messageTypes) {
 		
 		org.w3c.dom.Element paths=getPropertyElement(PATHS);
 				
@@ -149,10 +154,48 @@
 		for (int i=0; i < messageTypes.size(); i++) {
 			org.w3c.dom.Element mt=
 				getAction().getOwnerDocument().createElement(MESSAGE_ELEMENT);
+			
+			if (messageTypes.get(i).getTypes().size() == 1) {
+				TypeReference ref=messageTypes.get(i).getTypes().get(0);
+				String type="";
 				
-			mt.setAttribute(TYPE_ATTR, messageTypes.get(i));
-			
-			path.appendChild(mt);
+				if (ref.getNamespace() != null) {
+					type += "{"+ref.getNamespace()+"}";
+				}
+				type += ref.getLocalpart();
+				
+				mt.setAttribute(TYPE_ATTR, type);
+				
+				path.appendChild(mt);
+				
+				if (messageTypes.get(i).getParent() instanceof ConversationInteraction &&
+						((ConversationInteraction)messageTypes.get(i).getParent()).
+							getEnclosingDefinition() instanceof Conversation &&
+							((ConversationInteraction)messageTypes.get(i).getParent()).
+							getEnclosingDefinition().getModel()
+								instanceof ConversationModel) {
+					
+					org.w3c.dom.Element identities=
+						mt.getOwnerDocument().createElement(IDENTITIES_ELEMENT);
+					
+					java.util.List<Identity> ids=((Conversation)
+							((ConversationInteraction)messageTypes.get(i).getParent()).
+								getEnclosingDefinition()).getIdentities();
+
+					java.util.List<IdentityLocator> locators=
+						((ConversationModel)((ConversationInteraction)messageTypes.get(i).getParent()).
+								getEnclosingDefinition().
+									getModel()).getIdentityLocators();
+					
+					IdentityUtil.defineIdentities(identities, messageTypes.get(i),
+									ids, locators);
+					
+					mt.appendChild(identities);
+				}
+				
+			} else {
+				logger.warning("Can only handle single type message signatures");
+			}
 		}
 		
 		paths.appendChild(path);
@@ -271,6 +314,8 @@
 			ConversionContext context) {
 	}
 	
+	private static Logger logger = Logger.getLogger("org.jboss.tools.overlord.jbossesb.model.actions");
+
 	private java.util.List<ESBService> m_initiateServices=new java.util.Vector<ESBService>();
 	private java.util.List<ESBService> m_services=new java.util.Vector<ESBService>();
 }

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationInteractionModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationInteractionModelChangeRule.java	2008-07-31 12:04:01 UTC (rev 208)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationInteractionModelChangeRule.java	2008-07-31 15:14:10 UTC (rev 209)
@@ -227,10 +227,9 @@
 			action.setOperation(interaction.getMessageSignature().getOperation());
 		}
 		
-		String mtype=null;
-		
 		if (interaction.getMessageSignature().getTypes().size() == 1) {
 			TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
+			String mtype=null;
 			
 			// TODO: Search for an implementation associated with
 			// the type reference, so that the type can be
@@ -265,8 +264,9 @@
 					MessageRouterAction mra=(MessageRouterAction)
 								gwAction;
 					
-					java.util.List<String> mtypes=new java.util.Vector<String>();
-					mtypes.add(mtype);
+					java.util.List<MessageSignature> mtypes=
+							new java.util.Vector<MessageSignature>();
+					mtypes.add(interaction.getMessageSignature());
 					
 					mra.addRoute(((ESBService)context.getParent()).getCategory(),
 							((ESBService)context.getParent()).getName(),

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationModelChangeRule.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationModelChangeRule.java	2008-07-31 12:04:01 UTC (rev 208)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/change/ConversationModelChangeRule.java	2008-07-31 15:14:10 UTC (rev 209)
@@ -76,7 +76,7 @@
 		ESBLanguageModel esbModel=(ESBLanguageModel)model;
 		Conversation conv=(Conversation)mobj;
 		
-		String category=((Model)conv.getModel()).
+		String namespace=((Model)conv.getModel()).
 					getNamespace().getName();
 		String qualifier="";
 		
@@ -93,10 +93,13 @@
 			}
 		}
 		
-		category += qualifier;
+		String category = namespace + qualifier;
 		
 		String name=conv.getModelName().getLocatedRole().getName();
+
+		String sdname="";
 		
+		
 		// Check if root conversation
 		if (conv.getParent() instanceof Model) {
 			
@@ -106,6 +109,16 @@
 			
 			MessageRouterAction mra=new MessageRouterAction(gateway);
 			
+			// Construct service description name
+			if (namespace != null) {
+				sdname = "{"+namespace+"}";
+			}
+			
+			sdname += conv.getModelName().getName()+"-"+
+					conv.getModelName().getLocatedRole().getName();
+			
+			mra.setServiceDescriptionName(sdname);
+			
 			gateway.addAction(mra, -1);
 			
 			esbModel.addService(gateway);
@@ -121,6 +134,19 @@
 		// Create 'CreateSession' activity
 		CreateSessionAction csa=new CreateSessionAction(service);
 		
+		// Check if root conversation
+		if (conv.getParent() instanceof Model) {
+			csa.setRoot(true);
+			
+			// Set conversation type
+			String ctype=namespace+"."+
+					conv.getModelName().getName()+"@"+
+					conv.getModelName().getLocatedRole().getName();
+			csa.setConversationType(ctype);
+		}
+		
+		csa.setServiceDescriptionName(sdname);
+		
 		service.addAction(csa, -1);
 		
 		// Process the activities within the conversation




More information about the overlord-commits mailing list