[jboss-svn-commits] JBL Code SVN: r23369 - in labs/jbossesb/workspace/skeagh/runtime/src: test/java/org/jboss/esb and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 8 05:23:59 EDT 2008


Author: tfennelly
Date: 2008-10-08 05:23:59 -0400 (Wed, 08 Oct 2008)
New Revision: 23369

Added:
   labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/processors-smooks.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestTransformer.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/RoutingTest.java
Modified:
   labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml
   labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd-smooks.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/RoutingTest.java
Log:
More tests for inbound filters

Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml	2008-10-08 08:51:49 UTC (rev 23368)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -65,6 +65,7 @@
         <jb:wiring property="to" beanIdRef="toSN" />
         <jb:wiring property="replyTo" beanIdRef="replyToSN" />
         <jb:wiring property="faultTo" beanIdRef="faultToSN" />
+        <jb:wiring property="processors" beanIdRef="filter-processors" />
     </jb:bindings>
 
     <resource-config selector="evaluator">
@@ -73,6 +74,27 @@
     </resource-config>
 
     <!--
+        filter processors
+    -->
+
+    <jb:bindings beanId="filter-processors" class="java.util.ArrayList" createOnElement="filter/processors">
+        <jb:wiring beanIdRef="filter-processor" />
+    </jb:bindings>
+
+    <resource-config selector="filter/processors/processor">
+        <resource>org.jboss.esb.deploy.config.digest.CreateObject</resource>
+        <param name="beanId">filter-processor</param> <!-- Wired in above. -->
+        <param name="classAttrib">class</param>
+        <param name="expectedType">org.jboss.esb.message.MessageProcessor</param>
+    </resource-config>
+
+    <resource-config selector="filter/processors/processor/property">
+        <resource>org.jboss.esb.deploy.config.digest.SetProperty</resource>
+        <param name="beanId">filter-processor</param> <!-- Created above. -->
+        <param name="nameAttrib">name</param>
+    </resource-config>
+
+    <!--
         Filter "to" Service Name ("serviceName")...
     -->
     <resource-config selector="filter/to">

Modified: labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd-smooks.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd-smooks.xml	2008-10-08 08:51:49 UTC (rev 23368)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/jbossesb-5.0.xsd-smooks.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -4,6 +4,8 @@
                       default-selector-namespace="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
 
     <import file="resources-smooks.xml" />
+    <!-- TODO Centralize Processors from inrouters and outrouters -->
+    <!-- import file="processors-smooks.xml" / -->
     <import file="inrouters-smooks.xml" />
     <import file="outrouters-smooks.xml" />
     <import file="services-smooks.xml" />

