[overlord-commits] Overlord SVN: r539 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb: src and 16 other directories.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Sun Mar 15 12:13:48 EDT 2009


Author: objectiser
Date: 2009-03-15 12:13:48 -0400 (Sun, 15 Mar 2009)
New Revision: 539

Added:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/
   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/TypeMapperTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/testmodels/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/CreateSessionActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/IfActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/MessageRouterActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ParallelActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/PerformActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ReceiveMessageActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/RetrieveSessionActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ScheduleStateActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SendMessageActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetMessageActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetStateActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SwitchActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhenActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhileActionTest.java
Removed:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/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/generator/TypeMapperTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/testmodels/
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/CreateSessionActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/IfActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/MessageRouterActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ParallelActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/PerformActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ReceiveMessageActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/RetrieveSessionActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ScheduleStateActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SendMessageActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetMessageActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetStateActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SwitchActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhenActionTest.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhileActionTest.java
Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/.classpath
   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/actions/AbstractESBAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results/ESBBrokerProcess at Broker.jboss-esb.xml
Log:
SOAG-94 - fixed issue with missing attributes on the service and action elements. Also moved some of the unit tests - some were specific to stateful actions, so moved into a 'stateful' sub-packages, and others require a plugin test to be launched, so need to be separate out.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/.classpath
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/.classpath	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/.classpath	2009-03-15 16:13:48 UTC (rev 539)
@@ -2,6 +2,7 @@
 <classpath>
 	<classpathentry kind="src" path="src/java"/>
 	<classpathentry kind="src" path="src/test"/>
+	<classpathentry kind="src" path="src/plugintest"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>

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-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/DefaultESBService.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -33,11 +33,14 @@
  */
 public class DefaultESBService extends ModelObject implements ESBService {
 
+	private static final long serialVersionUID = 1266018368857224091L;
+
 	public static final String LISTENERS_ELEMENT = "listeners";
 	public static final String BUSIDREF_ATTR = "busidref";
 	public static final String JMS_LISTENER_ELEMENT = "jms-listener";
 	public static final String MAX_THREADS_ATTR = "maxThreads";
 	public static final String NAME_ATTR = "name";
+	public static final String DESCRIPTION_ATTR = "description";
 	public static final String CATEGORY_ATTR = "category";
 	public static final String ROOT_PROPERTY = "root";
 	public static final String BUSINESS_OBJECT_TYPE_PROPERTY = "session";
@@ -90,6 +93,7 @@
 		
 		m_service.setAttribute(CATEGORY_ATTR, category);
 		m_service.setAttribute(NAME_ATTR, name);
+		m_service.setAttribute(DESCRIPTION_ATTR, "");
 		
 		m_actionsElem = m_model.getESBConfiguration().
 				getOwnerDocument().createElement(ACTIONS_ELEMENT);

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/AbstractESBAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/AbstractESBAction.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/java/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/AbstractESBAction.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -40,7 +40,8 @@
 	public static final String VALUE_ATTR = "value";
 	public static final String NAME_ATTR = "name";
 	public static final String PROPERTY_ELEMENT = "property";
-	public static final String CLASS_PROPERTY = "class";
+	public static final String CLASS_ATTR = "class";
+	public static final String PROCESS_ATTR = "process";
 	
 	/**
 	 * The constructor for initializing the action based on
@@ -73,8 +74,13 @@
 		m_action = service.getService().
 				getOwnerDocument().createElement(ACTION_ELEMENT);
 		
-		m_action.setAttribute(CLASS_PROPERTY, actionClass);
+		m_action.setAttribute(CLASS_ATTR, actionClass);
 		
+		m_action.setAttribute(PROCESS_ATTR, "process");
+		
+		m_action.setAttribute(NAME_ATTR, service.getName()+"_action_"+
+				(service.getActions().size()+1));
+		
 		getSource().setObject(this);
 	}
 	
@@ -322,7 +328,7 @@
 		String ret=null;
 		
 		if (m_action != null) {
-			ret = m_action.getAttribute(CLASS_PROPERTY);
+			ret = m_action.getAttribute(CLASS_ATTR);
 		}
 		
 		return(ret);

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/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	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,348 @@
+/*
+ * 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.runtime.jbossesb.generator;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.scribble.conversation.model.*;
+import org.scribble.extensions.RegistryFactory;
+import org.scribble.model.ModelReference;
+import org.scribble.model.change.ModelGenerator;
+import org.w3c.dom.Node;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
+
+import junit.framework.*;
+
+public class GeneratorTest extends TestCase {
+
+    public static TestSuite suite() {
+        TestSuite suite = new TestSuite("Conversation->jboss-esb.xml Generator Tests");       
+        suite.addTest(new ConversationToJBossESBTest("ESBBrokerProcess at Broker"));
+        return suite;
+    }
+    
+    /**
+     * The test case for running the conversation to jboss-esb.xml test.
+     */
+	protected static class ConversationToJBossESBTest extends TestCase {
+
+		/**
+		 * This constructor is initialized with the test
+		 * name.
+		 * 
+		 * @param name The test name
+		 */
+		public ConversationToJBossESBTest(String name) {
+			super(name);
+			m_name = name;
+		}
+		
+		/**
+		 * This method runs the test.
+		 * 
+		 * @param result The test result
+		 */
+		public void run(TestResult result) {
+			result.startTest(this);
+			
+			String filename="testmodels/"+m_name+".scv";
+			
+			java.io.InputStream is=
+				GeneratorTest.class.getResourceAsStream(filename);
+			
+			if (is == null) {
+				result.addError(this,
+						new Throwable("Unable to locate resource: "+filename));
+			} else {			
+				org.scribble.parser.Parser p=new org.scribble.conversation.parser.ConversationParser();
+				org.scribble.model.ModelReference ref=
+						new org.scribble.model.ModelReference(ConversationNotation.NOTATION_CODE);
+				org.scribble.model.admin.DefaultModelListener l=
+						new org.scribble.model.admin.DefaultModelListener();
+				
+				org.scribble.model.Model model=p.parse(ref, is, l);
+				
+				if (model == null) {
+					result.addError(this, new Throwable("Model is null"));
+					
+				} else if ((model instanceof ConversationModel) == false) {
+					result.addError(this, new Throwable("Model is null"));
+					
+				} else if (l.getErrors().size() != 0) {
+					result.addError(this, new Throwable("Failed to parse Conversation Model"));
+					
+					for (int i=0; i < l.getErrors().size(); i++) {
+						System.err.println("ModelIssue: "+
+								l.getErrors().get(i).getMessage());
+					}
+				} else {
+					ConversationModel cm=(ConversationModel)model;
+					
+					ModelGenerator generator=(ModelGenerator)
+							RegistryFactory.getRegistry().getExtension(
+									ModelGenerator.class, null);
+				
+					if (generator != null) {
+						ModelReference targetRef=
+							new ModelReference(JBossESBNotation.NOTATION_CODE);
+						
+						DefaultESBLanguageModel target=
+							new DefaultESBLanguageModel(targetRef,
+									cm.getConversation().isStateless());
+
+						generator.generate(targetRef,
+								model.getModelName().getLocatedRole(),
+									target, model);
+						
+						if (target.getESBConfiguration() != null) {
+							try {
+								String text=getText(target.getESBConfiguration(), true);
+							
+								checkResults(result, text);
+							} catch(Exception e) {
+								result.addError(this, e);
+							}
+						} else {
+							result.addError(this,
+									new Throwable("No jboss-esb.xml generated"));						
+						}
+						
+					} else {
+						result.addError(this,
+								new Throwable("Unable to find Model Generator"));						
+					}
+				}
+			}
+			
+			result.endTest(this);
+		}
+		
+		/**
+		 * This method checks the generated jboss-esb.xml against a
+		 * previously stored correct version.
+		 * 
+		 * @param result The test result
+		 * @param esbconfig The ESB configuration
+		 */
+		protected void checkResults(TestResult result, String esbconfig) {
+
+			String filename="results/"+m_name+".jboss-esb.xml";
+			
+			java.io.InputStream is=
+				GeneratorTest.class.getResourceAsStream(filename);
+			
+			if (is != null) {
+				
+				try {
+					byte[] b=new byte[is.available()];
+				
+					is.read(b);
+					
+					is.close();
+					
+					String orig=new String(b);
+					
+					if (orig.equals(esbconfig) == false) {
+						result.addError(this,
+							new Throwable("Generated ESB configuration does not match stored version"));
+						
+						System.out.println("COMPARED GENERATED:");
+						System.out.println(esbconfig);
+						System.out.println("WITH ORIGINAL:");
+						System.out.println(orig);
+					}
+				} catch(Exception e) {
+					result.addError(this, e);
+				}
+			} else {
+				result.addError(this,
+						new Throwable("Resulting ESB configuration '"+filename+
+								"' not found for comparison"));
+			}
+		}
+		
+		/**
+		 * This class converts a DOM representation node to
+		 * text with appropriate presentation formatting.
+		 * 
+		 * @param node The DOM node
+		 * @param pretty Whether to format the text for presentation
+		 * @return The text
+		 * @throws Exception Failed to convert
+		 */
+		public static String getText(Node node, boolean pretty) throws Exception {
+			String ret=getText(node);
+			
+			if (pretty) {
+				ret = reformat(ret);
+			}
+			
+			return(ret);
+		}
+
+		/**
+		 * This method reformats the XML text for presentation.
+		 * 
+		 * @param xmltext The original XML text
+		 * @return The reformatted text
+		 */
+		protected static String reformat(String xmltext) {
+			String ret=xmltext;
+			int pos=0;
+			int prevpos=0;
+			StringBuffer buf=new StringBuffer();
+			int level=0;
+			
+			while ((pos=ret.indexOf('<', prevpos)) != -1) {
+				
+				if (prevpos < pos &&
+						ret.substring(prevpos, pos).trim().length() > 0 &&
+						ret.charAt(prevpos-1) != '?') {
+					
+					if (ret.charAt(prevpos) == '\r' &&
+							ret.charAt(prevpos+1) == '\n') {
+						prevpos += 2;
+					}
+					for (int i=0; i < level; i++) {
+						buf.append("    ");
+					}
+					
+					buf.append(ret.substring(prevpos, pos).trim());
+					buf.append("\r\n");
+				}
+				
+				int endpos=ret.indexOf('>', pos);
+			
+				if (endpos > 0) {
+					boolean noreturn=false;
+					
+					if (pos > 0 && ret.charAt(pos+1) == '/') {
+						level--;
+					}
+					
+					for (int i=0; i < level; i++) {
+						buf.append("    ");
+					}
+					buf.append(ret.substring(pos, endpos+1));
+					
+					if (ret.charAt(endpos-1)== '?') {
+						//noreturn = true;
+						
+					} else if (ret.charAt(endpos-1) == '/') {
+						// Ignore
+					} else if (pos > 0 && ret.charAt(pos+1) == '/') {
+						// Ignore
+						
+					} else if (pos > 0 && ret.charAt(pos+1) == '!') {
+						// Ignore
+						
+					} else {
+						level++;
+					}
+								
+					if (noreturn == false) {
+						buf.append("\r\n");
+					}
+					
+					pos = endpos+1;
+				}
+				
+				prevpos = pos;
+			}
+			
+			if (prevpos != -1 &&
+					ret.substring(prevpos).trim().length() > 0) {
+				buf.append(ret.substring(prevpos));
+			}
+			
+			ret = buf.toString();
+			
+			return(ret);
+		}
+			
+		/**
+		 * This class converts a DOM representation node to
+		 * text.
+		 * 
+		 * @param node The DOM node
+		 * @return The text
+		 * @throws Exception Failed to convert
+		 */
+		public static String getText(Node node) throws Exception {
+			String ret=null;
+				
+			try {
+				// Transform the DOM represent to text
+				java.io.ByteArrayOutputStream xmlstr=
+						new java.io.ByteArrayOutputStream();
+					
+				DOMSource source=new DOMSource();
+				source.setNode(node);
+				
+				StreamResult result=new StreamResult(xmlstr);
+				
+				Transformer trans=
+						TransformerFactory.newInstance().newTransformer();
+				trans.transform(source, result);
+				
+				xmlstr.close();
+				
+				ret = new String(xmlstr.toByteArray());
+				
+				if ((node instanceof org.w3c.dom.Document) == false) {
+					
+					// Strip off any <?xml> header
+					int index=ret.indexOf("<?xml");
+					if (index != -1) {
+						index = ret.indexOf("<", 1);
+						
+						if (index != -1) {
+							ret = ret.substring(index);
+						} else {
+							index = ret.indexOf("?>");
+							
+							if (index != -1) {
+								index += 2;
+								
+								// Remove any trailing whitespaces
+								// after XML header
+								while (index < ret.length() &&
+										Character.isWhitespace(ret.charAt(index))) {
+									index++;
+								}
+								
+								ret = ret.substring(index);
+							}
+						}
+					}
+				}
+
+			} catch(Exception e) {
+				throw new Exception("Failed to transform " +
+						"DOM representation into text", e);
+			}
+			
+			return(ret);
+		}
+
+		private String m_name=null;
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,122 @@
+/*
+ * 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.runtime.jbossesb.generator;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.generator.TypeMapper;
+
+import junit.framework.TestCase;
+
+public class TypeMapperTest extends TestCase {
+
+	public void testGetJavaTypeCustomClass() {
+		String pack="org.acme.service";
+		String namespace=TypeMapper.JAVA_PREFIX+pack;
+		String localpart="Message";
+		String clsName=pack+"."+localpart;
+		
+		String type=TypeMapper.getJavaType(namespace, localpart);
+		
+		if (type == null) {
+			fail("Type not returned");
+		}
+		
+		if (type.equals(clsName) == false) {
+			fail("Expecting '"+clsName+"', but got: "+type);
+		}
+	}
+	
+	public void testGetJavaTypeDOMElement() {
+		String namespace="http://www.jboss.org/example";
+		String localpart="Message";
+		String clsName=org.w3c.dom.Element.class.getName();
+		
+		String type=TypeMapper.getJavaType(namespace, localpart);
+		
+		if (type == null) {
+			fail("Type not returned");
+		}
+		
+		if (type.equals(clsName) == false) {
+			fail("Expecting '"+clsName+"', but got: "+type);
+		}
+	}
+	
+	public void testGetJavaTypeXSDString() {
+		String namespace=TypeMapper.XSD_NAMESPACE;
+		String localpart="string";
+		String clsName=String.class.getName();
+		
+		String type=TypeMapper.getJavaType(namespace, localpart);
+		
+		if (type == null) {
+			fail("Type not returned");
+		}
+		
+		if (type.equals(clsName) == false) {
+			fail("Expecting '"+clsName+"', but got: "+type);
+		}
+	}
+	
+	public void testGetJavaTypeXSDBoolean() {
+		String namespace=TypeMapper.XSD_NAMESPACE;
+		String localpart="boolean";
+		String clsName="boolean";
+		
+		String type=TypeMapper.getJavaType(namespace, localpart);
+		
+		if (type == null) {
+			fail("Type not returned");
+		}
+		
+		if (type.equals(clsName) == false) {
+			fail("Expecting '"+clsName+"', but got: "+type);
+		}
+	}
+	
+	public void testGetJavaTypeXSDDecimal() {
+		String namespace=TypeMapper.XSD_NAMESPACE;
+		String localpart="decimal";
+		String clsName="int";
+		
+		String type=TypeMapper.getJavaType(namespace, localpart);
+		
+		if (type == null) {
+			fail("Type not returned");
+		}
+		
+		if (type.equals(clsName) == false) {
+			fail("Expecting '"+clsName+"', but got: "+type);
+		}
+	}
+	
+	public void testGetJavaTypeXSDInteger() {
+		String namespace=TypeMapper.XSD_NAMESPACE;
+		String localpart="integer";
+		String clsName="int";
+		
+		String type=TypeMapper.getJavaType(namespace, localpart);
+		
+		if (type == null) {
+			fail("Type not returned");
+		}
+		
+		if (type.equals(clsName) == false) {
+			fail("Expecting '"+clsName+"', but got: "+type);
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results)


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results/ESBBrokerProcess at Broker.jboss-esb.xml
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results/ESBBrokerProcess at Broker.jboss-esb.xml	2009-03-02 14:05:59 UTC (rev 531)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/results/ESBBrokerProcess at Broker.jboss-esb.xml	2009-03-15 16:13:48 UTC (rev 539)
@@ -46,12 +46,12 @@
         </jms-provider>
     </providers>
     <services>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker">
             <listeners>
                 <jms-listener busidref="busId1" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SwitchAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SwitchAction" name="ESBBrokerProcess_Broker_action_1" process="process">
                     <property name="serviceDescriptionName" value="{org.pi4soa.esbbroker.esbbroker}ESBBrokerProcess-Broker"/>
                     <property name="conversationType" value="overlord.cdl.samples.LoanBroker at Broker"/>
                     <property name="paths">
@@ -71,16 +71,16 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__1">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__1">
             <listeners>
                 <jms-listener busidref="busId2" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__1"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__1_action_1" process="process">
                     <property name="operation" value="makeEnquiry"/>
                     <property name="messageType" value="enquiry"/>
                 </action>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.IfAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.IfAction" name="ESBBrokerProcess_Broker__1_action_2" process="process">
                     <property name="paths">
                         <if service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__2"/>
                         <else service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__3"/>
@@ -88,12 +88,12 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__2">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__2">
             <listeners>
                 <jms-listener busidref="busId3" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__2"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__2_action_1" process="process">
                     <property name="operation" value="getQuote"/>
                     <property name="messageType" value="requestForQuote"/>
                     <property name="serviceCategory" value=""/>
@@ -103,22 +103,22 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__3">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__3">
             <listeners>
                 <jms-listener busidref="busId4" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__3"/>
             </listeners>
             <actions/>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="getQuote">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="getQuote">
             <listeners>
                 <jms-listener busidref="busId5" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__4"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__4_action_1" process="process">
                     <property name="operation" value="getQuote"/>
                     <property name="messageType" value="quote"/>
                 </action>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.IfAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.IfAction" name="ESBBrokerProcess_Broker__4_action_2" process="process">
                     <property name="paths">
                         <if service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__5"/>
                         <else service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__6"/>
@@ -126,12 +126,12 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__5">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__5">
             <listeners>
                 <jms-listener busidref="busId6" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__5"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__5_action_1" process="process">
                     <property name="operation" value="getQuote"/>
                     <property name="messageType" value="requestForQuote"/>
                     <property name="serviceCategory" value=""/>
@@ -141,34 +141,34 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__6">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__6">
             <listeners>
                 <jms-listener busidref="busId7" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__6"/>
             </listeners>
             <actions/>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__7">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__7">
             <listeners>
                 <jms-listener busidref="busId8" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__7"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__7_action_1" process="process">
                     <property name="operation" value="makeEnquiry"/>
                     <property name="messageType" value="quoteList"/>
                     <property name="clientRole" value="Buyer"/>
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__8">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__8">
             <listeners>
                 <jms-listener busidref="busId9" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__8"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__8_action_1" process="process">
                     <property name="operation" value="buy"/>
                     <property name="messageType" value="buy"/>
                 </action>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__8_action_2" process="process">
                     <property name="operation" value="checkCredit"/>
                     <property name="messageType" value="CreditCheckRequest"/>
                     <property name="serviceCategory" value=""/>
@@ -178,16 +178,16 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__9">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__9">
             <listeners>
                 <jms-listener busidref="busId10" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__9"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__9_action_1" process="process">
                     <property name="operation" value="checkCredit"/>
                     <property name="messageType" value="CreditCheckOk"/>
                 </action>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__9_action_2" process="process">
                     <property name="operation" value="confirm"/>
                     <property name="messageType" value="orderConfirmed"/>
                     <property name="serviceCategory" value=""/>
@@ -197,55 +197,55 @@
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="confirm">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="confirm">
             <listeners>
                 <jms-listener busidref="busId11" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__10"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__10_action_1" process="process">
                     <property name="operation" value="confirm"/>
                     <property name="messageType" value="bookingReference"/>
                 </action>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__10_action_2" process="process">
                     <property name="operation" value="buy"/>
                     <property name="messageType" value="bookingReference"/>
                     <property name="clientRole" value="Buyer"/>
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__11">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__11">
             <listeners>
                 <jms-listener busidref="busId12" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__11"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__11_action_1" process="process">
                     <property name="operation" value="checkCredit"/>
                     <property name="messageType" value="CreditCheckInvalid"/>
                 </action>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SendMessageAction" name="ESBBrokerProcess_Broker__11_action_2" process="process">
                     <property name="operation" value="buy"/>
                     <property name="messageType" value="orderRejected"/>
                     <property name="clientRole" value="Buyer"/>
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="ESBBrokerProcess_Broker__12">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__12">
             <listeners>
                 <jms-listener busidref="busId13" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__12"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.ReceiveMessageAction" name="ESBBrokerProcess_Broker__12_action_1" process="process">
                     <property name="operation" value="cancel"/>
                     <property name="messageType" value="cancel"/>
                 </action>
             </actions>
         </service>
-        <service category="org.pi4soa.esbbroker.esbbroker" name="checkCredit">
+        <service category="org.pi4soa.esbbroker.esbbroker" description="" name="checkCredit">
             <listeners>
                 <jms-listener busidref="busId14" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-checkCredit"/>
             </listeners>
             <actions>
-                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SwitchAction">
+                <action class="org.jboss.soa.overlord.jbossesb.actions.stateless.SwitchAction" name="checkCredit_action_1" process="process">
                     <property name="paths">
                         <case service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__9">
                             <message type="CreditCheckOk"/>

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/testmodels (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/testmodels)


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/plugintest/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/testmodels
___________________________________________________________________
Name: svn:mergeinfo
   + 

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/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/generator/GeneratorTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/GeneratorTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,348 +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.runtime.jbossesb.generator;
-
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.scribble.conversation.model.*;
-import org.scribble.extensions.RegistryFactory;
-import org.scribble.model.ModelReference;
-import org.scribble.model.change.ModelGenerator;
-import org.w3c.dom.Node;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
-
-import junit.framework.*;
-
-public class GeneratorTest extends TestCase {
-
-    public static TestSuite suite() {
-        TestSuite suite = new TestSuite("Conversation->jboss-esb.xml Generator Tests");       
-        suite.addTest(new ConversationToJBossESBTest("ESBBrokerProcess at Broker"));
-        return suite;
-    }
-    
-    /**
-     * The test case for running the conversation to jboss-esb.xml test.
-     */
-	protected static class ConversationToJBossESBTest extends TestCase {
-
-		/**
-		 * This constructor is initialized with the test
-		 * name.
-		 * 
-		 * @param name The test name
-		 */
-		public ConversationToJBossESBTest(String name) {
-			super(name);
-			m_name = name;
-		}
-		
-		/**
-		 * This method runs the test.
-		 * 
-		 * @param result The test result
-		 */
-		public void run(TestResult result) {
-			result.startTest(this);
-			
-			String filename="testmodels/"+m_name+".scv";
-			
-			java.io.InputStream is=
-				GeneratorTest.class.getResourceAsStream(filename);
-			
-			if (is == null) {
-				result.addError(this,
-						new Throwable("Unable to locate resource: "+filename));
-			} else {			
-				org.scribble.parser.Parser p=new org.scribble.conversation.parser.ConversationParser();
-				org.scribble.model.ModelReference ref=
-						new org.scribble.model.ModelReference(ConversationNotation.NOTATION_CODE);
-				org.scribble.model.admin.DefaultModelListener l=
-						new org.scribble.model.admin.DefaultModelListener();
-				
-				org.scribble.model.Model model=p.parse(ref, is, l);
-				
-				if (model == null) {
-					result.addError(this, new Throwable("Model is null"));
-					
-				} else if ((model instanceof ConversationModel) == false) {
-					result.addError(this, new Throwable("Model is null"));
-					
-				} else if (l.getErrors().size() != 0) {
-					result.addError(this, new Throwable("Failed to parse Conversation Model"));
-					
-					for (int i=0; i < l.getErrors().size(); i++) {
-						System.err.println("ModelIssue: "+
-								l.getErrors().get(i).getMessage());
-					}
-				} else {
-					ConversationModel cm=(ConversationModel)model;
-					
-					ModelGenerator generator=(ModelGenerator)
-							RegistryFactory.getRegistry().getExtension(
-									ModelGenerator.class, null);
-				
-					if (generator != null) {
-						ModelReference targetRef=
-							new ModelReference(JBossESBNotation.NOTATION_CODE);
-						
-						DefaultESBLanguageModel target=
-							new DefaultESBLanguageModel(targetRef,
-									cm.getConversation().isStateless());
-
-						generator.generate(targetRef,
-								model.getModelName().getLocatedRole(),
-									target, model);
-						
-						if (target.getESBConfiguration() != null) {
-							try {
-								String text=getText(target.getESBConfiguration(), true);
-							
-								checkResults(result, text);
-							} catch(Exception e) {
-								result.addError(this, e);
-							}
-						} else {
-							result.addError(this,
-									new Throwable("No jboss-esb.xml generated"));						
-						}
-						
-					} else {
-						result.addError(this,
-								new Throwable("Unable to find Model Generator"));						
-					}
-				}
-			}
-			
-			result.endTest(this);
-		}
-		
-		/**
-		 * This method checks the generated jboss-esb.xml against a
-		 * previously stored correct version.
-		 * 
-		 * @param result The test result
-		 * @param esbconfig The ESB configuration
-		 */
-		protected void checkResults(TestResult result, String esbconfig) {
-
-			String filename="results/"+m_name+".jboss-esb.xml";
-			
-			java.io.InputStream is=
-				GeneratorTest.class.getResourceAsStream(filename);
-			
-			if (is != null) {
-				
-				try {
-					byte[] b=new byte[is.available()];
-				
-					is.read(b);
-					
-					is.close();
-					
-					String orig=new String(b);
-					
-					if (orig.equals(esbconfig) == false) {
-						result.addError(this,
-							new Throwable("Generated ESB configuration does not match stored version"));
-						
-						System.out.println("COMPARED GENERATED:");
-						System.out.println(esbconfig);
-						System.out.println("WITH ORIGINAL:");
-						System.out.println(orig);
-					}
-				} catch(Exception e) {
-					result.addError(this, e);
-				}
-			} else {
-				result.addError(this,
-						new Throwable("Resulting ESB configuration '"+filename+
-								"' not found for comparison"));
-			}
-		}
-		
-		/**
-		 * This class converts a DOM representation node to
-		 * text with appropriate presentation formatting.
-		 * 
-		 * @param node The DOM node
-		 * @param pretty Whether to format the text for presentation
-		 * @return The text
-		 * @throws Exception Failed to convert
-		 */
-		public static String getText(Node node, boolean pretty) throws Exception {
-			String ret=getText(node);
-			
-			if (pretty) {
-				ret = reformat(ret);
-			}
-			
-			return(ret);
-		}
-
-		/**
-		 * This method reformats the XML text for presentation.
-		 * 
-		 * @param xmltext The original XML text
-		 * @return The reformatted text
-		 */
-		protected static String reformat(String xmltext) {
-			String ret=xmltext;
-			int pos=0;
-			int prevpos=0;
-			StringBuffer buf=new StringBuffer();
-			int level=0;
-			
-			while ((pos=ret.indexOf('<', prevpos)) != -1) {
-				
-				if (prevpos < pos &&
-						ret.substring(prevpos, pos).trim().length() > 0 &&
-						ret.charAt(prevpos-1) != '?') {
-					
-					if (ret.charAt(prevpos) == '\r' &&
-							ret.charAt(prevpos+1) == '\n') {
-						prevpos += 2;
-					}
-					for (int i=0; i < level; i++) {
-						buf.append("    ");
-					}
-					
-					buf.append(ret.substring(prevpos, pos).trim());
-					buf.append("\r\n");
-				}
-				
-				int endpos=ret.indexOf('>', pos);
-			
-				if (endpos > 0) {
-					boolean noreturn=false;
-					
-					if (pos > 0 && ret.charAt(pos+1) == '/') {
-						level--;
-					}
-					
-					for (int i=0; i < level; i++) {
-						buf.append("    ");
-					}
-					buf.append(ret.substring(pos, endpos+1));
-					
-					if (ret.charAt(endpos-1)== '?') {
-						//noreturn = true;
-						
-					} else if (ret.charAt(endpos-1) == '/') {
-						// Ignore
-					} else if (pos > 0 && ret.charAt(pos+1) == '/') {
-						// Ignore
-						
-					} else if (pos > 0 && ret.charAt(pos+1) == '!') {
-						// Ignore
-						
-					} else {
-						level++;
-					}
-								
-					if (noreturn == false) {
-						buf.append("\r\n");
-					}
-					
-					pos = endpos+1;
-				}
-				
-				prevpos = pos;
-			}
-			
-			if (prevpos != -1 &&
-					ret.substring(prevpos).trim().length() > 0) {
-				buf.append(ret.substring(prevpos));
-			}
-			
-			ret = buf.toString();
-			
-			return(ret);
-		}
-			
-		/**
-		 * This class converts a DOM representation node to
-		 * text.
-		 * 
-		 * @param node The DOM node
-		 * @return The text
-		 * @throws Exception Failed to convert
-		 */
-		public static String getText(Node node) throws Exception {
-			String ret=null;
-				
-			try {
-				// Transform the DOM represent to text
-				java.io.ByteArrayOutputStream xmlstr=
-						new java.io.ByteArrayOutputStream();
-					
-				DOMSource source=new DOMSource();
-				source.setNode(node);
-				
-				StreamResult result=new StreamResult(xmlstr);
-				
-				Transformer trans=
-						TransformerFactory.newInstance().newTransformer();
-				trans.transform(source, result);
-				
-				xmlstr.close();
-				
-				ret = new String(xmlstr.toByteArray());
-				
-				if ((node instanceof org.w3c.dom.Document) == false) {
-					
-					// Strip off any <?xml> header
-					int index=ret.indexOf("<?xml");
-					if (index != -1) {
-						index = ret.indexOf("<", 1);
-						
-						if (index != -1) {
-							ret = ret.substring(index);
-						} else {
-							index = ret.indexOf("?>");
-							
-							if (index != -1) {
-								index += 2;
-								
-								// Remove any trailing whitespaces
-								// after XML header
-								while (index < ret.length() &&
-										Character.isWhitespace(ret.charAt(index))) {
-									index++;
-								}
-								
-								ret = ret.substring(index);
-							}
-						}
-					}
-				}
-
-			} catch(Exception e) {
-				throw new Exception("Failed to transform " +
-						"DOM representation into text", e);
-			}
-			
-			return(ret);
-		}
-
-		private String m_name=null;
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/generator/TypeMapperTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,122 +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.runtime.jbossesb.generator;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.generator.TypeMapper;
-
-import junit.framework.TestCase;
-
-public class TypeMapperTest extends TestCase {
-
-	public void testGetJavaTypeCustomClass() {
-		String pack="org.acme.service";
-		String namespace=TypeMapper.JAVA_PREFIX+pack;
-		String localpart="Message";
-		String clsName=pack+"."+localpart;
-		
-		String type=TypeMapper.getJavaType(namespace, localpart);
-		
-		if (type == null) {
-			fail("Type not returned");
-		}
-		
-		if (type.equals(clsName) == false) {
-			fail("Expecting '"+clsName+"', but got: "+type);
-		}
-	}
-	
-	public void testGetJavaTypeDOMElement() {
-		String namespace="http://www.jboss.org/example";
-		String localpart="Message";
-		String clsName=org.w3c.dom.Element.class.getName();
-		
-		String type=TypeMapper.getJavaType(namespace, localpart);
-		
-		if (type == null) {
-			fail("Type not returned");
-		}
-		
-		if (type.equals(clsName) == false) {
-			fail("Expecting '"+clsName+"', but got: "+type);
-		}
-	}
-	
-	public void testGetJavaTypeXSDString() {
-		String namespace=TypeMapper.XSD_NAMESPACE;
-		String localpart="string";
-		String clsName=String.class.getName();
-		
-		String type=TypeMapper.getJavaType(namespace, localpart);
-		
-		if (type == null) {
-			fail("Type not returned");
-		}
-		
-		if (type.equals(clsName) == false) {
-			fail("Expecting '"+clsName+"', but got: "+type);
-		}
-	}
-	
-	public void testGetJavaTypeXSDBoolean() {
-		String namespace=TypeMapper.XSD_NAMESPACE;
-		String localpart="boolean";
-		String clsName="boolean";
-		
-		String type=TypeMapper.getJavaType(namespace, localpart);
-		
-		if (type == null) {
-			fail("Type not returned");
-		}
-		
-		if (type.equals(clsName) == false) {
-			fail("Expecting '"+clsName+"', but got: "+type);
-		}
-	}
-	
-	public void testGetJavaTypeXSDDecimal() {
-		String namespace=TypeMapper.XSD_NAMESPACE;
-		String localpart="decimal";
-		String clsName="int";
-		
-		String type=TypeMapper.getJavaType(namespace, localpart);
-		
-		if (type == null) {
-			fail("Type not returned");
-		}
-		
-		if (type.equals(clsName) == false) {
-			fail("Expecting '"+clsName+"', but got: "+type);
-		}
-	}
-	
-	public void testGetJavaTypeXSDInteger() {
-		String namespace=TypeMapper.XSD_NAMESPACE;
-		String localpart="integer";
-		String clsName="int";
-		
-		String type=TypeMapper.getJavaType(namespace, localpart);
-		
-		if (type == null) {
-			fail("Type not returned");
-		}
-		
-		if (type.equals(clsName) == false) {
-			fail("Expecting '"+clsName+"', but got: "+type);
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/CreateSessionActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/CreateSessionActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/CreateSessionActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,189 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.CreateSessionAction;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.UnsupportedAction;
-
-import junit.framework.TestCase;
-
-public class CreateSessionActionTest extends TestCase {
-
-	public void testValidateFirstAction() {
-		TestESBService service=new TestESBService();
-
-		UnsupportedAction unsupported=new UnsupportedAction(service, null);
-		
-		CreateSessionAction action=new CreateSessionAction(service, null);
-		
-		service.getActions().add(action);
-		service.getActions().add(unsupported);
-		
-		TestModelListener l=new TestModelListener();
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateNotFirstAction() {
-		TestESBService service=new TestESBService();
-
-		UnsupportedAction unsupported=new UnsupportedAction(service, null);
-		
-		CreateSessionAction action=new CreateSessionAction(service, null);
-		
-		service.getActions().add(unsupported);
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_BE_FIRST_ACTION",
-							new String[]{"CreateSession"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateRootNoConversationType() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		CreateSessionAction action=new CreateSessionAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_CONVERSATION_TYPE",
-							new String[]{}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateRootWithConversationType() {
-		String convType="test.Type at MyRole";
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("conversationType", convType);
-		
-		service.setConversationType(convType);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		CreateSessionAction action=new CreateSessionAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		service.setModel(model);
-
-		TestModelListener l=new TestModelListener();
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	
-	public void testValidateRootWithConversationTypeNoRole() {
-		String convType="test.Type";
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("conversationType", convType);
-		
-		service.setConversationType(convType);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		CreateSessionAction action=new CreateSessionAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		service.setModel(model);
-
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_CONVERSATION_TYPE_ROLE",
-							new String[]{convType}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		CreateSessionAction action=new CreateSessionAction(service, null);
-		
-		if (action.isSessionType() == false) {
-			fail("Action is not flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		CreateSessionAction action=new CreateSessionAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/IfActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/IfActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/IfActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,630 +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.runtime.jbossesb.model.actions;
-
-import junit.framework.TestCase;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.IfAction;
-import org.scribble.model.*;
-import org.scribble.conversation.model.*;
-
-public class IfActionTest extends TestCase {
-
-	public void testValidatePathsSpecified() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		IfAction action=new IfAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"paths"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateServiceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1","name1"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2","name2"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat3","name3"}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateNoPathsContent() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat3");
-		other2.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_IF_ORDER_WRONG",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateOnlyOneIf() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /><if service-category=\"cat3\" " +
-				"service-name=\"name3\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_IF_ORDER_WRONG",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateOutOfOrderElse() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_IF_ORDER_WRONG",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMissingServiceDetails() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif " +
-				"service-name=\"name2\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateImmediateIf() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" immediate=\"fred\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_BOOLEAN",
-							new String[]{IfAction.IMMEDIATE}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateImmediateElseIf() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" immediate=\"fred\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_BOOLEAN",
-							new String[]{IfAction.IMMEDIATE}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateImmediateElse() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" immediate=\"fred\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_BOOLEAN",
-							new String[]{IfAction.IMMEDIATE}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvert() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof If) == false) {
-			fail("Expecting an 'If' activity");
-		}
-		
-		If ifAction=(If)act;
-		
-		if (ifAction.getConditionalBlocks().size() != 2) {
-			fail("Expecting two conditional blocks: "+ifAction.getConditionalBlocks().size());
-		}
-		
-		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(1).getContents().get(0) != act2) {
-			fail("Second conditional block should have 1 activity = act2");
-		}
-		
-		if (ifAction.getElseBlock() == null) {
-			fail("Else block not defined");
-		}
-		
-		if (ifAction.getElseBlock().getContents().size() != 1 ||
-				ifAction.getElseBlock().getContents().get(0) != act3) {
-			fail("Else block should have 1 activity = act3");
-		}
-	}
-	
-	public void testConvertNotExcludingEmptyPaths() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><if service-category=\"cat1\" " +
-				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
-				"service-name=\"name2\" /><else service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		IfAction action=new IfAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof If) == false) {
-			fail("Expecting an 'If' activity");
-		}
-		
-		If ifAction=(If)act;
-		
-		if (ifAction.getConditionalBlocks().size() != 2) {
-			fail("Expecting two conditional blocks: "+ifAction.getConditionalBlocks().size());
-		}
-		
-		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 0) {
-			fail("First conditional block should be empty");
-		}
-		
-		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 0) {
-			fail("Second conditional block should be empty");
-		}
-		
-		if (ifAction.getElseBlock() == null) {
-			fail("Else block not defined");
-		}
-		
-		if (ifAction.getElseBlock().getContents().size() != 0) {
-			fail("Else block should have be empty");
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		IfAction action=new IfAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		IfAction action=new IfAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/MessageRouterActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/MessageRouterActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/MessageRouterActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,272 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.MessageRouterAction;
-
-import junit.framework.TestCase;
-
-public class MessageRouterActionTest extends TestCase {
-
-	public void testValidatePathsSpecified() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"paths"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateSessionBasedService() {
-		TestESBService service=new TestESBService();
-		service.setSessionBased(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><route service-category=\"cat1\" " +
-					"service-name=\"name1\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_CANNOT_SESSION_BASED_ACTIONS_WITH_ROUTER",
-							new String[]{}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateServiceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><route service-category=\"cat1\" " +
-				"service-name=\"name1\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-							"_NOT_FOUND_SERVICE_DESCRIPTOR",
-							new String[]{"cat1","name1"}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateInitiateServiceNotRoot() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><route service-category=\"cat1\" " +
-				"service-name=\"name1\" initiate=\"true\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other=new TestESBService();
-		other.setCategory("cat1");
-		other.setName("name1");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_CANNOT_INITIATE_NON_ROOT",
-							new String[]{other.getCategory(), 
-									other.getName()}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateNotInitiateRootService() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><route service-category=\"cat1\" " +
-				"service-name=\"name1\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other=new TestESBService();
-		other.setCategory("cat1");
-		other.setName("name1");
-		other.setRoot(true);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_INITIATE_ROOT",
-							new String[]{other.getCategory(), 
-									other.getName()}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoRoutes() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_ROUTER_ONE_OR_MORE_PATHS",
-							new String[]{}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateServiceDetailsMissing() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><route service-category=\"cat1\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		MessageRouterAction action=new MessageRouterAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		MessageRouterAction action=new MessageRouterAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		MessageRouterAction action=new MessageRouterAction(service, null);
-		
-		if (action.isSessionBased() == true) {
-			fail("Action is flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ParallelActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ParallelActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ParallelActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,526 +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.runtime.jbossesb.model.actions;
-
-import org.scribble.conversation.model.*;
-import org.scribble.model.Activity;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.ParallelAction;
-
-import junit.framework.TestCase;
-
-public class ParallelActionTest extends TestCase {
-
-	public void testValidatePathsSpecified() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"paths"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateServiceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><path service-category=\"cat2\" " +
-				"service-name=\"name2\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1","name1"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2","name2"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat3","name3"}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateLessThanTwoPaths() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat3");
-		other2.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PARALLEL_MORE_THAN_TWO_PATHS",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateOnlyOneJoin() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><path service-category=\"cat2\" " +
-				"service-name=\"name2\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MULTIPLE_JOINS",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateOutOfOrderJoin() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /><path service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PARALLEL_PATH_AFTER_JOIN",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMissingServiceDetails() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><path " +
-				"service-name=\"name2\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateImmediate() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><path service-category=\"cat2\" " +
-				"service-name=\"name2\" immediate=\"fred\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_BOOLEAN",
-							new String[]{ParallelAction.IMMEDIATE}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvert() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><path service-category=\"cat2\" " +
-				"service-name=\"name2\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(null));
-		
-		if (activities.size() != 2) {
-			fail("Expecting two activities, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Parallel) == false) {
-			fail("Expecting an 'Parallel' activity");
-		}
-		
-		Parallel parallelAction=(Parallel)act;
-		
-		if (parallelAction.getBlocks().size() != 2) {
-			fail("Expecting two blocks: "+parallelAction.getBlocks().size());
-		}
-		
-		if (parallelAction.getBlocks().get(0).getContents().size() != 1 ||
-				parallelAction.getBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (parallelAction.getBlocks().get(1).getContents().size() != 1 ||
-				parallelAction.getBlocks().get(1).getContents().get(0) != act2) {
-			fail("Second conditional block should have 1 activity = act2");
-		}
-
-		if (activities.get(1) != act3) {
-			fail("Activity after parallel should be act3");
-		}
-	}	
-
-	public void testConvertNotExcludingEmptyPaths() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><path service-category=\"cat1\" " +
-				"service-name=\"name1\" /><path service-category=\"cat2\" " +
-				"service-name=\"name2\" /><join service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ParallelAction action=new ParallelAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(null));
-		
-		if (activities.size() != 2) {
-			fail("Expecting two activities, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Parallel) == false) {
-			fail("Expecting an 'Parallel' activity");
-		}
-		
-		Parallel parallelAction=(Parallel)act;
-		
-		if (parallelAction.getBlocks().size() != 2) {
-			fail("Expecting two blocks: "+parallelAction.getBlocks().size());
-		}
-		
-		if (parallelAction.getBlocks().get(0).getContents().size() != 1 ||
-				parallelAction.getBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (parallelAction.getBlocks().get(1).getContents().size() != 0) {
-			fail("Second conditional block should be empty");
-		}
-
-		if (activities.get(1) != act3) {
-			fail("Activity after parallel should be act3");
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		ParallelAction action=new ParallelAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		ParallelAction action=new ParallelAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}	
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/PerformActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/PerformActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/PerformActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,779 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.PerformAction;
-import org.scribble.conversation.model.*;
-import org.scribble.model.Activity;
-
-import junit.framework.TestCase;
-
-public class PerformActionTest extends TestCase {
-
-	public void testValidateNoServiceCategory() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_NAME, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		PerformAction action=new PerformAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"serviceCategory"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoServiceName() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "");
-
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		PerformAction action=new PerformAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"serviceName"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateService() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1", "name1"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateReturnService() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
-		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2", "name2"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateServiceCreatesSession() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
-		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(false);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_FOUND_PERFORM_CREATE_SESSION",
-							new String[]{}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateParentReferenceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.PARENT_REFERENCE, "fred");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(Object.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_FOUND_VARIABLE",
-							new String[]{"fred", Object.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateParentReferenceNotWritable() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.PARENT_REFERENCE, "class");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(Object.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_WRITABLE_PROPERTY",
-							new String[]{"class", Object.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateParentReferenceIncorrectType() {
-		TestESBService service=new TestESBService();
-		service.setSessionClass(ParentPojo.class);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.PARENT_REFERENCE, "invalidParent");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(ChildPojo.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_INVALID_PROPERTY_TYPE",
-							new String[]{"invalidParent",
-							ChildPojo.class.getName(),
-							ParentPojo.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateParentReferenceCorrectType() {
-		TestESBService service=new TestESBService();
-		service.setSessionClass(ParentPojo.class);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.PARENT_REFERENCE, "validParent");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(ChildPojo.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateParentReferenceCorrectType2() {
-		TestESBService service=new TestESBService();
-		service.setSessionClass(ParentPojo.class);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.PARENT_REFERENCE, "validParentView");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(ChildPojo.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateBindDetailsNotFound() {
-		TestESBService service=new TestESBService();
-
-		String varName="fred";
-		
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		
-		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
-		customProps.put(PerformAction.BIND_DETAILS,
-				"<root><bind to-variable=\""+varName+"\" /></root>");
-				
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(Object.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_FOUND_VARIABLE",
-							new String[]{varName, Object.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateBindDetailsNotWritable() {
-		TestESBService service=new TestESBService();
-
-		String varName="class";
-		
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-
-		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
-		customProps.put(PerformAction.BIND_DETAILS,
-				"<root><bind to-variable=\""+varName+"\" /></root>");
-				
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(Object.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_WRITABLE_PROPERTY",
-							new String[]{varName, Object.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateBindDetailsCorrect() {
-		TestESBService service=new TestESBService();
-
-		String varName="validParent";
-		
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-
-		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
-		customProps.put(PerformAction.BIND_DETAILS,
-				"<root><bind to-variable=\""+varName+"\" /></root>");
-				
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setCreateSession(true);
-		other1.setSessionClass(ChildPojo.class);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testConvertRun() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
-		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 2) {
-			fail("Expecting two activities, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Run) == false) {
-			fail("Expecting an 'Run' activity");
-		}
-		
-		Run runAction=(Run)act;
-		
-		if (runAction.getDefinition() == null) {
-			fail("Run definition was null");
-		}
-		
-		if (runAction.getDefinition().getBlock().getContents().size() != 1) {
-			fail("Expecting one ran block activity: "+runAction.getDefinition().getBlock().getContents().size());
-		}
-		
-		if (runAction.getDefinition().getBlock().getContents().get(0) != act1) {
-			fail("Run model block should have 1 activity = act1");
-		}
-
-		if (activities.get(1) != act2) {
-			fail("Subsequent activity after run was not act2");
-		}
-	}
-
-	public void testConvertSpawn() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting 1 activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Spawn) == false) {
-			fail("Expecting a 'Spawn' activity");
-		}
-		
-		Spawn spawnAction=(Spawn)act;
-		
-		if (spawnAction.getDefinition() == null) {
-			fail("Run definition was null");
-		}
-		
-		if (spawnAction.getDefinition().getBlock().getContents().size() != 1) {
-			fail("Expecting one block activity: "+spawnAction.getDefinition().getBlock().getContents().size());
-		}
-		
-		if (spawnAction.getDefinition().getBlock().getContents().get(0) != act1) {
-			fail("Spawn model block should have 1 activity = act1");
-		}
-	}
-
-	public void testConvertNotExcludingEmptyPath() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
-		props.put(PerformAction.SERVICE_NAME, "name1");
-		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
-		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		PerformAction action=new PerformAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 2) {
-			fail("Expecting two activities, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Run) == false) {
-			fail("Expecting an 'Run' activity");
-		}
-		
-		Run runAction=(Run)act;
-		
-		if (runAction.getDefinition() == null) {
-			fail("Run definition was null");
-		}
-		
-		if (runAction.getDefinition().getBlock().getContents().size() != 0) {
-			fail("Expecting zero ran block activities: "+runAction.getDefinition().getBlock().getContents().size());
-		}
-		
-		if (activities.get(1) != act2) {
-			fail("Subsequent activity after run was not act2");
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		PerformAction action=new PerformAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		PerformAction action=new PerformAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-	
-	public interface ParentView {
-		
-	}
-	
-	public class ParentPojo implements ParentView {
-		
-	}
-	
-	public class ChildPojo {
-		
-		public void setValidParent(ParentPojo p) {
-		}
-		
-		public void setValidParentView(ParentView p) {
-		}
-		
-		public void setInvalidParent(String p) {
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ReceiveMessageActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ReceiveMessageActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ReceiveMessageActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,287 +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.runtime.jbossesb.model.actions;
-
-import org.scribble.model.*;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.ReceiveMessageAction;
-
-import junit.framework.TestCase;
-
-public class ReceiveMessageActionTest extends TestCase {
-
-	public void testValidateNoMessageType() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("identities", "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"messageType"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoIdentities() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"identities"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvertRoles() {
-		TestESBService service=new TestESBService();
-		
-		String ns="MessageTypeNS";
-		String lp="MessageType";
-		String role="Buyer";
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "{"+ns+"}"+lp);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(role));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Interaction) == false) {
-			fail("Expecting an 'Interaction' activity");
-		}
-		
-		Interaction interaction=(Interaction)act;
-		
-		if (interaction.getToRole() == null) {
-			fail("'To' role is null");
-		}
-		
-		if (interaction.getToRole().getName().equals(role) == false) {
-			fail("'To' role should be '"+role+"', but found: "+interaction.getToRole().getName());
-		}
-		
-		if (interaction.getFromRole() != null) {
-			fail("'From' role should be null");
-		}
-	}
-	
-	public void testConvertMessageBased() {
-		TestESBService service=new TestESBService();
-		
-		String ns="MessageTypeNS";
-		String lp="MessageType";
-		String role="Buyer";
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "{"+ns+"}"+lp);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(role));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Interaction) == false) {
-			fail("Expecting an 'Interaction' activity");
-		}
-		
-		Interaction interaction=(Interaction)act;
-		
-		if (interaction.getMessageSignature() == null) {
-			fail("Message signature is null");
-		}
-		
-		if (interaction.getMessageSignature().getOperation() != null) {
-			fail("Operation should be null");
-		}
-		
-		if (interaction.getMessageSignature().getTypes().size() != 1) {
-			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
-		}
-		
-		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
-		
-		if (ref.getNamespace() == null ||
-				ref.getNamespace().equals(ns) == false) {
-			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
-		}
-		
-		if (ref.getLocalpart() == null ||
-				ref.getLocalpart().equals(lp) == false) {
-			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
-		}
-	}
-	
-	public void testConvertRPCBased() {
-		TestESBService service=new TestESBService();
-		
-		String ns="MessageTypeNS";
-		String lp="MessageType";
-		String opname="op";
-		String role="Buyer";
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("operation", opname);
-		props.put("messageType", "{"+ns+"}"+lp);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(role));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Interaction) == false) {
-			fail("Expecting an 'Interaction' activity");
-		}
-		
-		Interaction interaction=(Interaction)act;
-		
-		if (interaction.getMessageSignature() == null) {
-			fail("Message signature is null");
-		}
-		
-		if (interaction.getMessageSignature().getOperation() == null) {
-			fail("Operation should not be null");
-		}
-		
-		if (interaction.getMessageSignature().getOperation().equals(opname) == false) {
-			fail("Operation expected '"+opname+"', but got: "+
-							interaction.getMessageSignature().getOperation());
-		}
-		
-		if (interaction.getMessageSignature().getTypes().size() != 1) {
-			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
-		}
-		
-		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
-		
-		if (ref.getNamespace() == null ||
-				ref.getNamespace().equals(ns) == false) {
-			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
-		}
-		
-		if (ref.getLocalpart() == null ||
-				ref.getLocalpart().equals(lp) == false) {
-			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		ReceiveMessageAction action=new ReceiveMessageAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/RetrieveSessionActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/RetrieveSessionActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/RetrieveSessionActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,128 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.RetrieveSessionAction;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.UnsupportedAction;
-
-import junit.framework.TestCase;
-
-public class RetrieveSessionActionTest extends TestCase {
-
-	public void testValidateFirstAction() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("identities", "");
-				
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		UnsupportedAction unsupported=new UnsupportedAction(service, null);
-		
-		RetrieveSessionAction action=new RetrieveSessionAction(service, elem);
-		
-		service.getActions().add(action);
-		service.getActions().add(unsupported);
-		
-		TestModelListener l=new TestModelListener();
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateNotFirstAction() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("identities", "");
-				
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		UnsupportedAction unsupported=new UnsupportedAction(service, null);
-		
-		RetrieveSessionAction action=new RetrieveSessionAction(service, elem);
-		
-		service.getActions().add(unsupported);
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_BE_FIRST_ACTION",
-							new String[]{"RetrieveSession"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoIdentities() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		RetrieveSessionAction action=new RetrieveSessionAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"identities"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		RetrieveSessionAction action=new RetrieveSessionAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		RetrieveSessionAction action=new RetrieveSessionAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ScheduleStateActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ScheduleStateActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ScheduleStateActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,257 +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.runtime.jbossesb.model.actions;
-
-import org.scribble.model.Activity;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.ScheduleStateAction;
-
-import junit.framework.TestCase;
-
-public class ScheduleStateActionTest extends TestCase {
-
-	public void testValidateNoServiceCategory() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("serviceName", "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"serviceCategory"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoServiceName() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("serviceCategory", "");
-
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"serviceName"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateService() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("serviceCategory", "cat1");
-		props.put("serviceName", "name1");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1", "name1"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvert() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("serviceCategory", "cat1");
-		props.put("serviceName", "name1");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(null));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		if (activities.get(0) != act1) {
-			fail("Activity was not act1");
-		}
-	}
-	
-	public void testConvertBackToWhileLoop() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("serviceCategory", "cat1");
-		props.put("serviceName", "name1");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		other1.setLoop(true);
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		DefaultConversionContext context=new DefaultConversionContext(null);
-		context.push(other1);
-		
-		action.convert(activities, context);
-		
-		if (activities.size() != 0) {
-			fail("Should be no activities, but found: "+activities.size());
-		}
-	}
-	
-	public void testConvertBackToJoinState() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("serviceCategory", "cat1");
-		props.put("serviceName", "name1");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		DefaultConversionContext context=new DefaultConversionContext(null);
-		context.markJoin(other1);
-		
-		action.convert(activities, context);
-		
-		if (activities.size() != 0) {
-			fail("Should be no activities, but found: "+activities.size());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		ScheduleStateAction action=new ScheduleStateAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SendMessageActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SendMessageActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SendMessageActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,363 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.DefaultConversionContext;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SendMessageAction;
-import org.scribble.model.Activity;
-import org.scribble.model.Interaction;
-import org.scribble.model.TypeReference;
-
-import junit.framework.TestCase;
-
-public class SendMessageActionTest extends TestCase {
-
-	public void testValidateNoMessageType() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("identities", "");
-		props.put("serviceCategory", "");
-		props.put("serviceName", "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"messageType"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoIdentities() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "");
-		props.put("clientRole", "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{"identities"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateNoDestination() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "");
-		props.put("identities", "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_REQ_RESP_EPR",
-					new String[]{}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateResponseService() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "");
-		props.put("identities", "");
-		props.put("serviceCategory", "cat1");
-		props.put("serviceName", "name1");
-		props.put("responseServiceCategory", "cat2");
-		props.put("responseServiceName", "name2");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2", "name2"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvertRoles() {
-		TestESBService service=new TestESBService();
-		
-		String ns="MessageTypeNS";
-		String lp="MessageType";
-		String role="Buyer";
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "{"+ns+"}"+lp);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(role));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Interaction) == false) {
-			fail("Expecting an 'Interaction' activity");
-		}
-		
-		Interaction interaction=(Interaction)act;
-		
-		if (interaction.getFromRole() == null) {
-			fail("'From' role is null");
-		}
-		
-		if (interaction.getFromRole().getName().equals(role) == false) {
-			fail("'From' role should be '"+role+"', but found: "+interaction.getFromRole().getName());
-		}
-		
-		if (interaction.getToRole() != null) {
-			fail("'To' role should be null");
-		}
-	}
-	
-	public void testConvertMessageBased() {
-		TestESBService service=new TestESBService();
-		
-		String ns="MessageTypeNS";
-		String lp="MessageType";
-		String role="Buyer";
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("messageType", "{"+ns+"}"+lp);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(role));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Interaction) == false) {
-			fail("Expecting an 'Interaction' activity");
-		}
-		
-		Interaction interaction=(Interaction)act;
-		
-		if (interaction.getMessageSignature() == null) {
-			fail("Message signature is null");
-		}
-		
-		if (interaction.getMessageSignature().getOperation() != null) {
-			fail("Operation should be null");
-		}
-		
-		if (interaction.getMessageSignature().getTypes().size() != 1) {
-			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
-		}
-		
-		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
-		
-		if (ref.getNamespace() == null ||
-				ref.getNamespace().equals(ns) == false) {
-			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
-		}
-		
-		if (ref.getLocalpart() == null ||
-				ref.getLocalpart().equals(lp) == false) {
-			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
-		}
-	}
-	
-	public void testConvertRPCBased() {
-		TestESBService service=new TestESBService();
-		
-		String ns="MessageTypeNS";
-		String lp="MessageType";
-		String opname="op";
-		String role="Buyer";
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("operation", opname);
-		props.put("messageType", "{"+ns+"}"+lp);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SendMessageAction action=new SendMessageAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(role));
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof Interaction) == false) {
-			fail("Expecting an 'Interaction' activity");
-		}
-		
-		Interaction interaction=(Interaction)act;
-		
-		if (interaction.getMessageSignature() == null) {
-			fail("Message signature is null");
-		}
-		
-		if (interaction.getMessageSignature().getOperation() == null) {
-			fail("Operation should not be null");
-		}
-		
-		if (interaction.getMessageSignature().getOperation().equals(opname) == false) {
-			fail("Operation expected '"+opname+"', but got: "+
-							interaction.getMessageSignature().getOperation());
-		}
-		
-		if (interaction.getMessageSignature().getTypes().size() != 1) {
-			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
-		}
-		
-		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
-		
-		if (ref.getNamespace() == null ||
-				ref.getNamespace().equals(ns) == false) {
-			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
-		}
-		
-		if (ref.getLocalpart() == null ||
-				ref.getLocalpart().equals(lp) == false) {
-			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		SendMessageAction action=new SendMessageAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		SendMessageAction action=new SendMessageAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetMessageActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetMessageActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetMessageActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,74 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SetMessageAction;
-
-import junit.framework.TestCase;
-
-public class SetMessageActionTest extends TestCase {
-
-	public void testValidateNoExpression() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		SetMessageAction action=new SetMessageAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{SetMessageAction.STATE_EXPRESSION}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		SetMessageAction action=new SetMessageAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		SetMessageAction action=new SetMessageAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetStateActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetStateActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetStateActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,358 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SetStateAction;
-
-import junit.framework.TestCase;
-
-public class SetStateActionTest extends TestCase {
-
-	public void testValidateNoVariable() {
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.STATE_EXPRESSION, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_NOT_SPECIFIED_PROPERTY",
-					new String[]{SetStateAction.VARIABLE}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateVariableNotClassProperty() {
-		String varName="classX";
-		Class<?> cls=java.lang.Object.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.STATE_EXPRESSION, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_FOUND_VARIABLE",
-							new String[]{varName, cls.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateVariableIsClassProperty() {
-		String varName="writableProperty";
-		Class<?> cls=TestClass2.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.STATE_EXPRESSION, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateMultiPartVariableIsClassWritableProperty() {
-		String varName="testClass2.writableProperty";
-		Class<?> cls=TestClass1.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.STATE_EXPRESSION, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateMultiPartVariableIsClassNotWritableProperty() {
-		String varName="testClass2.readableProperty";
-		Class<?> cls=TestClass1.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.STATE_EXPRESSION, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-							java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_WRITABLE_PROPERTY",
-						new String[]{"readableProperty", TestClass2.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateMultiPartVariableIsClassNotReadableProperty() {
-		String varName="testClass2.writableProperty";
-		Class<?> cls=TestClass3.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.STATE_EXPRESSION, "");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-							java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_READABLE_PROPERTY",
-						new String[]{"testClass2", TestClass3.class.getName()}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateMissingExpression() {
-		String varName="writableProperty";
-		Class<?> cls=TestClass2.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_SPECIFY_STATE_OR_MESSAGE_EXPRESSION",
-							new String[]{}));
-
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateBothExpressions() {
-		String varName="writableProperty";
-		Class<?> cls=TestClass2.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.MESSAGE_EXPRESSION, "mesg");
-		props.put(SetStateAction.STATE_EXPRESSION, "state");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_SPECIFY_STATE_OR_MESSAGE_EXPRESSION",
-							new String[]{}));
-
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMessageExpression() {
-		String varName="writableProperty";
-		Class<?> cls=TestClass2.class;
-		
-		TestESBService service=new TestESBService();
-		service.setRoot(true);
-		service.setSessionClass(cls);
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put(SetStateAction.VARIABLE, varName);
-		props.put(SetStateAction.MESSAGE_EXPRESSION, "mesg");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
-							props, null);
-		
-		SetStateAction action=new SetStateAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		SetStateAction action=new SetStateAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		SetStateAction action=new SetStateAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-	
-	public class TestClass1 {
-		public TestClass1() {
-		}
-		
-		public TestClass2 getTestClass2() {
-			return(null);
-		}
-	}
-	
-	public class TestClass2 {
-		public TestClass2() {
-		}
-		
-		public String getReadableProperty() {
-			return(null);
-		}
-		
-		public void setWritableProperty(String str) {
-		}
-	}
-	
-	public class TestClass3 {
-		public TestClass3() {
-		}
-		
-		public void setTestClass2(TestClass2 tc2) {
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SwitchActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SwitchActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SwitchActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,382 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SwitchAction;
-import org.scribble.conversation.model.If;
-import org.scribble.model.Activity;
-
-import junit.framework.TestCase;
-
-public class SwitchActionTest extends TestCase {
-
-	public void testValidatePathsSpecified() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		SwitchAction action=new SwitchAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"paths"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateServiceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><case service-category=\"cat1\" " +
-				"service-name=\"name1\" /><case service-category=\"cat2\" " +
-				"service-name=\"name2\" /><case service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SwitchAction action=new SwitchAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1","name1"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2","name2"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat3","name3"}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateLessThanOnePath() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat3");
-		other2.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SwitchAction action=new SwitchAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_SWITCH_ONE_OR_MORE_PATHS",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMissingServiceDetails() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><case service-category=\"cat1\" " +
-				"service-name=\"name1\" /><case " +
-				"service-name=\"name2\" /><case service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SwitchAction action=new SwitchAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvert() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><case service-category=\"cat1\" " +
-				"service-name=\"name1\" /><case service-category=\"cat2\" " +
-				"service-name=\"name2\" /><case service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SwitchAction action=new SwitchAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof If) == false) {
-			fail("Expecting an 'If' activity");
-		}
-		
-		If ifAction=(If)act;
-		
-		if (ifAction.getConditionalBlocks().size() != 3) {
-			fail("Expecting three conditional blocks: "+ifAction.getConditionalBlocks().size());
-		}
-		
-		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(1).getContents().get(0) != act2) {
-			fail("Second conditional block should have 1 activity = act2");
-		}
-		
-		if (ifAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
-			fail("Third conditional block should have 1 activity = act3");
-		}
-		
-		if (ifAction.getElseBlock() != null) {
-			fail("Else block should not be defined");
-		}
-	}
-	
-	public void testConvertNotExcludingEmptyPaths() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><case service-category=\"cat1\" " +
-				"service-name=\"name1\" /><case service-category=\"cat2\" " +
-				"service-name=\"name2\" /><case service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		SwitchAction action=new SwitchAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof If) == false) {
-			fail("Expecting an 'If' activity");
-		}
-		
-		If ifAction=(If)act;
-		
-		if (ifAction.getConditionalBlocks().size() != 3) {
-			fail("Expecting three conditional blocks: "+ifAction.getConditionalBlocks().size());
-		}
-		
-		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 0) {
-			fail("Second conditional block should be empty");
-		}
-		
-		if (ifAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
-				ifAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
-			fail("Third conditional block should have 1 activity = act3");
-		}
-		
-		if (ifAction.getElseBlock() != null) {
-			fail("Else block should not be defined");
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		SwitchAction action=new SwitchAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		SwitchAction action=new SwitchAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhenActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhenActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhenActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,374 +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.runtime.jbossesb.model.actions;
-
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.WhenAction;
-import org.scribble.conversation.model.*;
-import org.scribble.model.*;
-
-import junit.framework.TestCase;
-
-public class WhenActionTest extends TestCase {
-
-	public void testValidatePathsSpecified() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		WhenAction action=new WhenAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"paths"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateServiceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><when service-category=\"cat1\" " +
-				"service-name=\"name1\" /><when service-category=\"cat2\" " +
-				"service-name=\"name2\" /><when service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhenAction action=new WhenAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1","name1"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2","name2"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat3","name3"}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateLessThanOnePath() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat3");
-		other2.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhenAction action=new WhenAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_WHEN_ONE_OR_MORE_PATHS",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMissingServiceDetails() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><when service-category=\"cat1\" " +
-				"service-name=\"name1\" /><when " +
-				"service-name=\"name2\" /><when service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhenAction action=new WhenAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testConvert() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><when service-category=\"cat1\" " +
-				"service-name=\"name1\" /><when service-category=\"cat2\" " +
-				"service-name=\"name2\" /><when service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhenAction action=new WhenAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof When) == false) {
-			fail("Expecting an 'When' activity");
-		}
-		
-		When whenAction=(When)act;
-		
-		if (whenAction.getConditionalBlocks().size() != 3) {
-			fail("Expecting three conditional blocks: "+whenAction.getConditionalBlocks().size());
-		}
-		
-		if (whenAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
-				whenAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (whenAction.getConditionalBlocks().get(1).getContents().size() != 1 ||
-				whenAction.getConditionalBlocks().get(1).getContents().get(0) != act2) {
-			fail("Second conditional block should have 1 activity = act2");
-		}
-		
-		if (whenAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
-				whenAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
-			fail("Second conditional block should have 1 activity = act3");
-		}
-	}
-	
-	public void testConvertNotExcludingEmptyPath() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><when service-category=\"cat1\" " +
-				"service-name=\"name1\" /><when service-category=\"cat2\" " +
-				"service-name=\"name2\" /><when service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestActivity act3=new TestActivity();
-		other3.getContents().add(act3);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhenAction action=new WhenAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, null);
-		
-		if (activities.size() != 1) {
-			fail("Expecting one activity, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof When) == false) {
-			fail("Expecting an 'When' activity");
-		}
-		
-		When whenAction=(When)act;
-		
-		if (whenAction.getConditionalBlocks().size() != 3) {
-			fail("Expecting three conditional blocks: "+whenAction.getConditionalBlocks().size());
-		}
-		
-		if (whenAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
-				whenAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
-			fail("First conditional block should have 1 activity = act1");
-		}
-		
-		if (whenAction.getConditionalBlocks().get(1).getContents().size() != 0) {
-			fail("Second conditional block should be empty");
-		}
-		
-		if (whenAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
-				whenAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
-			fail("Third conditional block should have 1 activity = act3");
-		}
-	}
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		WhenAction action=new WhenAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		WhenAction action=new WhenAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Deleted: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhileActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhileActionTest.java	2009-03-13 07:34:38 UTC (rev 538)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhileActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -1,565 +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.runtime.jbossesb.model.actions;
-
-import org.scribble.conversation.model.*;
-import org.scribble.model.*;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
-import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.WhileAction;
-
-import junit.framework.TestCase;
-
-public class WhileActionTest extends TestCase {
-
-	public void testValidatePathsSpecified() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
-		
-		WhileAction action=new WhileAction(service, elem);
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-						java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_NOT_SPECIFIED_PROPERTY",
-							new String[]{"paths"}));
-		
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateServiceNotFound() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat1\" " +
-				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat1","name1"}));
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
-					"_NOT_FOUND_SERVICE_DESCRIPTOR",
-					new String[]{"cat2","name2"}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateOneWhilePath() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat1\" " +
-				"service-name=\"name1\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat3");
-		other2.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_DEFINE_SINGLE_WHILE_EXIT",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateOneWhileExit() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><exit service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_MUST_DEFINE_SINGLE_WHILE_PATH",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMissingServiceDetails1() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while " +
-				"service-name=\"name2\" /><exit service-category=\"cat3\" " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateMissingServiceDetails2() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat2\" " +
-				"service-name=\"name2\" /><exit " +
-				"service-name=\"name3\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_PATH_SERVICE_DETAILS_MISSING",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateOutOfOrderExit() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><exit service-category=\"cat1\" " +
-				"service-name=\"name1\" /><while service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBService other3=new TestESBService();
-		other3.setCategory("cat3");
-		other3.setName("name3");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(other3);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-							"_WHILE_PATH_AFTER_EXIT",
-							new String[]{}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-	
-	public void testValidateImmediateWhile() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat1\" " +
-				"service-name=\"name1\" immediate=\"fred\" /><exit service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_BOOLEAN",
-					new String[]{WhileAction.IMMEDIATE}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testValidateImmediateExit() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat1\" " +
-				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
-				"service-name=\"name2\" immediate=\"fred\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-		
-		TestModelListener l=new TestModelListener();
-		
-		l.addExpectedError(org.scribble.util.MessageUtil.format(
-				java.util.PropertyResourceBundle.getBundle(
-				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
-					"_BOOLEAN",
-					new String[]{WhileAction.IMMEDIATE}));
-				
-		action.validate(l);
-		
-		if (l.isValid() == false) {
-			fail(l.invalidMessage());
-		}
-	}
-
-	public void testConvert() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat1\" " +
-				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestActivity act1=new TestActivity();
-		other1.getContents().add(act1);
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-				
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(null));
-		
-		if (activities.size() != 2) {
-			fail("Expecting two activities, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof While) == false) {
-			fail("Expecting an 'While' activity");
-		}
-		
-		While whileAction=(While)act;
-		
-		if (whileAction.getBlock().getContents().size() != 1) {
-			fail("Expecting one entry in while block: "+whileAction.getBlock().getContents().size());
-		}
-		
-		if (whileAction.getBlock().getContents().get(0) != act1) {
-			fail("While block should have 1 activity = act1");
-		}
-		
-		if (activities.get(1) != act2) {
-			fail("Activity following while should be act2");
-		}
-	}	
-
-	public void testConvertNotExcludingEmptyBody() {
-		TestESBService service=new TestESBService();
-
-		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
-		props.put("paths", "<property><while service-category=\"cat1\" " +
-				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
-				"service-name=\"name2\" /></property>");
-		
-		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
-		
-		TestESBService other1=new TestESBService();
-		other1.setCategory("cat1");
-		other1.setName("name1");
-		
-		TestESBService other2=new TestESBService();
-		other2.setCategory("cat2");
-		other2.setName("name2");
-		
-		TestActivity act2=new TestActivity();
-		other2.getContents().add(act2);
-				
-		TestESBLanguageModel model=new TestESBLanguageModel();
-		model.addService(other1);
-		model.addService(other2);
-		model.addService(service);
-		
-		service.setModel(model);
-		
-		WhileAction action=new WhileAction(service, elem);
-		action.initializeLinks();
-		
-		service.getActions().add(action);
-
-		java.util.List<Activity> activities=new java.util.Vector<Activity>();
-		
-		action.convert(activities, new DefaultConversionContext(null));
-		
-		if (activities.size() != 2) {
-			fail("Expecting two activities, but got: "+activities.size());
-		}
-		
-		Activity act=activities.get(0);
-		
-		if ((act instanceof While) == false) {
-			fail("Expecting an 'While' activity");
-		}
-		
-		While whileAction=(While)act;
-		
-		if (whileAction.getBlock().getContents().size() != 0) {
-			fail("Expecting zero entries in while block: "+whileAction.getBlock().getContents().size());
-		}
-		
-		if (activities.get(1) != act2) {
-			fail("Activity following while should be act2");
-		}
-	}	
-	
-	public void testIsCreateSession() {
-		TestESBService service=new TestESBService();
-		
-		WhileAction action=new WhileAction(service, null);
-		
-		if (action.isSessionType() == true) {
-			fail("Action is flagged as a 'CreateSession'");
-		}
-	}
-	
-	public void testIsSessionBased() {
-		TestESBService service=new TestESBService();
-		
-		WhileAction action=new WhileAction(service, null);
-		
-		if (action.isSessionBased() == false) {
-			fail("Action is not flagged as a 'SessionBased'");
-		}
-	}
-}

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/CreateSessionActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/CreateSessionActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/CreateSessionActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/CreateSessionActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,190 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.CreateSessionAction;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.UnsupportedAction;
+
+import junit.framework.TestCase;
+
+public class CreateSessionActionTest extends TestCase {
+
+	public void testValidateFirstAction() {
+		TestESBService service=new TestESBService();
+
+		UnsupportedAction unsupported=new UnsupportedAction(service, null);
+		
+		CreateSessionAction action=new CreateSessionAction(service, null);
+		
+		service.getActions().add(action);
+		service.getActions().add(unsupported);
+		
+		TestModelListener l=new TestModelListener();
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateNotFirstAction() {
+		TestESBService service=new TestESBService();
+
+		UnsupportedAction unsupported=new UnsupportedAction(service, null);
+		
+		CreateSessionAction action=new CreateSessionAction(service, null);
+		
+		service.getActions().add(unsupported);
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_BE_FIRST_ACTION",
+							new String[]{"CreateSession"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateRootNoConversationType() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		CreateSessionAction action=new CreateSessionAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_CONVERSATION_TYPE",
+							new String[]{}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateRootWithConversationType() {
+		String convType="test.Type at MyRole";
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("conversationType", convType);
+		
+		service.setConversationType(convType);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		CreateSessionAction action=new CreateSessionAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		service.setModel(model);
+
+		TestModelListener l=new TestModelListener();
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	
+	public void testValidateRootWithConversationTypeNoRole() {
+		String convType="test.Type";
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("conversationType", convType);
+		
+		service.setConversationType(convType);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		CreateSessionAction action=new CreateSessionAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		service.setModel(model);
+
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_CONVERSATION_TYPE_ROLE",
+							new String[]{convType}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		CreateSessionAction action=new CreateSessionAction(service, null);
+		
+		if (action.isSessionType() == false) {
+			fail("Action is not flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		CreateSessionAction action=new CreateSessionAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/CreateSessionActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/IfActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/IfActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/IfActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/IfActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,632 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import junit.framework.TestCase;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.IfAction;
+import org.scribble.model.*;
+import org.scribble.conversation.model.*;
+
+public class IfActionTest extends TestCase {
+
+	public void testValidatePathsSpecified() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		IfAction action=new IfAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"paths"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateServiceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1","name1"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2","name2"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat3","name3"}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateNoPathsContent() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat3");
+		other2.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_IF_ORDER_WRONG",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateOnlyOneIf() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /><if service-category=\"cat3\" " +
+				"service-name=\"name3\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_IF_ORDER_WRONG",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateOutOfOrderElse() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_IF_ORDER_WRONG",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMissingServiceDetails() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif " +
+				"service-name=\"name2\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateImmediateIf() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" immediate=\"fred\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_BOOLEAN",
+							new String[]{IfAction.IMMEDIATE}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateImmediateElseIf() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" immediate=\"fred\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_BOOLEAN",
+							new String[]{IfAction.IMMEDIATE}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateImmediateElse() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" immediate=\"fred\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_BOOLEAN",
+							new String[]{IfAction.IMMEDIATE}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvert() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof If) == false) {
+			fail("Expecting an 'If' activity");
+		}
+		
+		If ifAction=(If)act;
+		
+		if (ifAction.getConditionalBlocks().size() != 2) {
+			fail("Expecting two conditional blocks: "+ifAction.getConditionalBlocks().size());
+		}
+		
+		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(1).getContents().get(0) != act2) {
+			fail("Second conditional block should have 1 activity = act2");
+		}
+		
+		if (ifAction.getElseBlock() == null) {
+			fail("Else block not defined");
+		}
+		
+		if (ifAction.getElseBlock().getContents().size() != 1 ||
+				ifAction.getElseBlock().getContents().get(0) != act3) {
+			fail("Else block should have 1 activity = act3");
+		}
+	}
+	
+	public void testConvertNotExcludingEmptyPaths() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><if service-category=\"cat1\" " +
+				"service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+				"service-name=\"name2\" /><else service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		IfAction action=new IfAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof If) == false) {
+			fail("Expecting an 'If' activity");
+		}
+		
+		If ifAction=(If)act;
+		
+		if (ifAction.getConditionalBlocks().size() != 2) {
+			fail("Expecting two conditional blocks: "+ifAction.getConditionalBlocks().size());
+		}
+		
+		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 0) {
+			fail("First conditional block should be empty");
+		}
+		
+		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 0) {
+			fail("Second conditional block should be empty");
+		}
+		
+		if (ifAction.getElseBlock() == null) {
+			fail("Else block not defined");
+		}
+		
+		if (ifAction.getElseBlock().getContents().size() != 0) {
+			fail("Else block should have be empty");
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		IfAction action=new IfAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		IfAction action=new IfAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/IfActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/MessageRouterActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/MessageRouterActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/MessageRouterActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/MessageRouterActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,273 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.MessageRouterAction;
+
+import junit.framework.TestCase;
+
+public class MessageRouterActionTest extends TestCase {
+
+	public void testValidatePathsSpecified() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"paths"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateSessionBasedService() {
+		TestESBService service=new TestESBService();
+		service.setSessionBased(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><route service-category=\"cat1\" " +
+					"service-name=\"name1\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_CANNOT_SESSION_BASED_ACTIONS_WITH_ROUTER",
+							new String[]{}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateServiceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><route service-category=\"cat1\" " +
+				"service-name=\"name1\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+							"_NOT_FOUND_SERVICE_DESCRIPTOR",
+							new String[]{"cat1","name1"}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateInitiateServiceNotRoot() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><route service-category=\"cat1\" " +
+				"service-name=\"name1\" initiate=\"true\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other=new TestESBService();
+		other.setCategory("cat1");
+		other.setName("name1");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_CANNOT_INITIATE_NON_ROOT",
+							new String[]{other.getCategory(), 
+									other.getName()}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateNotInitiateRootService() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><route service-category=\"cat1\" " +
+				"service-name=\"name1\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other=new TestESBService();
+		other.setCategory("cat1");
+		other.setName("name1");
+		other.setRoot(true);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_INITIATE_ROOT",
+							new String[]{other.getCategory(), 
+									other.getName()}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoRoutes() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_ROUTER_ONE_OR_MORE_PATHS",
+							new String[]{}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateServiceDetailsMissing() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><route service-category=\"cat1\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		MessageRouterAction action=new MessageRouterAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		MessageRouterAction action=new MessageRouterAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		MessageRouterAction action=new MessageRouterAction(service, null);
+		
+		if (action.isSessionBased() == true) {
+			fail("Action is flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/MessageRouterActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ParallelActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ParallelActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ParallelActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ParallelActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,528 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.scribble.conversation.model.*;
+import org.scribble.model.Activity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.ParallelAction;
+
+import junit.framework.TestCase;
+
+public class ParallelActionTest extends TestCase {
+
+	public void testValidatePathsSpecified() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"paths"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateServiceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><path service-category=\"cat2\" " +
+				"service-name=\"name2\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1","name1"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2","name2"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat3","name3"}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateLessThanTwoPaths() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat3");
+		other2.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PARALLEL_MORE_THAN_TWO_PATHS",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateOnlyOneJoin() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><path service-category=\"cat2\" " +
+				"service-name=\"name2\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MULTIPLE_JOINS",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateOutOfOrderJoin() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /><path service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PARALLEL_PATH_AFTER_JOIN",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMissingServiceDetails() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><path " +
+				"service-name=\"name2\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateImmediate() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><path service-category=\"cat2\" " +
+				"service-name=\"name2\" immediate=\"fred\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_BOOLEAN",
+							new String[]{ParallelAction.IMMEDIATE}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvert() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><path service-category=\"cat2\" " +
+				"service-name=\"name2\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(null));
+		
+		if (activities.size() != 2) {
+			fail("Expecting two activities, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Parallel) == false) {
+			fail("Expecting an 'Parallel' activity");
+		}
+		
+		Parallel parallelAction=(Parallel)act;
+		
+		if (parallelAction.getBlocks().size() != 2) {
+			fail("Expecting two blocks: "+parallelAction.getBlocks().size());
+		}
+		
+		if (parallelAction.getBlocks().get(0).getContents().size() != 1 ||
+				parallelAction.getBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (parallelAction.getBlocks().get(1).getContents().size() != 1 ||
+				parallelAction.getBlocks().get(1).getContents().get(0) != act2) {
+			fail("Second conditional block should have 1 activity = act2");
+		}
+
+		if (activities.get(1) != act3) {
+			fail("Activity after parallel should be act3");
+		}
+	}	
+
+	public void testConvertNotExcludingEmptyPaths() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><path service-category=\"cat1\" " +
+				"service-name=\"name1\" /><path service-category=\"cat2\" " +
+				"service-name=\"name2\" /><join service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ParallelAction action=new ParallelAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(null));
+		
+		if (activities.size() != 2) {
+			fail("Expecting two activities, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Parallel) == false) {
+			fail("Expecting an 'Parallel' activity");
+		}
+		
+		Parallel parallelAction=(Parallel)act;
+		
+		if (parallelAction.getBlocks().size() != 2) {
+			fail("Expecting two blocks: "+parallelAction.getBlocks().size());
+		}
+		
+		if (parallelAction.getBlocks().get(0).getContents().size() != 1 ||
+				parallelAction.getBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (parallelAction.getBlocks().get(1).getContents().size() != 0) {
+			fail("Second conditional block should be empty");
+		}
+
+		if (activities.get(1) != act3) {
+			fail("Activity after parallel should be act3");
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		ParallelAction action=new ParallelAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		ParallelAction action=new ParallelAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}	
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ParallelActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/PerformActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/PerformActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/PerformActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/PerformActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,781 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.PerformAction;
+import org.scribble.conversation.model.*;
+import org.scribble.model.Activity;
+
+import junit.framework.TestCase;
+
+public class PerformActionTest extends TestCase {
+
+	public void testValidateNoServiceCategory() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_NAME, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		PerformAction action=new PerformAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"serviceCategory"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoServiceName() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "");
+
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		PerformAction action=new PerformAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"serviceName"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateService() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1", "name1"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateReturnService() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
+		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2", "name2"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateServiceCreatesSession() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
+		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(false);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_FOUND_PERFORM_CREATE_SESSION",
+							new String[]{}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateParentReferenceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "fred");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_FOUND_VARIABLE",
+							new String[]{"fred", Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateParentReferenceNotWritable() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "class");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_WRITABLE_PROPERTY",
+							new String[]{"class", Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateParentReferenceIncorrectType() {
+		TestESBService service=new TestESBService();
+		service.setSessionClass(ParentPojo.class);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "invalidParent");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_INVALID_PROPERTY_TYPE",
+							new String[]{"invalidParent",
+							ChildPojo.class.getName(),
+							ParentPojo.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateParentReferenceCorrectType() {
+		TestESBService service=new TestESBService();
+		service.setSessionClass(ParentPojo.class);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "validParent");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateParentReferenceCorrectType2() {
+		TestESBService service=new TestESBService();
+		service.setSessionClass(ParentPojo.class);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "validParentView");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateBindDetailsNotFound() {
+		TestESBService service=new TestESBService();
+
+		String varName="fred";
+		
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		
+		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
+		customProps.put(PerformAction.BIND_DETAILS,
+				"<root><bind to-variable=\""+varName+"\" /></root>");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_FOUND_VARIABLE",
+							new String[]{varName, Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateBindDetailsNotWritable() {
+		TestESBService service=new TestESBService();
+
+		String varName="class";
+		
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+
+		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
+		customProps.put(PerformAction.BIND_DETAILS,
+				"<root><bind to-variable=\""+varName+"\" /></root>");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_WRITABLE_PROPERTY",
+							new String[]{varName, Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateBindDetailsCorrect() {
+		TestESBService service=new TestESBService();
+
+		String varName="validParent";
+		
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+
+		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
+		customProps.put(PerformAction.BIND_DETAILS,
+				"<root><bind to-variable=\""+varName+"\" /></root>");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testConvertRun() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
+		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 2) {
+			fail("Expecting two activities, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Run) == false) {
+			fail("Expecting an 'Run' activity");
+		}
+		
+		Run runAction=(Run)act;
+		
+		if (runAction.getDefinition() == null) {
+			fail("Run definition was null");
+		}
+		
+		if (runAction.getDefinition().getBlock().getContents().size() != 1) {
+			fail("Expecting one ran block activity: "+runAction.getDefinition().getBlock().getContents().size());
+		}
+		
+		if (runAction.getDefinition().getBlock().getContents().get(0) != act1) {
+			fail("Run model block should have 1 activity = act1");
+		}
+
+		if (activities.get(1) != act2) {
+			fail("Subsequent activity after run was not act2");
+		}
+	}
+
+	public void testConvertSpawn() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting 1 activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Spawn) == false) {
+			fail("Expecting a 'Spawn' activity");
+		}
+		
+		Spawn spawnAction=(Spawn)act;
+		
+		if (spawnAction.getDefinition() == null) {
+			fail("Run definition was null");
+		}
+		
+		if (spawnAction.getDefinition().getBlock().getContents().size() != 1) {
+			fail("Expecting one block activity: "+spawnAction.getDefinition().getBlock().getContents().size());
+		}
+		
+		if (spawnAction.getDefinition().getBlock().getContents().get(0) != act1) {
+			fail("Spawn model block should have 1 activity = act1");
+		}
+	}
+
+	public void testConvertNotExcludingEmptyPath() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.RETURN_SERVICE_CATEGORY, "cat2");
+		props.put(PerformAction.RETURN_SERVICE_NAME, "name2");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 2) {
+			fail("Expecting two activities, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Run) == false) {
+			fail("Expecting an 'Run' activity");
+		}
+		
+		Run runAction=(Run)act;
+		
+		if (runAction.getDefinition() == null) {
+			fail("Run definition was null");
+		}
+		
+		if (runAction.getDefinition().getBlock().getContents().size() != 0) {
+			fail("Expecting zero ran block activities: "+runAction.getDefinition().getBlock().getContents().size());
+		}
+		
+		if (activities.get(1) != act2) {
+			fail("Subsequent activity after run was not act2");
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		PerformAction action=new PerformAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		PerformAction action=new PerformAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+	
+	public interface ParentView {
+		
+	}
+	
+	public class ParentPojo implements ParentView {
+		
+	}
+	
+	public class ChildPojo {
+		
+		public void setValidParent(ParentPojo p) {
+		}
+		
+		public void setValidParentView(ParentView p) {
+		}
+		
+		public void setInvalidParent(String p) {
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/PerformActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ReceiveMessageActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ReceiveMessageActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ReceiveMessageActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ReceiveMessageActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,288 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.scribble.model.*;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.ReceiveMessageAction;
+
+import junit.framework.TestCase;
+
+public class ReceiveMessageActionTest extends TestCase {
+
+	public void testValidateNoMessageType() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("identities", "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"messageType"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoIdentities() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"identities"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvertRoles() {
+		TestESBService service=new TestESBService();
+		
+		String ns="MessageTypeNS";
+		String lp="MessageType";
+		String role="Buyer";
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "{"+ns+"}"+lp);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(role));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Interaction) == false) {
+			fail("Expecting an 'Interaction' activity");
+		}
+		
+		Interaction interaction=(Interaction)act;
+		
+		if (interaction.getToRole() == null) {
+			fail("'To' role is null");
+		}
+		
+		if (interaction.getToRole().getName().equals(role) == false) {
+			fail("'To' role should be '"+role+"', but found: "+interaction.getToRole().getName());
+		}
+		
+		if (interaction.getFromRole() != null) {
+			fail("'From' role should be null");
+		}
+	}
+	
+	public void testConvertMessageBased() {
+		TestESBService service=new TestESBService();
+		
+		String ns="MessageTypeNS";
+		String lp="MessageType";
+		String role="Buyer";
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "{"+ns+"}"+lp);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(role));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Interaction) == false) {
+			fail("Expecting an 'Interaction' activity");
+		}
+		
+		Interaction interaction=(Interaction)act;
+		
+		if (interaction.getMessageSignature() == null) {
+			fail("Message signature is null");
+		}
+		
+		if (interaction.getMessageSignature().getOperation() != null) {
+			fail("Operation should be null");
+		}
+		
+		if (interaction.getMessageSignature().getTypes().size() != 1) {
+			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
+		}
+		
+		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
+		
+		if (ref.getNamespace() == null ||
+				ref.getNamespace().equals(ns) == false) {
+			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
+		}
+		
+		if (ref.getLocalpart() == null ||
+				ref.getLocalpart().equals(lp) == false) {
+			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
+		}
+	}
+	
+	public void testConvertRPCBased() {
+		TestESBService service=new TestESBService();
+		
+		String ns="MessageTypeNS";
+		String lp="MessageType";
+		String opname="op";
+		String role="Buyer";
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("operation", opname);
+		props.put("messageType", "{"+ns+"}"+lp);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(role));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Interaction) == false) {
+			fail("Expecting an 'Interaction' activity");
+		}
+		
+		Interaction interaction=(Interaction)act;
+		
+		if (interaction.getMessageSignature() == null) {
+			fail("Message signature is null");
+		}
+		
+		if (interaction.getMessageSignature().getOperation() == null) {
+			fail("Operation should not be null");
+		}
+		
+		if (interaction.getMessageSignature().getOperation().equals(opname) == false) {
+			fail("Operation expected '"+opname+"', but got: "+
+							interaction.getMessageSignature().getOperation());
+		}
+		
+		if (interaction.getMessageSignature().getTypes().size() != 1) {
+			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
+		}
+		
+		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
+		
+		if (ref.getNamespace() == null ||
+				ref.getNamespace().equals(ns) == false) {
+			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
+		}
+		
+		if (ref.getLocalpart() == null ||
+				ref.getLocalpart().equals(lp) == false) {
+			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		ReceiveMessageAction action=new ReceiveMessageAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ReceiveMessageActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/RetrieveSessionActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/RetrieveSessionActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/RetrieveSessionActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/RetrieveSessionActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.RetrieveSessionAction;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.UnsupportedAction;
+
+import junit.framework.TestCase;
+
+public class RetrieveSessionActionTest extends TestCase {
+
+	public void testValidateFirstAction() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("identities", "");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		UnsupportedAction unsupported=new UnsupportedAction(service, null);
+		
+		RetrieveSessionAction action=new RetrieveSessionAction(service, elem);
+		
+		service.getActions().add(action);
+		service.getActions().add(unsupported);
+		
+		TestModelListener l=new TestModelListener();
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateNotFirstAction() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("identities", "");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		UnsupportedAction unsupported=new UnsupportedAction(service, null);
+		
+		RetrieveSessionAction action=new RetrieveSessionAction(service, elem);
+		
+		service.getActions().add(unsupported);
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_BE_FIRST_ACTION",
+							new String[]{"RetrieveSession"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoIdentities() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		RetrieveSessionAction action=new RetrieveSessionAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"identities"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		RetrieveSessionAction action=new RetrieveSessionAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		RetrieveSessionAction action=new RetrieveSessionAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/RetrieveSessionActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ScheduleStateActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/ScheduleStateActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ScheduleStateActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ScheduleStateActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,259 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.scribble.model.Activity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.ScheduleStateAction;
+
+import junit.framework.TestCase;
+
+public class ScheduleStateActionTest extends TestCase {
+
+	public void testValidateNoServiceCategory() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("serviceName", "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"serviceCategory"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoServiceName() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("serviceCategory", "");
+
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"serviceName"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateService() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("serviceCategory", "cat1");
+		props.put("serviceName", "name1");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1", "name1"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvert() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("serviceCategory", "cat1");
+		props.put("serviceName", "name1");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(null));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		if (activities.get(0) != act1) {
+			fail("Activity was not act1");
+		}
+	}
+	
+	public void testConvertBackToWhileLoop() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("serviceCategory", "cat1");
+		props.put("serviceName", "name1");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setLoop(true);
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		DefaultConversionContext context=new DefaultConversionContext(null);
+		context.push(other1);
+		
+		action.convert(activities, context);
+		
+		if (activities.size() != 0) {
+			fail("Should be no activities, but found: "+activities.size());
+		}
+	}
+	
+	public void testConvertBackToJoinState() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("serviceCategory", "cat1");
+		props.put("serviceName", "name1");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		DefaultConversionContext context=new DefaultConversionContext(null);
+		context.markJoin(other1);
+		
+		action.convert(activities, context);
+		
+		if (activities.size() != 0) {
+			fail("Should be no activities, but found: "+activities.size());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		ScheduleStateAction action=new ScheduleStateAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/ScheduleStateActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SendMessageActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SendMessageActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SendMessageActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SendMessageActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,364 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.DefaultConversionContext;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SendMessageAction;
+import org.scribble.model.Activity;
+import org.scribble.model.Interaction;
+import org.scribble.model.TypeReference;
+
+import junit.framework.TestCase;
+
+public class SendMessageActionTest extends TestCase {
+
+	public void testValidateNoMessageType() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("identities", "");
+		props.put("serviceCategory", "");
+		props.put("serviceName", "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"messageType"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoIdentities() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "");
+		props.put("clientRole", "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{"identities"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateNoDestination() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "");
+		props.put("identities", "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_REQ_RESP_EPR",
+					new String[]{}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateResponseService() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "");
+		props.put("identities", "");
+		props.put("serviceCategory", "cat1");
+		props.put("serviceName", "name1");
+		props.put("responseServiceCategory", "cat2");
+		props.put("responseServiceName", "name2");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2", "name2"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvertRoles() {
+		TestESBService service=new TestESBService();
+		
+		String ns="MessageTypeNS";
+		String lp="MessageType";
+		String role="Buyer";
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "{"+ns+"}"+lp);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(role));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Interaction) == false) {
+			fail("Expecting an 'Interaction' activity");
+		}
+		
+		Interaction interaction=(Interaction)act;
+		
+		if (interaction.getFromRole() == null) {
+			fail("'From' role is null");
+		}
+		
+		if (interaction.getFromRole().getName().equals(role) == false) {
+			fail("'From' role should be '"+role+"', but found: "+interaction.getFromRole().getName());
+		}
+		
+		if (interaction.getToRole() != null) {
+			fail("'To' role should be null");
+		}
+	}
+	
+	public void testConvertMessageBased() {
+		TestESBService service=new TestESBService();
+		
+		String ns="MessageTypeNS";
+		String lp="MessageType";
+		String role="Buyer";
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("messageType", "{"+ns+"}"+lp);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(role));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Interaction) == false) {
+			fail("Expecting an 'Interaction' activity");
+		}
+		
+		Interaction interaction=(Interaction)act;
+		
+		if (interaction.getMessageSignature() == null) {
+			fail("Message signature is null");
+		}
+		
+		if (interaction.getMessageSignature().getOperation() != null) {
+			fail("Operation should be null");
+		}
+		
+		if (interaction.getMessageSignature().getTypes().size() != 1) {
+			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
+		}
+		
+		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
+		
+		if (ref.getNamespace() == null ||
+				ref.getNamespace().equals(ns) == false) {
+			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
+		}
+		
+		if (ref.getLocalpart() == null ||
+				ref.getLocalpart().equals(lp) == false) {
+			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
+		}
+	}
+	
+	public void testConvertRPCBased() {
+		TestESBService service=new TestESBService();
+		
+		String ns="MessageTypeNS";
+		String lp="MessageType";
+		String opname="op";
+		String role="Buyer";
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("operation", opname);
+		props.put("messageType", "{"+ns+"}"+lp);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SendMessageAction action=new SendMessageAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(role));
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof Interaction) == false) {
+			fail("Expecting an 'Interaction' activity");
+		}
+		
+		Interaction interaction=(Interaction)act;
+		
+		if (interaction.getMessageSignature() == null) {
+			fail("Message signature is null");
+		}
+		
+		if (interaction.getMessageSignature().getOperation() == null) {
+			fail("Operation should not be null");
+		}
+		
+		if (interaction.getMessageSignature().getOperation().equals(opname) == false) {
+			fail("Operation expected '"+opname+"', but got: "+
+							interaction.getMessageSignature().getOperation());
+		}
+		
+		if (interaction.getMessageSignature().getTypes().size() != 1) {
+			fail("Only one type expected, but got: "+interaction.getMessageSignature().getTypes().size());
+		}
+		
+		TypeReference ref=interaction.getMessageSignature().getTypes().get(0);
+		
+		if (ref.getNamespace() == null ||
+				ref.getNamespace().equals(ns) == false) {
+			fail("Namespace should be '"+ns+"', but found: "+ref.getNamespace());
+		}
+		
+		if (ref.getLocalpart() == null ||
+				ref.getLocalpart().equals(lp) == false) {
+			fail("Local type should be '"+lp+"', but found: "+ref.getLocalpart());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		SendMessageAction action=new SendMessageAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		SendMessageAction action=new SendMessageAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SendMessageActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetMessageActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetMessageActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetMessageActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetMessageActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,75 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SetMessageAction;
+
+import junit.framework.TestCase;
+
+public class SetMessageActionTest extends TestCase {
+
+	public void testValidateNoExpression() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		SetMessageAction action=new SetMessageAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{SetMessageAction.STATE_EXPRESSION}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		SetMessageAction action=new SetMessageAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		SetMessageAction action=new SetMessageAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetMessageActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetStateActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SetStateActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetStateActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetStateActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,359 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SetStateAction;
+
+import junit.framework.TestCase;
+
+public class SetStateActionTest extends TestCase {
+
+	public void testValidateNoVariable() {
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.STATE_EXPRESSION, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_NOT_SPECIFIED_PROPERTY",
+					new String[]{SetStateAction.VARIABLE}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateVariableNotClassProperty() {
+		String varName="classX";
+		Class<?> cls=java.lang.Object.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.STATE_EXPRESSION, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_FOUND_VARIABLE",
+							new String[]{varName, cls.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateVariableIsClassProperty() {
+		String varName="writableProperty";
+		Class<?> cls=TestClass2.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.STATE_EXPRESSION, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateMultiPartVariableIsClassWritableProperty() {
+		String varName="testClass2.writableProperty";
+		Class<?> cls=TestClass1.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.STATE_EXPRESSION, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateMultiPartVariableIsClassNotWritableProperty() {
+		String varName="testClass2.readableProperty";
+		Class<?> cls=TestClass1.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.STATE_EXPRESSION, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+							java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_WRITABLE_PROPERTY",
+						new String[]{"readableProperty", TestClass2.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateMultiPartVariableIsClassNotReadableProperty() {
+		String varName="testClass2.writableProperty";
+		Class<?> cls=TestClass3.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.STATE_EXPRESSION, "");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+							java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_READABLE_PROPERTY",
+						new String[]{"testClass2", TestClass3.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateMissingExpression() {
+		String varName="writableProperty";
+		Class<?> cls=TestClass2.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_SPECIFY_STATE_OR_MESSAGE_EXPRESSION",
+							new String[]{}));
+
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateBothExpressions() {
+		String varName="writableProperty";
+		Class<?> cls=TestClass2.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.MESSAGE_EXPRESSION, "mesg");
+		props.put(SetStateAction.STATE_EXPRESSION, "state");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_SPECIFY_STATE_OR_MESSAGE_EXPRESSION",
+							new String[]{}));
+
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMessageExpression() {
+		String varName="writableProperty";
+		Class<?> cls=TestClass2.class;
+		
+		TestESBService service=new TestESBService();
+		service.setRoot(true);
+		service.setSessionClass(cls);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(SetStateAction.VARIABLE, varName);
+		props.put(SetStateAction.MESSAGE_EXPRESSION, "mesg");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null,
+							props, null);
+		
+		SetStateAction action=new SetStateAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		SetStateAction action=new SetStateAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		SetStateAction action=new SetStateAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+	
+	public class TestClass1 {
+		public TestClass1() {
+		}
+		
+		public TestClass2 getTestClass2() {
+			return(null);
+		}
+	}
+	
+	public class TestClass2 {
+		public TestClass2() {
+		}
+		
+		public String getReadableProperty() {
+			return(null);
+		}
+		
+		public void setWritableProperty(String str) {
+		}
+	}
+	
+	public class TestClass3 {
+		public TestClass3() {
+		}
+		
+		public void setTestClass2(TestClass2 tc2) {
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SetStateActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SwitchActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/SwitchActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SwitchActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SwitchActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,384 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.SwitchAction;
+import org.scribble.conversation.model.If;
+import org.scribble.model.Activity;
+
+import junit.framework.TestCase;
+
+public class SwitchActionTest extends TestCase {
+
+	public void testValidatePathsSpecified() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		SwitchAction action=new SwitchAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"paths"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateServiceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><case service-category=\"cat1\" " +
+				"service-name=\"name1\" /><case service-category=\"cat2\" " +
+				"service-name=\"name2\" /><case service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SwitchAction action=new SwitchAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1","name1"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2","name2"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat3","name3"}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateLessThanOnePath() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat3");
+		other2.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SwitchAction action=new SwitchAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_SWITCH_ONE_OR_MORE_PATHS",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMissingServiceDetails() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><case service-category=\"cat1\" " +
+				"service-name=\"name1\" /><case " +
+				"service-name=\"name2\" /><case service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SwitchAction action=new SwitchAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvert() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><case service-category=\"cat1\" " +
+				"service-name=\"name1\" /><case service-category=\"cat2\" " +
+				"service-name=\"name2\" /><case service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SwitchAction action=new SwitchAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof If) == false) {
+			fail("Expecting an 'If' activity");
+		}
+		
+		If ifAction=(If)act;
+		
+		if (ifAction.getConditionalBlocks().size() != 3) {
+			fail("Expecting three conditional blocks: "+ifAction.getConditionalBlocks().size());
+		}
+		
+		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(1).getContents().get(0) != act2) {
+			fail("Second conditional block should have 1 activity = act2");
+		}
+		
+		if (ifAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
+			fail("Third conditional block should have 1 activity = act3");
+		}
+		
+		if (ifAction.getElseBlock() != null) {
+			fail("Else block should not be defined");
+		}
+	}
+	
+	public void testConvertNotExcludingEmptyPaths() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><case service-category=\"cat1\" " +
+				"service-name=\"name1\" /><case service-category=\"cat2\" " +
+				"service-name=\"name2\" /><case service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		SwitchAction action=new SwitchAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof If) == false) {
+			fail("Expecting an 'If' activity");
+		}
+		
+		If ifAction=(If)act;
+		
+		if (ifAction.getConditionalBlocks().size() != 3) {
+			fail("Expecting three conditional blocks: "+ifAction.getConditionalBlocks().size());
+		}
+		
+		if (ifAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (ifAction.getConditionalBlocks().get(1).getContents().size() != 0) {
+			fail("Second conditional block should be empty");
+		}
+		
+		if (ifAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
+				ifAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
+			fail("Third conditional block should have 1 activity = act3");
+		}
+		
+		if (ifAction.getElseBlock() != null) {
+			fail("Else block should not be defined");
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		SwitchAction action=new SwitchAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		SwitchAction action=new SwitchAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/SwitchActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhenActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhenActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhenActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhenActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -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.runtime.jbossesb.model.actions.stateful;
+
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBLanguageModel;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestESBService;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.TestModelListener;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.WhenAction;
+import org.scribble.conversation.model.*;
+import org.scribble.model.*;
+
+import junit.framework.TestCase;
+
+public class WhenActionTest extends TestCase {
+
+	public void testValidatePathsSpecified() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		WhenAction action=new WhenAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"paths"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateServiceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><when service-category=\"cat1\" " +
+				"service-name=\"name1\" /><when service-category=\"cat2\" " +
+				"service-name=\"name2\" /><when service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhenAction action=new WhenAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1","name1"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2","name2"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat3","name3"}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateLessThanOnePath() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat3");
+		other2.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhenAction action=new WhenAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_WHEN_ONE_OR_MORE_PATHS",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMissingServiceDetails() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><when service-category=\"cat1\" " +
+				"service-name=\"name1\" /><when " +
+				"service-name=\"name2\" /><when service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhenAction action=new WhenAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testConvert() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><when service-category=\"cat1\" " +
+				"service-name=\"name1\" /><when service-category=\"cat2\" " +
+				"service-name=\"name2\" /><when service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhenAction action=new WhenAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof When) == false) {
+			fail("Expecting an 'When' activity");
+		}
+		
+		When whenAction=(When)act;
+		
+		if (whenAction.getConditionalBlocks().size() != 3) {
+			fail("Expecting three conditional blocks: "+whenAction.getConditionalBlocks().size());
+		}
+		
+		if (whenAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
+				whenAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (whenAction.getConditionalBlocks().get(1).getContents().size() != 1 ||
+				whenAction.getConditionalBlocks().get(1).getContents().get(0) != act2) {
+			fail("Second conditional block should have 1 activity = act2");
+		}
+		
+		if (whenAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
+				whenAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
+			fail("Second conditional block should have 1 activity = act3");
+		}
+	}
+	
+	public void testConvertNotExcludingEmptyPath() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><when service-category=\"cat1\" " +
+				"service-name=\"name1\" /><when service-category=\"cat2\" " +
+				"service-name=\"name2\" /><when service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestActivity act3=new TestActivity();
+		other3.getContents().add(act3);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhenAction action=new WhenAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, null);
+		
+		if (activities.size() != 1) {
+			fail("Expecting one activity, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof When) == false) {
+			fail("Expecting an 'When' activity");
+		}
+		
+		When whenAction=(When)act;
+		
+		if (whenAction.getConditionalBlocks().size() != 3) {
+			fail("Expecting three conditional blocks: "+whenAction.getConditionalBlocks().size());
+		}
+		
+		if (whenAction.getConditionalBlocks().get(0).getContents().size() != 1 ||
+				whenAction.getConditionalBlocks().get(0).getContents().get(0) != act1) {
+			fail("First conditional block should have 1 activity = act1");
+		}
+		
+		if (whenAction.getConditionalBlocks().get(1).getContents().size() != 0) {
+			fail("Second conditional block should be empty");
+		}
+		
+		if (whenAction.getConditionalBlocks().get(2).getContents().size() != 1 ||
+				whenAction.getConditionalBlocks().get(2).getContents().get(0) != act3) {
+			fail("Third conditional block should have 1 activity = act3");
+		}
+	}
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		WhenAction action=new WhenAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		WhenAction action=new WhenAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhenActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhileActionTest.java (from rev 531, cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/WhileActionTest.java)
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhileActionTest.java	                        (rev 0)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhileActionTest.java	2009-03-15 16:13:48 UTC (rev 539)
@@ -0,0 +1,567 @@
+/*
+ * 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.runtime.jbossesb.model.actions.stateful;
+
+import org.scribble.conversation.model.*;
+import org.scribble.model.*;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.*;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.ESBActionTestUtil;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.TestActivity;
+import org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.WhileAction;
+
+import junit.framework.TestCase;
+
+public class WhileActionTest extends TestCase {
+
+	public void testValidatePathsSpecified() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		WhileAction action=new WhileAction(service, elem);
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_NOT_SPECIFIED_PROPERTY",
+							new String[]{"paths"}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateServiceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat1\" " +
+				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat1","name1"}));
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.Messages"),
+					"_NOT_FOUND_SERVICE_DESCRIPTOR",
+					new String[]{"cat2","name2"}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateOneWhilePath() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat1\" " +
+				"service-name=\"name1\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat3");
+		other2.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_DEFINE_SINGLE_WHILE_EXIT",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateOneWhileExit() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><exit service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_MUST_DEFINE_SINGLE_WHILE_PATH",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMissingServiceDetails1() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while " +
+				"service-name=\"name2\" /><exit service-category=\"cat3\" " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateMissingServiceDetails2() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat2\" " +
+				"service-name=\"name2\" /><exit " +
+				"service-name=\"name3\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_PATH_SERVICE_DETAILS_MISSING",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateOutOfOrderExit() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><exit service-category=\"cat1\" " +
+				"service-name=\"name1\" /><while service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBService other3=new TestESBService();
+		other3.setCategory("cat3");
+		other3.setName("name3");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(other3);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+							"_WHILE_PATH_AFTER_EXIT",
+							new String[]{}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateImmediateWhile() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat1\" " +
+				"service-name=\"name1\" immediate=\"fred\" /><exit service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_BOOLEAN",
+					new String[]{WhileAction.IMMEDIATE}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateImmediateExit() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat1\" " +
+				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
+				"service-name=\"name2\" immediate=\"fred\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+				java.util.PropertyResourceBundle.getBundle(
+				"org.jboss.tools.overlord.cdl.runtime.jbossesb.model.actions.stateful.Messages"),
+					"_BOOLEAN",
+					new String[]{WhileAction.IMMEDIATE}));
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testConvert() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat1\" " +
+				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestActivity act1=new TestActivity();
+		other1.getContents().add(act1);
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+				
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(null));
+		
+		if (activities.size() != 2) {
+			fail("Expecting two activities, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof While) == false) {
+			fail("Expecting an 'While' activity");
+		}
+		
+		While whileAction=(While)act;
+		
+		if (whileAction.getBlock().getContents().size() != 1) {
+			fail("Expecting one entry in while block: "+whileAction.getBlock().getContents().size());
+		}
+		
+		if (whileAction.getBlock().getContents().get(0) != act1) {
+			fail("While block should have 1 activity = act1");
+		}
+		
+		if (activities.get(1) != act2) {
+			fail("Activity following while should be act2");
+		}
+	}	
+
+	public void testConvertNotExcludingEmptyBody() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put("paths", "<property><while service-category=\"cat1\" " +
+				"service-name=\"name1\" /><exit service-category=\"cat2\" " +
+				"service-name=\"name2\" /></property>");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		
+		TestESBService other2=new TestESBService();
+		other2.setCategory("cat2");
+		other2.setName("name2");
+		
+		TestActivity act2=new TestActivity();
+		other2.getContents().add(act2);
+				
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(other2);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		WhileAction action=new WhileAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+
+		java.util.List<Activity> activities=new java.util.Vector<Activity>();
+		
+		action.convert(activities, new DefaultConversionContext(null));
+		
+		if (activities.size() != 2) {
+			fail("Expecting two activities, but got: "+activities.size());
+		}
+		
+		Activity act=activities.get(0);
+		
+		if ((act instanceof While) == false) {
+			fail("Expecting an 'While' activity");
+		}
+		
+		While whileAction=(While)act;
+		
+		if (whileAction.getBlock().getContents().size() != 0) {
+			fail("Expecting zero entries in while block: "+whileAction.getBlock().getContents().size());
+		}
+		
+		if (activities.get(1) != act2) {
+			fail("Activity following while should be act2");
+		}
+	}	
+	
+	public void testIsCreateSession() {
+		TestESBService service=new TestESBService();
+		
+		WhileAction action=new WhileAction(service, null);
+		
+		if (action.isSessionType() == true) {
+			fail("Action is flagged as a 'CreateSession'");
+		}
+	}
+	
+	public void testIsSessionBased() {
+		TestESBService service=new TestESBService();
+		
+		WhileAction action=new WhileAction(service, null);
+		
+		if (action.isSessionBased() == false) {
+			fail("Action is not flagged as a 'SessionBased'");
+		}
+	}
+}


Property changes on: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.runtime.jbossesb/src/test/org/jboss/tools/overlord/cdl/runtime/jbossesb/model/actions/stateful/WhileActionTest.java
___________________________________________________________________
Name: svn:mergeinfo
   + 




More information about the overlord-commits mailing list