Copied: labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/processors-smooks.xml (from rev 23352, labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/inrouters-smooks.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/processors-smooks.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/processors-smooks.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
+                      xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.1.xsd"
+                      default-selector-namespace="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+
+    <!--
+        Processors
+    -->
+
+    <jb:bindings beanId="processors" class="java.util.ArrayList" createOnElement="processors">
+        <jb:wiring beanIdRef="processor" />
+    </jb:bindings>
+
+    <resource-config selector="processors/processor">
+        <resource>org.jboss.esb.deploy.config.digest.CreateObject</resource>
+        <param name="beanId">processor</param> <!-- Wired in above. -->
+        <param name="classAttrib">class</param>
+        <param name="expectedType">org.jboss.esb.message.MessageProcessor</param>
+    </resource-config>
+
+    <resource-config selector="processors/processor/property">
+        <resource>org.jboss.esb.deploy.config.digest.SetProperty</resource>
+        <param name="beanId">processor</param> <!-- Created above. -->
+        <param name="nameAttrib">name</param>
+    </resource-config>
+
+</smooks-resource-list>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/main/resources/META-INF/jbossesb/xsd/processors-smooks.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:mergeinfo
   + 
Name: svn:eol-style
   + native

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java	2008-10-08 08:51:49 UTC (rev 23368)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -95,6 +95,8 @@
 
     public void throwException() throws ServiceException, RoutingException
     {
+        // MessageProcessingException
+
         if(throwException instanceof RuntimeException)
         {
             throw (RuntimeException) throwException;

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestTransformer.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestTransformer.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestTransformer.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb;
+
+import junit.framework.TestCase;
+import org.jboss.esb.annotations.Property;
+import org.jboss.esb.message.Message;
+import org.jboss.esb.message.MessageProcessingException;
+import org.jboss.esb.message.MessageProcessor;
+import org.jboss.esb.routing.RoutingException;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class TestTransformer extends ESBTestComponent implements MessageProcessor
+{
+
+    @Property(use = Property.Use.OPTIONAL)
+    private String setMessage;
+
+    @Property(use = Property.Use.OPTIONAL)
+    private String addToMessage;
+
+    public Message process(Message message) throws MessageProcessingException
+    {
+        sleep();
+        captureData(message);
+        try
+        {
+            throwException();
+        }
+        catch (RoutingException e)
+        {
+            TestCase.fail("Unexpected exception: " + e.getMessage());
+        }
+
+        if(setMessage != null) {
+            message.setPayload(setMessage);
+        } else if(addToMessage != null) {
+            message.setPayload(message.getPayload().toString() + addToMessage);
+        }
+
+        return message;
+    }
+}


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestTransformer.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/RoutingTest.java	2008-10-08 08:51:49 UTC (rev 23368)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -34,12 +34,8 @@
 public class RoutingTest extends TestCase
 {
 
-    /*
-     * The message should go:
-     *      [inrouter_ServiceA -> ServiceA -> outrouter_ServiceA] -|
-     *                                       [DeadLetterService] <-|
-     *
-     * RoutingException inside the outrouter... should route to the DLS.
+    /**
+     * Messages should be filtered.  v1 messages to Service:A, v2 messages to Service:B.
      */
     public void test() throws Exception
     {

Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/01-deployment.xml (from rev 23353, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/01-deployment.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/01-deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/01-deployment.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,29 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters>
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter" />
+
+            <filters>
+                <!-- Route all messages to Service:A -->
+                <filter inRouter="inrouter">
+                    <to serviceCategory="Service" serviceName="A" />
+                </filter>
+
+                <!-- Route all messages to Service:B -->
+                <filter inRouter="inrouter">
+                    <to serviceCategory="Service" serviceName="B" />
+                </filter>
+            </filters>
+
+        </inRouters>
+    </routing>
+
+    <services>
+
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+
+    </services>
+
+</jbossesb>
\ No newline at end of file

Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/RoutingTest.java (from rev 23353, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/RoutingTest.java)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_016/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_016;
+
+import junit.framework.TestCase;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.service.ServiceName;
+import org.jboss.esb.test.JmsTestRunner;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /**
+     * All messages to both Service:A and Service:B.
+     */
+    public void test() throws Exception
+    {
+        new JmsTestRunner() {
+            @Override
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+                deployment1.setDeploymentName("deployment1");
+                deployment1.setDeploymentId("deployment1-Id");
+                deployment1.deploy();
+                try
+                {
+                    TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter", deployment1).getRouter();
+                    TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
+                    TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment1).getService();
+
+                    inrouter.sendMessage("Hello");
+
+                    serviceA.waitForMessage(10000);
+                    serviceB.waitForMessage(10000);
+
+                    assertEquals("Hello", serviceA.getMessage());
+                    assertEquals("Hello", serviceB.getMessage());
+                }
+                finally
+                {
+                    deployment1.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file

Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/01-deployment.xml (from rev 23353, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/01-deployment.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/01-deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/01-deployment.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,51 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters>
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter">
+                <processors>
+                    <processor class="org.jboss.esb.TestTransformer">
+                        <property name="addToMessage">:added-by-inrouter-transformer</property>
+                    </processor>
+                </processors>
+            </inRouter>
+
+            <filters>
+                <!-- Route v1 message to Service:A -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "AAA:added-by-inrouter-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="A" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceA-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+
+                <!-- Route v2 message to Service:B -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "BBB:added-by-inrouter-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="B" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceB-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+            </filters>
+
+        </inRouters>
+    </routing>
+
+    <services>
+
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+
+    </services>
+
+</jbossesb>
\ No newline at end of file

Copied: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/RoutingTest.java (from rev 23353, labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_015/RoutingTest.java)
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_017/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_017;
+
+import junit.framework.TestCase;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.service.ServiceName;
+import org.jboss.esb.test.JmsTestRunner;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /**
+     * Messages should be filtered, with transformers at different stages.
+     */
+    public void test() throws Exception
+    {
+        new JmsTestRunner() {
+            @Override
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+                deployment1.setDeploymentName("deployment1");
+                deployment1.setDeploymentId("deployment1-Id");
+                deployment1.deploy();
+                try
+                {
+                    TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter", deployment1).getRouter();
+                    TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
+                    TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment1).getService();
+
+                    inrouter.sendMessage("AAA");
+                    inrouter.sendMessage("BBB");
+
+                    serviceA.waitForMessage(10000);
+                    serviceB.waitForMessage(10000);
+
+                    assertEquals("AAA:added-by-inrouter-transformer:added-by-serviceA-router", serviceA.getMessage());
+                    assertEquals("BBB:added-by-inrouter-transformer:added-by-serviceB-router", serviceB.getMessage());
+                }
+                finally
+                {
+                    deployment1.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/01-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/01-deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/01-deployment.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,45 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters>
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter" />
+
+            <filters>
+                <!-- Route v1 message to Service:A -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "AAA" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="A" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceA-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+
+                <!-- Route v2 message to Service:B -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "BBB" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="B" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceB-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+            </filters>
+
+        </inRouters>
+    </routing>
+
+    <services>
+
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+
+    </services>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/01-deployment.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_018;
+
+import junit.framework.TestCase;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.service.ServiceName;
+import org.jboss.esb.test.JmsTestRunner;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /**
+     * Messages should be filtered, with transformers at different stages.
+     */
+    public void test() throws Exception
+    {
+        new JmsTestRunner() {
+            @Override
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+                deployment1.setDeploymentName("deployment1");
+                deployment1.setDeploymentId("deployment1-Id");
+                deployment1.deploy();
+                try
+                {
+                    TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter", deployment1).getRouter();
+                    TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
+                    TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment1).getService();
+
+                    inrouter.sendMessage("AAA");
+                    inrouter.sendMessage("BBB");
+
+                    serviceA.waitForMessage(10000);
+                    serviceB.waitForMessage(10000);
+
+                    assertEquals("AAA:added-by-serviceA-router", serviceA.getMessage());
+                    assertEquals("BBB:added-by-serviceB-router", serviceB.getMessage());
+                }
+                finally
+                {
+                    deployment1.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_018/RoutingTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/01-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/01-deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/01-deployment.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,46 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters>
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter">
+                <processors>
+                    <processor class="org.jboss.esb.TestTransformer">
+                        <property name="addToMessage">:added-by-inrouter-transformer</property>
+                    </processor>
+                </processors>
+            </inRouter>
+
+            <filters>
+                <!-- Route v1 message to Service:A -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "AAA:added-by-inrouter-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="A" />
+                </filter>
+
+                <!-- Route v2 message to Service:B -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "BBB:added-by-inrouter-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="B" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceB-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+            </filters>
+
+        </inRouters>
+    </routing>
+
+    <services>
+
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+
+    </services>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/01-deployment.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_019;
+
+import junit.framework.TestCase;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.service.ServiceName;
+import org.jboss.esb.test.JmsTestRunner;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /**
+     * Messages should be filtered, with transformers at different stages.
+     */
+    public void test() throws Exception
+    {
+        new JmsTestRunner() {
+            @Override
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+                deployment1.setDeploymentName("deployment1");
+                deployment1.setDeploymentId("deployment1-Id");
+                deployment1.deploy();
+                try
+                {
+                    TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter", deployment1).getRouter();
+                    TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
+                    TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment1).getService();
+
+                    inrouter.sendMessage("AAA");
+                    inrouter.sendMessage("BBB");
+
+                    serviceA.waitForMessage(10000);
+                    serviceB.waitForMessage(10000);
+
+                    assertEquals("AAA:added-by-inrouter-transformer", serviceA.getMessage());
+                    assertEquals("BBB:added-by-inrouter-transformer:added-by-serviceB-router", serviceB.getMessage());
+                }
+                finally
+                {
+                    deployment1.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_019/RoutingTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/01-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/01-deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/01-deployment.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,46 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters>
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter">
+                <processors>
+                    <processor class="org.jboss.esb.TestTransformer">
+                        <property name="addToMessage">:added-by-inrouter-transformer</property>
+                    </processor>
+                </processors>
+            </inRouter>
+
+            <filters>
+                <!-- Route v1 message to Service:A -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "AAA:added-by-inrouter-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="A" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceA-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+
+                <!-- Route v2 message to Service:B -->
+                <filter inRouter="inrouter">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "BBB:added-by-inrouter-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="B" />
+                </filter>
+            </filters>
+
+        </inRouters>
+    </routing>
+
+    <services>
+
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+
+    </services>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/01-deployment.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,74 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_020;
+
+import junit.framework.TestCase;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.service.ServiceName;
+import org.jboss.esb.test.JmsTestRunner;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /**
+     * Messages should be filtered, with transformers at different stages.
+     */
+    public void test() throws Exception
+    {
+        new JmsTestRunner() {
+            @Override
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+                deployment1.setDeploymentName("deployment1");
+                deployment1.setDeploymentId("deployment1-Id");
+                deployment1.deploy();
+                try
+                {
+                    TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter", deployment1).getRouter();
+                    TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
+                    TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment1).getService();
+
+                    inrouter.sendMessage("AAA");
+                    inrouter.sendMessage("BBB");
+
+                    serviceA.waitForMessage(10000);
+                    serviceB.waitForMessage(10000);
+
+                    assertEquals("AAA:added-by-inrouter-transformer:added-by-serviceA-router", serviceA.getMessage());
+                    assertEquals("BBB:added-by-inrouter-transformer", serviceB.getMessage());
+                }
+                finally
+                {
+                    deployment1.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_020/RoutingTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/01-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/01-deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/01-deployment.xml	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,82 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters>
+            <inRouter name="inrouter1" class="org.jboss.esb.TestInboundRouter">
+                <processors>
+                    <processor class="org.jboss.esb.TestTransformer">
+                        <property name="addToMessage">:added-by-inrouter1-transformer</property>
+                    </processor>
+                </processors>
+            </inRouter>
+            <inRouter name="inrouter2" class="org.jboss.esb.TestInboundRouter">
+                <processors>
+                    <processor class="org.jboss.esb.TestTransformer">
+                        <property name="addToMessage">:added-by-inrouter2-transformer</property>
+                    </processor>
+                </processors>
+            </inRouter>
+
+            <filters>
+                <filter inRouter="inrouter1">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "AAA:added-by-inrouter1-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="A" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceA-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+
+                <filter inRouter="inrouter1">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "BBB:added-by-inrouter1-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="B" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceB-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+
+                <filter inRouter="inrouter2">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "AAA:added-by-inrouter2-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="C" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceC-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+
+                <filter inRouter="inrouter2">
+                    <evaluator class="org.jboss.esb.filter.MVELEvaluator">
+                        <property name="expression"><!-- message.payload == "BBB:added-by-inrouter2-transformer" --></property>
+                    </evaluator>
+                    <to serviceCategory="Service" serviceName="D" />
+                    <processors>
+                        <processor class="org.jboss.esb.TestTransformer">
+                            <property name="addToMessage">:added-by-serviceD-router</property>
+                        </processor>
+                    </processors>
+                </filter>
+            </filters>
+
+        </inRouters>
+    </routing>
+
+    <services>
+
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="C" serviceDescription="C Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="D" serviceDescription="D Service" class="org.jboss.esb.TestService" />
+
+    </services>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/01-deployment.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/RoutingTest.java	2008-10-08 09:23:59 UTC (rev 23369)
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb.routing.scenario_021;
+
+import junit.framework.TestCase;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.service.ServiceName;
+import org.jboss.esb.test.JmsTestRunner;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /**
+     * Messages should be filtered, with transformers at different stages.
+     */
+    public void test() throws Exception
+    {
+        new JmsTestRunner() {
+            @Override
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                ServiceName serviceNameC = new ServiceName("Service", "C");
+                ServiceName serviceNameD = new ServiceName("Service", "D");
+                DeploymentRuntime deployment1 = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-deployment.xml"));
+
+                deployment1.setDeploymentName("deployment1");
+                deployment1.setDeploymentId("deployment1-Id");
+                deployment1.deploy();
+                try
+                {
+                    TestInboundRouter inrouter1 = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter1", deployment1).getRouter();
+                    TestInboundRouter inrouter2 = (TestInboundRouter) DeploymentUtil.getInboundRouter("inrouter2", deployment1).getRouter();
+                    TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, deployment1).getService();
+                    TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, deployment1).getService();
+                    TestService serviceC = (TestService) DeploymentUtil.getService(serviceNameC, deployment1).getService();
+                    TestService serviceD = (TestService) DeploymentUtil.getService(serviceNameD, deployment1).getService();
+
+                    inrouter1.sendMessage("AAA");
+                    inrouter1.sendMessage("BBB");
+                    inrouter2.sendMessage("AAA");
+                    inrouter2.sendMessage("BBB");
+
+                    serviceA.waitForMessage(10000);
+                    serviceB.waitForMessage(10000);
+                    serviceC.waitForMessage(10000);
+                    serviceD.waitForMessage(10000);
+
+                    assertEquals("AAA:added-by-inrouter1-transformer:added-by-serviceA-router", serviceA.getMessage());
+                    assertEquals("BBB:added-by-inrouter1-transformer:added-by-serviceB-router", serviceB.getMessage());
+                    assertEquals("AAA:added-by-inrouter2-transformer:added-by-serviceC-router", serviceC.getMessage());
+                    assertEquals("BBB:added-by-inrouter2-transformer:added-by-serviceD-router", serviceD.getMessage());
+                }
+                finally
+                {
+                    deployment1.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_021/RoutingTest.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list