[jboss-svn-commits] JBL Code SVN: r29512 - in labs/jbossesb/trunk/product/rosetta/tests: src/org/jboss/internal/soa/esb/webservice and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 30 05:47:23 EDT 2009


Author: kevin.conner at jboss.com
Date: 2009-09-30 05:47:22 -0400 (Wed, 30 Sep 2009)
New Revision: 29512

Added:
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/Generator120ModelUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.120.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_esbaware.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_gateways.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapperUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperJCAActivationUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapperUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_escaping.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_jms_jca.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_readonly.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_security.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_01.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_02.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_03.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_04.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_05.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_06.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_07.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_08.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_09.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_10.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/jboss-esb.120.xml
Modified:
   labs/jbossesb/trunk/product/rosetta/tests/build.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java
Log:
Add tests for schema 1.2.0: JBESB-2851

Modified: labs/jbossesb/trunk/product/rosetta/tests/build.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/build.xml	2009-09-30 09:44:26 UTC (rev 29511)
+++ labs/jbossesb/trunk/product/rosetta/tests/build.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -20,6 +20,7 @@
 	<property name="gendir" location="${org.jboss.esb.internal.dest}/schema-model" />
 	<property name="model101.classes" location="${gendir}/classes" />
 	<property name="model110.classes" location="${gendir}/classes110" />
+	<property name="model120.classes" location="${gendir}/classes120" />
 	
 	<property name="org.jboss.esb.test.persistdb.dir" location="${org.jboss.esb.internal.dest}/testdb"/>
 
@@ -37,6 +38,7 @@
 		<pathelement location="${org.jboss.esb.module.classes.root.dir}/rosetta"/>
 		<pathelement location="${model101.classes}"/>
 		<pathelement location="${model110.classes}"/>
+		<pathelement location="${model120.classes}"/>
         <pathelement location="${org.jboss.esb.module.classes.dir}"/>
     	<pathelement location="${org.jboss.esb.root.dir}/rosetta/tests/resources/etc"/>
 		<pathelement location="${org.jboss.esb.module.tests.conf.dir}"/>

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java	2009-09-30 09:44:26 UTC (rev 29511)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/ESBContractGeneratorUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -51,6 +51,10 @@
         executeTest("jbossesb_config_06.110.xml") ;
     }
     
+    public void testRequestResponseFault120() throws Exception {
+        executeTest("jbossesb_config_06.120.xml") ;
+    }
+    
     public void testRequestResponse() throws Exception {
         executeTest("jbossesb_config_07.xml") ;
     }
@@ -59,6 +63,10 @@
         executeTest("jbossesb_config_07.110.xml") ;
     }
     
+    public void testRequestResponse120() throws Exception {
+        executeTest("jbossesb_config_07.120.xml") ;
+    }
+    
     public void testRequest() throws Exception {
         executeTest("jbossesb_config_08.xml") ;
     }
@@ -67,6 +75,10 @@
         executeTest("jbossesb_config_08.110.xml") ;
     }
     
+    public void testRequest120() throws Exception {
+        executeTest("jbossesb_config_08.120.xml") ;
+    }
+    
     public void testDuplicateSchemas() throws Exception {
         Definition def = executeTest("jbossesb_duplicate_schemas.xml") ;
         Types types = def.getTypes();
@@ -77,12 +89,20 @@
         assertEquals(2, types.getExtensibilityElements().size());
     }
     
-    @SuppressWarnings("unchecked")
     public void testWSAExtensions110() throws Exception {
+        executeWSAExtensionsTest("jbossesb_config_09.110.xml") ;
+    }
+
+    public void testWSAExtensions120() throws Exception {
+        executeWSAExtensionsTest("jbossesb_config_09.120.xml") ;
+    }
+
+    //@SuppressWarnings("unchecked")
+    private void executeWSAExtensionsTest(final String resourceName) throws Exception {
         final String targetNamespace = "http://soa.jboss.org/FirstServiceESB" ;
         final String wsawNamespace = "http://www.w3.org/2006/05/addressing/wsdl" ;
         
-        final Definition def = executeTest("jbossesb_config_09.110.xml") ;
+        final Definition def = executeTest(resourceName) ;
         assertNotNull("Definition", def) ;
         
         final QName portName = new QName(targetNamespace, "SimpleListenerPortType") ;

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,18 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+	<services>
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World" invmScope="GLOBAL">
+			<actions 
+				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd"
+				outXsd="/org/jboss/internal/soa/esb/webservice/response.xsd"
+				faultXsd="/org/jboss/internal/soa/esb/webservice/fault.xsd">
+				<action name="action2"
+					class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="printfull" value="true" />
+				</action>
+			</actions>
+		</service>
+	</services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_06.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,17 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+	<services>
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World" invmScope="GLOBAL">
+			<actions 
+				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd"
+				outXsd="/org/jboss/internal/soa/esb/webservice/response.xsd">
+				<action name="action2"
+					class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="printfull" value="true" />
+				</action>
+			</actions>
+		</service>
+	</services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_07.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,16 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+	<services>
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World" invmScope="GLOBAL">
+			<actions 
+				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd">
+				<action name="action2"
+					class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="printfull" value="true" />
+				</action>
+			</actions>
+		</service>
+	</services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_08.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,19 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+	xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+	<services>
+		<service category="FirstServiceESB" name="SimpleListener"
+			description="Hello World" invmScope="GLOBAL">
+			<actions
+				inXsd="/org/jboss/internal/soa/esb/webservice/request.xsd"
+				outXsd="/org/jboss/internal/soa/esb/webservice/response.xsd"
+				faultXsd="/org/jboss/internal/soa/esb/webservice/fault.xsd"
+				addressing="true">
+				<action name="action2"
+					class="org.jboss.soa.esb.actions.SystemPrintln">
+					<property name="printfull" value="true" />
+				</action>
+			</actions>
+		</service>
+	</services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/internal/soa/esb/webservice/jbossesb_config_09.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java	2009-09-30 09:44:26 UTC (rev 29511)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ConfigurationControlerUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -44,47 +44,29 @@
 	@Test
 	public void readAndGenerateConfig() throws Exception
 	{
-		String configFileName = TestEnvironmentUtil.getUserDir("product") 
-			+ "rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml";
-		//Make sure this file exists
-		File configFile = new File(configFileName);
-        assertTrue("File '" + configFile + "' doesn't exist.", configFile.exists());
-		//Remove the listener and gateway configuration files if they exist
-		File currentDir = configFile.getParentFile();
-		if (null==currentDir)
-			currentDir=new File("");
-		File listenerFile = new File(currentDir + File.separator + "jbossesb-listener.xml");
-		if (listenerFile.exists()) {
-			listenerFile.delete();
-		}
-		File gatewayFile = new File(currentDir + File.separator + "jbossesb-gateway.xml");
-		if (gatewayFile.exists()) {
-			gatewayFile.delete();
-		}
-		String validationFileName = TestEnvironmentUtil.getUserDir("product") 
-			+ "etc/schemas/xml/jbossesb-1.0.1.xsd";
-//		Make sure this file exists
-		File validationFile = new File(validationFileName);
-        assertTrue("File '" + validationFile + "' doesn't exist.", validationFile.exists());
-
-		ConfigurationController controller = new ConfigurationController(configFileName, validationFileName);
-		for (int i=0; i<currentDir.listFiles().length;i++){
-			logger.info(currentDir.listFiles()[i].getName());
-		}
-
-        assertTrue("file=" + listenerFile.getAbsolutePath() + " does not exist, while it should have.  Actually exists in " + controller.getListenerConfigFile(), listenerFile.exists());
-        listenerFile.delete();
-
-        assertTrue("file=" + gatewayFile.getAbsolutePath() + " does not exist, while it should have.  Actually exists in " + controller.getGatewayConfigFile(), gatewayFile.exists());
-        gatewayFile.delete();
+		executeTest("rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml",
+			"etc/schemas/xml/jbossesb-1.0.1.xsd");
 	}
 	
     
     @Test
     public void readAndGenerateConfig110() throws Exception
     {
-        String configFileName = TestEnvironmentUtil.getUserDir("product") 
-            + "rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.110.xml";
+        executeTest("rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.110.xml",
+            "etc/schemas/xml/jbossesb-1.1.0.xsd");
+    }
+    
+    @Test
+    public void readAndGenerateConfig120() throws Exception
+    {
+        executeTest("rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.120.xml",
+            "etc/schemas/xml/jbossesb-1.2.0.xsd");
+    }
+
+    private void executeTest(final String config, final String schema)
+        throws Exception
+    {
+        String configFileName = TestEnvironmentUtil.getUserDir("product") + config;
         //Make sure this file exists
         File configFile = new File(configFileName);
         assertTrue("File '" + configFile + "' doesn't exist.", configFile.exists());
@@ -100,8 +82,7 @@
         if (gatewayFile.exists()) {
             gatewayFile.delete();
         }
-        String validationFileName = TestEnvironmentUtil.getUserDir("product") 
-            + "etc/schemas/xml/jbossesb-1.1.0.xsd";
+        String validationFileName = TestEnvironmentUtil.getUserDir("product") + schema;
 //      Make sure this file exists
         File validationFile = new File(validationFileName);
         assertTrue("File '" + validationFile + "' doesn't exist.", validationFile.exists());

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/Generator120ModelUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/Generator120ModelUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/Generator120ModelUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,98 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., 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-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.soa.esb.listeners.config;
+
+import junit.framework.TestCase;
+import org.jboss.soa.esb.listeners.config.mappers120.XMLBeansModel;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.DualListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsProviderType;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Factory;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsBusDocument.JmsBus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsMessageFilterDocument.JmsMessageFilter;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.List;
+
+/**
+ * Model specific unit tests extracted from GeneratorUnitTest.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class Generator120ModelUnitTest extends TestCase {
+
+	public void test_model() throws Exception {
+		final InputStream is = getClass().getResourceAsStream("jbossesb_config_01.120.xml");
+		final Reader reader = new InputStreamReader(is) ;
+		XMLBeansModel model = new XMLBeansModel(Factory.parse(reader).getJbossesb());
+
+		JmsBus bus = (JmsBus)model.getBus("server1-jms");
+		JmsProviderType provider = (JmsProviderType) model.getProvider(bus);
+		assertEquals("server1-jms", bus.getBusid());
+		assertEquals("com.xyz.provider.XYZConnectionFactory", provider.getConnectionFactory());
+		assertEquals("com.xyz.provider.NamingContextFactory", provider.getJndiContextFactory());
+		assertEquals("xyz://server1:9876", provider.getJndiURL());
+		assertEquals("com.xyz", provider.getJndiPkgPrefix());
+		JmsMessageFilter busDestination = bus.getJmsMessageFilter();
+		assertEquals("queue/A", busDestination.getDestName());
+		assertEquals(JmsMessageFilter.DestType.QUEUE, busDestination.getDestType());
+		assertEquals("service='Reconciliation'", busDestination.getSelector());
+
+		List<Listener> gateways = model.getGatewayListeners();
+		assertEquals(2, gateways.size());
+		JmsListener gatewayListener = (JmsListener)gateways.get(0);
+		assertEquals("Bank-JMS-Gateway", gatewayListener.getName());
+		assertEquals("server1-jms", gatewayListener.getBusidref());
+		assertTrue(gatewayListener.getIsGateway());
+		assertEquals(1, gatewayListener.getMaxThreads());
+
+		List<Listener> awareListeners = model.getESBAwareListeners();
+		assertEquals(4, awareListeners.size());
+		JmsListener awareListener = (JmsListener)awareListeners.get(0);
+		assertEquals("Bank-Listener", awareListener.getName());
+		assertEquals("local-jms", awareListener.getBusidref());
+		assertTrue(!awareListener.getIsGateway());
+		assertEquals(2, awareListener.getMaxThreads());
+		JmsMessageFilter listenerDestination = awareListener.getJmsMessageFilter();
+		assertEquals("queue/B", listenerDestination.getDestName());
+		assertEquals(JmsMessageFilter.DestType.TOPIC, listenerDestination.getDestType());
+		assertEquals("service='Reconciliation'", listenerDestination.getSelector());
+
+		Listener untypedAwareListener = awareListeners.get(1);
+		assertEquals("Bank-Listener-Generic", untypedAwareListener.getName());
+		assertEquals("my-generic-bus", untypedAwareListener.getBusidref());
+		assertTrue("Type is Dual Listener", untypedAwareListener instanceof DualListener);
+		final DualListener dualListener = (DualListener)untypedAwareListener;
+		assertTrue(!dualListener.getIsGateway());
+
+		Service gatewayService = model.getService(gatewayListener);
+		Service awareService = model.getService(awareListener);
+		assertSame(gatewayService, awareService);
+		assertEquals("Bank", awareService.getCategory());
+		assertEquals("Reconciliation", awareService.getName());
+		assertEquals("Bank Reconciliation Service", awareService.getDescription());
+	}
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/Generator120ModelUnitTest.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2009-09-30 09:44:26 UTC (rev 29511)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -24,8 +24,8 @@
 import junit.framework.TestCase;
 import org.apache.log4j.Logger;
 import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.internal.soa.esb.util.XMLHelper;
 import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.common.Environment;
 import org.jboss.soa.esb.testutils.FileUtil;
 
 import java.io.File;
@@ -62,27 +62,42 @@
         test_generate_badargs(new File("build.xml"), "'outdir' exists, but is not a directory", "jbossesb_config_01.110.xml");
     }
 
-	public void test_generate_files() throws ConfigurationException, IOException {
+    public void test_generate_badargs_120() throws ConfigurationException, IOException {
+        test_generate_badargs(null, "null 'outdir' arg in method call", "jbossesb_config_01.120.xml");
+        test_generate_badargs(new File("build.xml"), "'outdir' exists, but is not a directory", "jbossesb_config_01.120.xml");
+    }
+
+	public void test_generate_files() throws Exception {
         System.setProperty("jboss.esb.invm.scope.default", "NONE");
-		test_generate_files("jbossesb_config_01.xml");
-		test_generate_files("jbossesb_config_02.xml");
+		execute_test_generate_files("jbossesb_config_01.xml");
+		execute_test_generate_files("jbossesb_config_02.xml");
 	}
 
-    public void test_generate_files110() throws ConfigurationException, IOException {
+    public void test_generate_files110() throws Exception {
         System.setProperty("jboss.esb.invm.scope.default", "NONE");
-        test_generate_files110("jbossesb_config_01.110.xml");
-        test_generate_files110("jbossesb_config_02.110.xml");
+        execute_test_generate_files110("jbossesb_config_01.110.xml");
+        execute_test_generate_files110("jbossesb_config_02.110.xml");
     }
+
+    public void test_generate_files120() throws Exception {
+        System.setProperty("jboss.esb.invm.scope.default", "NONE");
+        execute_test_generate_files120("jbossesb_config_01.120.xml");
+        execute_test_generate_files120("jbossesb_config_02.120.xml");
+    }
     
-	public void test_generate_files(String filename) throws ConfigurationException, IOException {
-	    test_generate_files(filename, "jbossesb_config_01_gateways.xml", "jbossesb_config_01_esbaware.xml");
+	private void execute_test_generate_files(String filename) throws Exception {
+	    execute_test_generate_files(filename, "jbossesb_config_01_gateways.xml", "jbossesb_config_01_esbaware.xml");
 	}
 	
-	public void test_generate_files110(String filename) throws ConfigurationException, IOException {
-	    test_generate_files(filename, "jbossesb_config_110_gateways.xml", "jbossesb_config_110_esbaware.xml");
+	private void execute_test_generate_files110(String filename) throws Exception {
+	    execute_test_generate_files(filename, "jbossesb_config_110_gateways.xml", "jbossesb_config_110_esbaware.xml");
 	}
+	
+	private void execute_test_generate_files120(String filename) throws Exception {
+	    execute_test_generate_files(filename, "jbossesb_config_120_gateways.xml", "jbossesb_config_120_esbaware.xml");
+	}
 
-	public void test_generate_files(String filename, String esbGatewayConfig, String esbAwareConfig) throws ConfigurationException, IOException {
+	private void execute_test_generate_files(String filename, String esbGatewayConfig, String esbAwareConfig) throws Exception {
 		Generator generator = new Generator(getClass().getResourceAsStream(filename));
 		String expectedGatewayConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream(esbGatewayConfig))).trim();
 		String expectedESBAwareConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream(esbAwareConfig))).trim();
@@ -99,7 +114,7 @@
 		actualGatewayConfig = FileUtil.readTextFile(gatewayConfig);
 		log.debug("actual  [" + removeEOL(actualGatewayConfig) + "]");
         log.debug("expected[" + expectedGatewayConfig + "]");
-		assertEquals(expectedGatewayConfig, removeEOL(actualGatewayConfig));
+		assertTrue("Gateway Configuration", XMLHelper.compareXMLContent(expectedGatewayConfig, actualGatewayConfig));
 
 		awareConfig = new File(outdir, Generator.ESB_CONFIG_XML_FILE);
 		assertTrue(awareConfig.exists());
@@ -108,7 +123,7 @@
 		actualESBAwareConfig = removeEOL(actualESBAwareConfig);
 		boolean isIndentical = expectedESBAwareConfig.equals(actualESBAwareConfig);
 		log.debug("Strings identical=" + isIndentical);
-        assertEquals(expectedESBAwareConfig, actualESBAwareConfig);
+		assertTrue("ESBAware Configuration", XMLHelper.compareXMLContent(expectedESBAwareConfig, actualESBAwareConfig));
 	}
 	
 
@@ -138,6 +153,19 @@
         }
     }
 
+    public void test_bad_base_listener_busref_120() throws ConfigurationException, IOException {
+        Generator generator = new Generator(getClass().getResourceAsStream("jbossesb_config_03.120.xml"));
+
+        try {
+            generator.generate(outdir);
+            fail("Expected ConfigurationException");
+        } catch(ConfigurationException e) {
+            if(!e.getMessage().equals("The base Listener config [JMS-ESBListener] must reference a base Bus config type (<bus>).")) {
+                fail("Wrong exception");
+            }
+        }
+    }
+
 	public static String removeEOL(String string) {
 		StringBuffer stringBuf = new StringBuffer(string.length());
 

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java	2009-09-30 09:44:26 UTC (rev 29511)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -18,77 +18,25 @@
 public class ServicePublisherUnitTest extends TestCase {
 
     public void test_101() throws ConfigurationException, IOException {
-        Generator generator;
-        ManagedLifecycleController controller1 = new ManagedLifecycleController(null);
-        ManagedLifecycleController controller2 = new ManagedLifecycleController(null);
+        executeTest("jbossesb_config_04.xml", "jbossesb_config_05.xml");
+    }
 
-        assertEquals("Service count", 0, ServicePublisher.getServices().size());
-        
-        generator = new Generator(getClass().getResourceAsStream("jbossesb_config_04.xml"));
-        ServicePublisher.addServicePublishers(controller1, generator.getModel().getServicePublishers());
-        List<ServicePublisher> publishers = ServicePublisher.getServicePublishers();
-        assertEquals(2, publishers.size());
-        assertEquals("A1", publishers.get(0).getCategory() + publishers.get(0).getServiceName());
-        assertEquals(null, publishers.get(0).getContractPublisher());
-        assertEquals("B2", publishers.get(1).getCategory() + publishers.get(1).getServiceName());
-        assertEquals(null, publishers.get(1).getContractPublisher());
+    public void test_110() throws ConfigurationException, IOException {
+        executeTest("jbossesb_config_04.110.xml", "jbossesb_config_05.110.xml");
+    }
 
-        assertEquals("Service count", 2, ServicePublisher.getServices().size());
-        
-        generator = new Generator(getClass().getResourceAsStream("jbossesb_config_05.xml"));
-        ServicePublisher.addServicePublishers(controller2, generator.getModel().getServicePublishers());
-        publishers = ServicePublisher.getServicePublishers();
-        assertEquals(4, publishers.size());
-        assertEquals("A1", publishers.get(0).getCategory() + publishers.get(0).getServiceName());
-        assertEquals(null, publishers.get(0).getContractPublisher());
-        assertEquals("B2", publishers.get(1).getCategory() + publishers.get(1).getServiceName());
-        assertEquals(null, publishers.get(1).getContractPublisher());
-        assertEquals("C3", publishers.get(2).getCategory() + publishers.get(2).getServiceName());
-        assertEquals(null, publishers.get(2).getContractPublisher());
-        assertEquals("D4", publishers.get(3).getCategory() + publishers.get(3).getServiceName());
-        assertTrue(publishers.get(3).getContractPublisher() instanceof MockContractPublisher);
-        
-        assertEquals("A1", 1, ServicePublisher.getServicePublishers(new Service("A", "1")).size()) ;
-        assertEquals("B2", 1, ServicePublisher.getServicePublishers(new Service("B", "2")).size()) ;
-        assertEquals("C3", 1, ServicePublisher.getServicePublishers(new Service("C", "3")).size()) ;
-        assertEquals("D4", 1, ServicePublisher.getServicePublishers(new Service("D", "4")).size()) ;
-        
-        assertEquals("Service count", 4, ServicePublisher.getServices().size());
-
-        final ESBServiceContractPublisher publisher = new ESBServiceContractPublisher(new Service("C", "3"), "test", "endpoint") ;
-        ServicePublisher.addContractReferencePublishers(controller2, Arrays.asList(publisher)) ;
-        assertEquals("C3", 2, ServicePublisher.getServicePublishers(new Service("C", "3")).size()) ;
-        
-        assertEquals("Service count", 4, ServicePublisher.getServices().size());
-        
-        ServicePublisher.removeServicePublishers(controller1);
-        publishers = ServicePublisher.getServicePublishers();
-        assertEquals(3, publishers.size());
-        assertEquals("C3", publishers.get(0).getCategory() + publishers.get(0).getServiceName());
-        assertEquals(null, publishers.get(0).getContractPublisher());
-        assertEquals("C3", publishers.get(1).getCategory() + publishers.get(1).getServiceName());
-        assertTrue("ContractReferencePublisher", publishers.get(1).getPublisher() instanceof ContractReferencePublisher);
-        assertEquals("D4", publishers.get(2).getCategory() + publishers.get(2).getServiceName());
-        assertTrue(publishers.get(2).getContractPublisher() instanceof MockContractPublisher);
-        
-        assertEquals("Service count", 2, ServicePublisher.getServices().size());
-        
-        assertEquals("A1", 0, ServicePublisher.getServicePublishers(new Service("A", "1")).size()) ;
-        assertEquals("B2", 0, ServicePublisher.getServicePublishers(new Service("B", "2")).size()) ;
-        assertEquals("C3", 2, ServicePublisher.getServicePublishers(new Service("C", "3")).size()) ;
-        assertEquals("D4", 1, ServicePublisher.getServicePublishers(new Service("D", "4")).size()) ;
-        
-        ServicePublisher.removeServicePublishers(controller2) ;
+    public void test_120() throws ConfigurationException, IOException {
+        executeTest("jbossesb_config_04.120.xml", "jbossesb_config_05.120.xml");
     }
 
-    public void test_110() throws ConfigurationException, IOException {
+    private void executeTest(final String resource1, final String resource2) throws ConfigurationException, IOException {
         Generator generator;
         ManagedLifecycleController controller1 = new ManagedLifecycleController(null);
         ManagedLifecycleController controller2 = new ManagedLifecycleController(null);
 
         assertEquals("Service count", 0, ServicePublisher.getServices().size());
         
-        generator = new Generator(getClass().getResourceAsStream("jbossesb_config_04.110.xml"));
+        generator = new Generator(getClass().getResourceAsStream(resource1));
         ServicePublisher.addServicePublishers(controller1, generator.getModel().getServicePublishers());
         List<ServicePublisher> publishers = ServicePublisher.getServicePublishers();
         assertEquals(2, publishers.size());
@@ -99,7 +47,7 @@
 
         assertEquals("Service count", 2, ServicePublisher.getServices().size());
         
-        generator = new Generator(getClass().getResourceAsStream("jbossesb_config_05.110.xml"));
+        generator = new Generator(getClass().getResourceAsStream(resource2));
         ServicePublisher.addServicePublishers(controller2, generator.getModel().getServicePublishers());
         publishers = ServicePublisher.getServicePublishers();
         assertEquals(4, publishers.size());

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,113 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+		<jms-provider name="JBossMQ" connection-factory="ConnectionFactory" jndi-URL="jnp://localhost:1099">
+			<jms-bus busid="local-jms" />
+		</jms-provider>
+		
+		<jms-provider name="JBossMessaging" connection-factory="com.xyz.provider.XYZConnectionFactory" 
+					jndi-context-factory="com.xyz.provider.NamingContextFactory"
+					jndi-URL="xyz://server1:9876" 
+					jndi-pkg-prefix="com.xyz">
+			<jms-bus busid="server1-jms">
+				<jms-message-filter dest-type="QUEUE" dest-name="queue/A" selector="service='Reconciliation'" />
+			</jms-bus>
+		</jms-provider>
+		
+		<ftp-provider name="FTP" hostname="localhost:21">
+			<ftp-bus busid="Ftp-ServerTest">
+				<ftp-message-filter directory="/Temp" input-suffix=".txt" username="joe" password="secret" post-rename="true"/>
+			</ftp-bus>
+		</ftp-provider>
+		
+		<sql-provider name="HSQLDB" url="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" username="joe" password="secret">
+			<sql-bus busid="SQL-Test">
+				<sql-message-filter tablename="testtable" message-id-column="message_id" message-column="message" status-column="status" insert-timestamp-column="insert_timestamp"/>
+			</sql-bus>
+		</sql-provider>
+
+        <jbr-provider name="JBR" host="192.168.1.111" protocol="http">
+            <jbr-bus busid="HTTP-1" port="8765" />
+            <jbr-bus busid="HTTP-2" port="8766" />
+        </jbr-provider>
+
+        <bus-provider name="JBossAS">
+			<property name="my-generic-provider" value="my-generic-provider#someattribvalue" />
+			
+			<bus busid="my-generic-bus">
+				<property name="my-generic-bus" value="my-generic-bus#someattribvalue" />
+			</bus>
+		</bus-provider>
+
+       
+
+    </providers>
+	<services>    
+		<service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
+		
+			<listeners>  
+				<jms-listener name="Bank-JMS-Gateway"
+					busidref="server1-jms"
+					maxThreads="1"
+					is-gateway="true"/>  	    
+                <jbr-listener name="Bank-HTTP-Gateway"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+				<jms-listener name="Bank-Listener"
+							busidref="local-jms"
+							maxThreads="2">
+					<jms-message-filter dest-type="TOPIC" dest-name="queue/B" selector="service='Reconciliation'" />
+				</jms-listener>
+				<listener name="Bank-Listener-Generic" 
+							busidref="my-generic-bus"
+							maxThreads="2">
+					<property name="my-generic-listener" value="my-generic-listener#someattribvalue" />
+				</listener>
+			</listeners>    	
+			  
+			<actions>    	    
+				<action name="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter">
+					<property name="propName" value="propValue" />
+					<property name="propName">
+						This is some complex..
+						<!-- property -->
+						value.
+						<xxxx>
+							boooo
+							<yyyy/>
+						</xxxx>
+						<![CDATA[ Some CDATA data...]]>
+					</property>
+				</action>
+			</actions>
+			
+		</service>
+		<service category="Test2" name="FTPTest" description="FTP server Test">
+		
+			<listeners>    	    
+				<ftp-listener name="test-ftp-listener"
+							busidref="Ftp-ServerTest"
+							maxThreads="1"/>
+			</listeners>
+			<actions mep="OneWay">    	    
+				<action name="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+		<service category="Test3" name="SQLTest" description="SQL server Test">
+		
+			<listeners>    	    
+				<sql-listener name="test-sql-listener"
+							busidref="SQL-Test"
+							maxThreads="1"/>
+			</listeners>
+			<actions mep="RequestResponse">    	    
+				<action name="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+	</services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,164 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+		<bus-provider name="JBossMQ">
+			<property name="connection-factory" value="ConnectionFactory" />
+			<property name="jndi-URL" value="jnp://localhost:1099" />
+			<property name="protocol" value="jms" />
+			
+			<bus busid="local-jms">
+				<property name="destination-type" value="topic" />
+				<property name="destination-name" value="queue/B" />
+				<property name="message-selector" value="service='Reconciliation'"/>
+				<property name="persistent" value="true" />
+				<property name="acknowledge-mode" value="AUTO_ACKNOWLEDGE" />
+				<property name="transacted" value="false" />
+			</bus>
+		</bus-provider>
+		
+		<bus-provider name="JBossMessaging">
+			<property name="connection-factory" value="com.xyz.provider.XYZConnectionFactory" />
+			<property name="jndi-context-factory" value="com.xyz.provider.NamingContextFactory" />
+			<property name="jndi-URL" value="xyz://server1:9876" />
+			<property name="jndi-pkg-prefix" value="com.xyz" />
+			<property name="protocol" value="jms" />
+
+			<bus busid="server1-jms">
+				<property name="destination-type" value="queue" />
+				<property name="destination-name" value="queue/A" />
+				<property name="message-selector" value="service='Reconciliation'" />
+				<property name="persistent" value="true" />
+				<property name="acknowledge-mode" value="AUTO_ACKNOWLEDGE" />
+				<property name="transacted" value="false" />
+			</bus>
+		</bus-provider>
+		
+		<bus-provider name="FTP">
+			<property name="URL" value="ftp://joe:secret@localhost:21/Temp" />
+
+			<bus busid="Ftp-ServerTest">
+				<property name="inputSuffix" value=".txt" />
+				<property name="errorDelete" value="true" />
+				<property name="postDelete" value="true" />
+				<property name="postRename" value="true" />
+				<property name="passive" value="false" />
+				<property name="workSuffix" value=".esbInProcess" />
+			</bus>
+		</bus-provider>
+		
+		<bus-provider name="HSQLDB">
+			<property name="URL" value="jdbc:postgresql://myhost:5432/testDB" />
+			<property name="driver" value="org.postgresql.Driver" />
+			<property name="username" value="joe" />
+			<property name="password" value="secret" />
+			
+			<bus busid="SQL-Test">
+				<property name="tablename" value="testtable" />
+
+				<property name="tablename" value="testtable" />
+				<property name="message_column" value="message" />
+				<property name="message_id_column" value="message_id" />
+				<property name="status_column" value="status" />
+				<property name="errorDelete" value="true" />
+				<property name="insert_timestamp_column" value="insert_timestamp" />
+				<property name="postDelete" value="true" />
+			</bus>
+		</bus-provider>
+
+        <bus-provider name="JBR">
+            <property name="jbr-serverBindAddress" value="192.168.1.111" />
+            <property name="jbr-serverProtocol" value="http" />
+
+            <bus busid="HTTP-1">
+                <property name="jbr-serverBindPort" value="8765" />
+            </bus>
+            <bus busid="HTTP-2">
+                <property name="jbr-serverBindPort" value="8766" />
+            </bus>
+        </bus-provider>
+
+        <bus-provider name="JBossAS">
+			<property name="my-generic-provider" value="my-generic-provider#someattribvalue" />
+			
+			<bus busid="my-generic-bus">
+				<property name="my-generic-bus" value="my-generic-bus#someattribvalue" />
+			</bus>
+		</bus-provider>
+
+	</providers>
+	<services>    
+		<service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
+		
+			<listeners>
+				<listener name="Bank-JMS-Gateway"
+					busidref="server1-jms"
+					maxThreads="1"
+					is-gateway="true">
+					<property name="gatewayClass" value="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" />
+				</listener> 	    
+                <listener name="Bank-HTTP-Gateway"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true">
+                    <property name="gatewayClass" value="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" />
+                </listener>
+				<listener name="Bank-Listener"
+							busidref="local-jms"
+							maxThreads="2">
+				</listener>
+				<listener name="Bank-Listener-Generic" 
+							busidref="my-generic-bus"
+							maxThreads="2">
+					<property name="my-generic-listener" value="my-generic-listener#someattribvalue" />
+				</listener>
+			</listeners>    	
+			  
+			<actions>    	    
+				<action name="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter">
+					<property name="propName" value="propValue" />
+					<property name="propName">
+						This is some complex..
+						<!-- property -->
+						value.
+						<xxxx>
+							boooo
+							<yyyy/>
+						</xxxx>
+						<![CDATA[ Some CDATA data...]]>
+					</property>
+				</action>
+			</actions>
+			
+		</service>
+		<service category="Test2" name="FTPTest" description="FTP server Test">
+		
+			<listeners>    	    
+				<listener name="test-ftp-listener"
+							busidref="Ftp-ServerTest"
+							maxThreads="1">
+							<property name="schedule-frequency" value="10" />
+				</listener>
+			</listeners>
+			<actions mep="OneWay">    	    
+				<action name="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+		<service category="Test3" name="SQLTest" description="SQL server Test">
+		
+			<listeners>    	    
+				<listener name="test-sql-listener"
+							busidref="SQL-Test"
+							maxThreads="1">
+							<property name="pollLatencySeconds" value="10" />
+				</listener>
+			</listeners>
+			<actions mep="RequestResponse">    	    
+				<action name="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions> 	
+			
+		</service>
+	</services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,43 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" >
+
+	<!-- 
+		This is a bad configuration.  The listener below is of the base listener type, yet it references a non-base type bus (jms-bus).
+		Should generate an error.
+	-->
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory "
+                      jndi-URL="localhost" >
+                      
+              <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter
+                      dest-type="QUEUE"
+                      dest-name="queue/B"
+                  />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+          
+        <service category="HelloWorld_ActionESB" name="SimpleListener" description="Hello World">
+            <listeners>
+                <listener name="JMS-ESBListener"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />                
+            </listeners>
+            <actions>
+               <action name="displayAction" 
+               		class="org.jboss.soa.esb.samples.quickstart.helloworldaction.MyJMSListenerAction" 
+               		process="displayMessage">
+               		<property name="exceptionMethod" value="exceptionHandler"/>
+               </action>
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_03.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,47 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+
+        <jbr-provider name="JBR" host="192.168.1.111" protocol="http">
+            <jbr-bus busid="HTTP-1" port="8765" />
+            <jbr-bus busid="HTTP-2" port="8766" />
+        </jbr-provider>
+
+	</providers>
+	<services>
+
+        <service category="A" name="1" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+                <jbr-listener name="A2-HTTP"
+                    busidref="HTTP-2"
+                    maxThreads="1" />
+            </listeners>
+
+			<actions>    	    
+				<action name="a1" class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+			</actions>
+		</service>
+        <service category="B" name="2" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+                <jbr-listener name="A2-HTTP"
+                    busidref="HTTP-2"
+                    maxThreads="1" />
+			</listeners>
+
+			<actions>
+				<action name="a1" class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+			</actions>
+		</service>
+
+    </services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,47 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+
+        <jbr-provider name="JBR" host="192.168.1.111" protocol="http">
+            <jbr-bus busid="HTTP-1" port="8765" />
+            <jbr-bus busid="HTTP-2" port="8766" />
+        </jbr-provider>
+
+	</providers>
+	<services>
+
+        <service category="C" name="3" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+                <jbr-listener name="A2-HTTP"
+                    busidref="HTTP-2"
+                    maxThreads="1" />
+			</listeners>
+			  
+			<actions>    	    
+				<action name="a1" class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+			</actions>
+		</service>
+        <service category="D" name="4" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+                <jbr-listener name="A2-HTTP"
+                    busidref="HTTP-2"
+                    maxThreads="1" />
+			</listeners>
+
+			<actions>
+				<action name="a1" class="org.jboss.soa.esb.listeners.config.MyPublishedAction" />
+			</actions>
+		</service>
+
+    </services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_esbaware.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_esbaware.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_esbaware.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-listeners parameterReloadSecs="180"><listener busIdRef="local-jms" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" name="Bank-Listener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR acknowledge-mode="AUTO_ACKNOWLEDGE" connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" persistent="true" protocol="jms" transacted="false"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener busIdRef="my-generic-bus" listenerClass="org.jboss.soa!
 .esb.listeners.message.MessageAwareListener" maxThreads="2" my-generic-listener="my-generic-listener#someattribvalue" name="Bank-Listener-Generic" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation"><EPR my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/><action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter" propName="propValue">						This is some complex..						<!-- property -->						value.						<xxxx>							boooo							<yyyy/>						</xxxx>						 Some CDATA data...					</action></listener><listener busIdRef="Ftp-ServerTest" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="OneWay" name="test-ftp-listener" schedule-frequency="10" service-category="Test2" service-description="FTP server Test" service-name="FTPTest"><EPR URL="ftp://joe:secret@localhost:21/Temp" errorDelete="true" inputSuffi!
 x=".txt" passive="false" postDelete="true" postRename="true" w!
 orkSuffi
x=".esbInProcess"/><action action="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener><listener busIdRef="SQL-Test" listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="1" mep="RequestResponse" name="test-sql-listener" pollLatencySeconds="10" service-category="Test3" service-description="SQL server Test" service-name="SQLTest"><EPR URL="jdbc:postgresql://myhost:5432/testDB" driver="org.postgresql.Driver" errorDelete="true" insert_timestamp_column="insert_timestamp" message_column="message" message_id_column="message_id" password="secret" postDelete="true" status_column="status" tablename="testtable" username="joe"/><action action="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/></listener></jbossesb-listeners>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_esbaware.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_gateways.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_gateways.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_gateways.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!--	NOTE: DO NOT MODIFY	This file was auto-generated.--><jbossesb-gateways parameterReloadSecs="180"><listener acknowledge-mode="AUTO_ACKNOWLEDGE" busIdRef="server1-jms" connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" is-gateway="true" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" name="Bank-JMS-Gateway" persistent="true" protocol="jms" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation" transacted="false"/><listener busIdRef="HTTP-1" gatewayClass="org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener" is-gateway="true" jbr-serverBindAddress="192.168.1.111" jbr-serverBindPort="8765" jbr-serverProtocol=!
 "http" maxThreads="1" name="Bank-HTTP-Gateway" service-description="Bank Reconciliation Service" target-service-category="Bank" target-service-name="Reconciliation"/></jbossesb-gateways>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_120_gateways.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapperUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapperUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapperUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,128 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY 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
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import junit.framework.TestCase;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URI;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.apache.xmlbeans.XmlException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpListenerDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.FtpBusDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Factory;
+import org.jboss.soa.esb.listeners.gateway.ReadOnlyRemoteGatewayListener;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Tests the class FtpListenerMapper 
+ * 
+ * @author Daniel Bevenius
+ *
+ */
+public class FtpListenerMapperUnitTest extends TestCase
+{
+	@SuppressWarnings("unused")
+	private Logger log = Logger.getLogger(FtpListenerMapperUnitTest.class);
+	
+	private static final String ESB_CONFIG_READ_ONLY = "jbossesb_config_readonly.xml";
+	private static final String ESB_CONFIG_ESCAPING = "jbossesb_config_escaping.xml";
+	
+	private static final String GATEWAY_CLASS_ATTRIBUTE = "gatewayClass";
+		
+	@Test
+	public void testReadOnlyConfiguration() throws Exception
+	{
+		Element root = createRootElement();
+		XMLBeansModel model = getXmlBeanModel( ESB_CONFIG_READ_ONLY );
+		
+		List<Listener> gateways = model.getGatewayListeners();
+		FtpListenerDocument.FtpListener ftpListener = (FtpListenerDocument.FtpListener) gateways.get(0);
+		assertEquals ( true, ftpListener.getIsGateway() );
+		
+		FtpBusDocument.FtpBus ftpBus = (FtpBusDocument.FtpBus) model.getBus( ftpListener.getBusidref() );
+		assertNotNull( "FtpBus element should exist", ftpBus );
+		assertEquals ( "read-only attribute should be true", true, ftpBus.getFtpMessageFilter().getReadOnly() );
+		
+		FtpListenerMapper.map( root , ftpListener, model );
+		
+		Node ftpMapperListener = root.getFirstChild();
+		assertNotNull ("ftpMapperListener should not be null", ftpMapperListener ); 
+		
+		NamedNodeMap attributes = ftpMapperListener.getAttributes();
+		Node gatewayClass = attributes.getNamedItem( GATEWAY_CLASS_ATTRIBUTE );
+		assertNotNull( "gatewayClass should have been set", gatewayClass );
+		assertEquals( ReadOnlyRemoteGatewayListener.class.getName(), gatewayClass.getNodeValue() );
+	}
+	
+	@Test
+	public void testEscaping() throws Exception
+	{
+		final XMLBeansModel model = getXmlBeanModel( ESB_CONFIG_ESCAPING );
+		final GatewayGenerator gatewayGenerator = new GatewayGenerator(model);
+		final Document gatewayConfig = gatewayGenerator.generate();
+		final Element root = gatewayConfig.getDocumentElement() ;
+		final NodeList listenerList = root.getElementsByTagName("listener") ;
+		assertEquals("Listener count", 1, listenerList.getLength()) ;
+		final Node listener = listenerList.item(0) ;
+		final NamedNodeMap attributes = listener.getAttributes() ;
+		final Node urlNode = attributes.getNamedItem(ListenerTagNames.URL_TAG) ;
+		assertNotNull("URL node", urlNode) ;
+		final String urlValue = urlNode.getNodeValue() ;
+		assertNotNull("URL value", urlValue) ;
+		final URI uri = new URI(urlValue) ;
+		assertEquals("host", "localhost", uri.getHost()) ;
+		assertEquals("port", 21, uri.getPort()) ;
+		assertEquals("path", "/directory/####", uri.getPath()) ;
+		assertEquals("userInfo", "user%3A##user:password:##password", uri.getUserInfo()) ;
+	}
+	
+	private XMLBeansModel getXmlBeanModel( String fileName ) throws ConfigurationException, IOException, XmlException
+	{
+		InputStream inputStream = getClass().getResourceAsStream( fileName );
+		final Reader reader = new InputStreamReader(inputStream);
+		XMLBeansModel model = new XMLBeansModel(Factory.parse(reader).getJbossesb());
+		return model;
+	}
+	
+	private Element createRootElement() throws ConfigurationException
+	{
+		Document doc = YADOMUtil.createDocument();
+		Element root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+		root.setAttribute("parameterReloadSecs", "1000" );
+		return root;
+	}
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/FtpListenerMapperUnitTest.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperJCAActivationUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperJCAActivationUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperJCAActivationUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,358 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY 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
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.common.Environment;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Factory;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.jca.ActivationMapper;
+import org.jboss.soa.esb.listeners.jca.JBossActivationMapper;
+import org.jboss.soa.esb.listeners.jca.JcaConstants;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
+/**
+ * Tests the JCA activation mapping of the JmsListenerMapper
+ * 
+ * @author <a href='mailto:kevin.conner at jboss.com'>Kevin Conner</a>
+ */
+public class JmsListenerMapperJCAActivationUnitTest
+{
+    private static final String TEST_DESTINATION = "TestDestination" ;
+    private static final String TEST_PROVIDER_ADAPTER_JNDI = "TestProviderAdapterJNDI" ;
+    private static final String TEST_DESTINATION_TYPE = "TestDestinationType" ;
+    private static final String TEST_MESSAGE_SELECTOR = "TestMessageSelector" ;
+    private static final String TEST_MAX_THREADS = "TestMaxThreads" ;
+
+    private static final String TEST_QUEUE = "TestQueue" ;
+    private static final String TEST_TOPIC = "TestTopic" ;
+    private static final String DEFAULT_TEST_PROVIDER_ADAPTER_JNDI = "DefaultTestProviderAdapterJNDI" ;
+    private static final String DEFAULT_TEST_MESSAGE_SELECTOR = "DefaultTestMessageSelector" ;
+    private static final String DEFAULT_TEST_MAX_THREADS = "DefaultTestMaxThreads" ;
+    
+    @BeforeClass
+    public static void setUp () throws Exception
+    {
+        final PropertyManager propertyManager = ModulePropertyManager.getPropertyManager(ModulePropertyManager.JCA_MODULE) ;
+        propertyManager.setProperty(Environment.JCA_ACTIVATION_MAPPER + ".jms-ra.rar", JBossActivationMapper.class.getName()) ;
+        propertyManager.setProperty(Environment.JCA_ACTIVATION_MAPPER + ".test-ra.rar", TestActivationMapper.class.getName()) ;
+    }
+
+    @Test
+    public void testDefaultAllValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_01.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put("destination", "DestName") ;
+        expected.put("providerAdapterJNDI", "ProviderAdapterJNDI") ;
+        expected.put("destinationType", Queue.class.getName()) ;
+        expected.put("messageSelector", "selector") ;
+        expected.put("maxSession", "100") ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testDefaultMandatoryValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_02.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put("destination", "DestName") ;
+        expected.put("destinationType", Topic.class.getName()) ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testAdapterAllValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_03.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, "ProviderAdapterJNDI") ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_QUEUE) ;
+        expected.put(TEST_MESSAGE_SELECTOR, "selector") ;
+        expected.put(TEST_MAX_THREADS, "100") ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testAdapterMandatoryValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_04.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, DEFAULT_TEST_PROVIDER_ADAPTER_JNDI) ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_TOPIC) ;
+        expected.put(TEST_MESSAGE_SELECTOR, DEFAULT_TEST_MESSAGE_SELECTOR) ;
+        expected.put(TEST_MAX_THREADS, DEFAULT_TEST_MAX_THREADS) ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testListenerPropertyAllValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_05.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, "ProviderAdapterJNDI") ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_QUEUE) ;
+        expected.put(TEST_MESSAGE_SELECTOR, "selector") ;
+        expected.put(TEST_MAX_THREADS, "100") ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testListenerPropertyMandatoryValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_06.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, DEFAULT_TEST_PROVIDER_ADAPTER_JNDI) ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_TOPIC) ;
+        expected.put(TEST_MESSAGE_SELECTOR, DEFAULT_TEST_MESSAGE_SELECTOR) ;
+        expected.put(TEST_MAX_THREADS, DEFAULT_TEST_MAX_THREADS) ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testBusPropertyAllValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_07.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, "ProviderAdapterJNDI") ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_QUEUE) ;
+        expected.put(TEST_MESSAGE_SELECTOR, "selector") ;
+        expected.put(TEST_MAX_THREADS, "100") ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testBusPropertyMandatoryValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_08.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, DEFAULT_TEST_PROVIDER_ADAPTER_JNDI) ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_TOPIC) ;
+        expected.put(TEST_MESSAGE_SELECTOR, DEFAULT_TEST_MESSAGE_SELECTOR) ;
+        expected.put(TEST_MAX_THREADS, DEFAULT_TEST_MAX_THREADS) ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testProviderPropertyAllValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_09.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, "ProviderAdapterJNDI") ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_QUEUE) ;
+        expected.put(TEST_MESSAGE_SELECTOR, "selector") ;
+        expected.put(TEST_MAX_THREADS, "100") ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    @Test
+    public void testProviderPropertyMandatoryValues()
+        throws Exception
+    {
+        final Map<String, String> activationConfig = generateConfig("jbossesb_jca_config_10.xml") ;
+        
+        final Map<String, String> expected = new HashMap<String, String>() ;
+        expected.put(TEST_DESTINATION, "DestName") ;
+        expected.put(TEST_PROVIDER_ADAPTER_JNDI, DEFAULT_TEST_PROVIDER_ADAPTER_JNDI) ;
+        expected.put(TEST_DESTINATION_TYPE, TEST_TOPIC) ;
+        expected.put(TEST_MESSAGE_SELECTOR, DEFAULT_TEST_MESSAGE_SELECTOR) ;
+        expected.put(TEST_MAX_THREADS, DEFAULT_TEST_MAX_THREADS) ;
+        
+        verifyConfiguration(expected, activationConfig) ;
+    }
+
+    private Map<String, String> generateConfig(final String config)
+        throws Exception
+    {
+        final InputStream is = getClass().getResourceAsStream(config) ;
+        assertNotNull("Configuration " + config, is) ;
+        final XMLBeansModel model = new XMLBeansModel(Factory.parse(is).getJbossesb());
+        
+        final List<Listener> awareListeners = model.getESBAwareListeners() ;
+        assertEquals("Listener count", 1, awareListeners.size()) ;
+        
+        final Listener listener = awareListeners.get(0) ;
+        assertTrue("JmsListener", listener instanceof JmsListener) ;
+        
+        final Document doc = YADOMUtil.createDocument() ;
+        final Element root = doc.createElement("root") ;
+        final Element listenerElement = JmsListenerMapper.map(root, (JmsListener)listener, model) ;
+        assertNotNull("Listener Element", listenerElement) ;
+        
+        final NodeList activationNodes = listenerElement.getElementsByTagName(JcaConstants.ELEMENT_ACTIVATION_CONFIG) ;
+        final int numActivationNodes = (activationNodes == null ? 0 : activationNodes.getLength()) ;
+        assertEquals("Activation node count", 1, numActivationNodes) ;
+        
+        final Element activationConfig = (Element)activationNodes.item(0) ;
+        final NodeList propertyNodes = activationConfig.getElementsByTagName(JcaConstants.ELEMENT_PROPERTY) ;
+        
+        final Map<String, String> properties = new HashMap<String, String>() ;
+        final int numProperties = (propertyNodes == null ? 0 : propertyNodes.getLength()) ;
+        for(int count = 0 ; count < numProperties ; count++)
+        {
+            final Node node = propertyNodes.item(count) ;
+            if (node instanceof Element)
+            {
+                final Element element = (Element)node ;
+                final String name = element.getAttribute("name") ;
+                final String value = element.getAttribute("value") ;
+                properties.put(name, value) ;
+            }
+        }
+        return properties ;
+    }
+
+    private static void verifyConfiguration(final Map<String, String> expected, final Map<String, String> activationConfig)
+    {
+        assertEquals("Number of activation properties", expected.size(), activationConfig.size()) ;
+        
+        for(Map.Entry<String, String> entry: expected.entrySet())
+        {
+            final String name = entry.getKey() ;
+            assertEquals("Value of " + name, expected.get(name), activationConfig.get(name)) ;
+        }
+    }
+    
+    public static class TestActivationMapper implements ActivationMapper
+    {
+        public void setDestination(final Map<String, String> activationConfig, final String name)
+            throws ConfigurationException
+        {
+            activationConfig.put(TEST_DESTINATION, name) ;
+        }
+        
+        public void setProviderAdapterJNDI(final Map<String, String> activationConfig, final String providerAdapterJNDI)
+            throws ConfigurationException
+        {
+            if (providerAdapterJNDI != null)
+            {
+                activationConfig.put(TEST_PROVIDER_ADAPTER_JNDI, providerAdapterJNDI) ;
+            }
+            else
+            {
+                activationConfig.put(TEST_PROVIDER_ADAPTER_JNDI, DEFAULT_TEST_PROVIDER_ADAPTER_JNDI) ;
+            }
+        }
+        
+        public void setDestinationType(final Map<String, String> activationConfig, final boolean queue)
+            throws ConfigurationException
+        {
+            if (queue)
+            {
+                activationConfig.put(TEST_DESTINATION_TYPE, TEST_QUEUE) ;
+            }
+            else
+            {
+                activationConfig.put(TEST_DESTINATION_TYPE, TEST_TOPIC) ;
+            }
+        }
+        
+        public void setMessageSelector(final Map<String, String> activationConfig, final String messageSelector)
+            throws ConfigurationException
+        {
+            if (messageSelector != null)
+            {
+                activationConfig.put(TEST_MESSAGE_SELECTOR, messageSelector) ;
+            }
+            else
+            {
+                activationConfig.put(TEST_MESSAGE_SELECTOR, DEFAULT_TEST_MESSAGE_SELECTOR) ;
+            }
+        }
+
+        public void setMaxThreads(final Map<String, String> activationConfig, final Integer maxThreads)
+            throws ConfigurationException
+        {
+            if (maxThreads != null)
+            {
+                activationConfig.put(TEST_MAX_THREADS, maxThreads.toString()) ;
+            }
+            else
+            {
+                activationConfig.put(TEST_MAX_THREADS, DEFAULT_TEST_MAX_THREADS) ;
+            }
+        }
+    }
+    
+    public static junit.framework.Test suite ()
+    {
+        return new JUnit4TestAdapter(JmsListenerMapperJCAActivationUnitTest.class);
+    }
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperJCAActivationUnitTest.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,166 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY 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
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.List;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.xmlbeans.XmlException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsBusDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.Provider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ActivationConfigDocument.ActivationConfig;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Factory;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsJcaProviderDocument.JmsJcaProvider;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.PropertyDocument.Property;
+import org.junit.Before;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+/**
+ * Unit test for JmsListenerMapper
+ * 
+ * @author Daniel Bevenius
+ *
+ */
+public class JmsListenerMapperUnitTest
+{
+	private static final String ESB_CONFIG = "jbossesb_config_jms_jca.xml";
+	
+	private Element root;
+	private XMLBeansModel model;
+	private JmsListenerDocument.JmsListener jmsListener;
+	private JmsJcaProvider jmsJcaProvider;
+	
+	@Test ( expected = ConfigurationException.class )
+	public void tryToOverrideDestinationActivationConfigProperty() throws ConfigurationException, IOException
+	{
+		callJmsListenerMap( "destination", "/queue/dummyQueue" );
+	}
+	
+	@Test ( expected = ConfigurationException.class )
+	public void tryToOverride_DestinationType_ActivationConfigProperty() throws ConfigurationException, IOException
+	{
+		callJmsListenerMap( "destinationType", "Topic" );
+	}
+	
+	@Test ( expected = ConfigurationException.class )
+	public void tryToOverrideMessageSelectorActivationConfigProperty() throws ConfigurationException, IOException
+	{
+		callJmsListenerMap( "messageSelector", "dummyselector" );
+	}
+	
+	@Test ( expected = ConfigurationException.class )
+	public void tryToOverrideMaxMessagesActivationConfigProperty() throws ConfigurationException, IOException
+	{
+		callJmsListenerMap( "maxMessages", "300" );
+	}
+	
+	//	setup methods
+	
+	@Before
+	public void setup() throws ConfigurationException, IOException, XmlException
+	{
+		root = createRootElement();
+		model = getXmlBeanModel( ESB_CONFIG );
+		jmsListener = getListener( model );
+		jmsJcaProvider = getJmsJcaProvider( model );
+	}
+	
+	// 	helper methods
+	
+	private void callJmsListenerMap(
+			String activationConfigPropertyName,
+			String activationConfigPropertyValue
+			) throws ConfigurationException
+	{
+		ActivationConfig activationConfig = jmsJcaProvider.getActivationConfig();
+		createActivationProperty( activationConfig, activationConfigPropertyName, activationConfigPropertyValue );
+		
+		JmsListenerMapper.map( root , jmsListener, model );
+	}
+			
+	private Property createActivationProperty( 
+			final ActivationConfig activationConfig, 
+			final String name, 
+			final String value )
+	{
+		Property property = activationConfig.addNewProperty();
+		property.setName( name );
+		property.setValue( value ); 
+		return property;
+	}
+	
+	private JmsListener getListener( final XMLBeansModel model ) throws ConfigurationException
+	{
+		List<Listener> listeners = model.getESBAwareListeners();
+		return (JmsListener) listeners.get(0);
+	}
+	
+	private JmsJcaProvider getJmsJcaProvider( final XMLBeansModel model ) throws ConfigurationException, IOException
+	{
+		List<Listener> listeners = model.getESBAwareListeners();
+		JmsListenerDocument.JmsListener jmsListener = (JmsListener) listeners.get(0);
+		assertEquals ( false, jmsListener.getIsGateway() );
+		
+		JmsBusDocument.JmsBus jmsBus = (JmsBusDocument.JmsBus) model.getBus( jmsListener.getBusidref() );
+		assertNotNull( "JmsBus element should exist", jmsBus );
+		Provider provider = model.getProvider( jmsBus );
+		assertTrue( provider instanceof JmsJcaProvider );
+		return (JmsJcaProvider) provider;
+	}
+	
+	private XMLBeansModel getXmlBeanModel( String fileName ) throws ConfigurationException, IOException, XmlException
+	{
+		InputStream inputStream = getClass().getResourceAsStream( ESB_CONFIG );
+		final Reader reader = new InputStreamReader(inputStream);
+		XMLBeansModel model = new XMLBeansModel(Factory.parse(reader).getJbossesb());
+		return model;
+	}
+	
+	private Element createRootElement() throws ConfigurationException
+	{
+		Document doc = YADOMUtil.createDocument();
+		Element root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+		root.setAttribute("parameterReloadSecs", "1000" );
+		return root;
+	}
+	
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter( JmsListenerMapperUnitTest.class );
+	}
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/JmsListenerMapperUnitTest.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapperUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapperUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapperUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2006, JBoss Inc., and
+ * individual contributors as indicated by the @authors tag. See the
+ * copyright.txt in the distribution for a full listing of individual
+ * contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * 
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY 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
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.soa.esb.listeners.config.mappers120;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import junit.framework.JUnit4TestAdapter;
+
+import org.apache.xmlbeans.XmlException;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.dom.YADOMUtil;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.JbossesbDocument.Factory;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
+import org.junit.Before;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * Unit test for {@link SecurityMapper}
+ * <p/>
+ * 
+ * @author Daniel Bevenius
+ *
+ */
+public class SecurityMapperUnitTest
+{
+	private static final String ESB_CONFIG = "jbossesb_config_security.xml";
+	
+	private Element root;
+	private XMLBeansModel model;
+
+	private Service service;
+
+	private Node securityNode;
+	
+	@Test
+	public void mapRunAs() throws ConfigurationException
+	{
+		Node runAsNode = securityNode.getAttributes().getNamedItem( ListenerTagNames.RUN_AS_TAG );
+		assertNotNull( runAsNode.getNodeName() );
+		assertEquals( "MrPoon", runAsNode.getNodeValue() );
+	}
+	
+	@Test
+	public void mapModuleName() throws ConfigurationException
+	{
+		Node moduleNameNode = securityNode.getAttributes().getNamedItem( ListenerTagNames.MODULE_NAME_TAG );
+		assertNotNull( moduleNameNode.getNodeName() );
+		assertEquals( "mod1", moduleNameNode.getNodeValue());
+	}
+	
+	@Test
+	public void mapUseCallersIdentity() throws ConfigurationException
+	{
+		Node userIdentityNode = securityNode.getAttributes().getNamedItem( ListenerTagNames.USE_CALLERS_IDENTIDY_TAG );
+		assertNotNull( userIdentityNode.getNodeName() );
+		assertEquals( "user1", userIdentityNode.getNodeValue());
+	}
+	
+	//	setup methods
+	
+	@Before
+	public void setup() throws ConfigurationException, IOException, XmlException
+	{
+		root = createRootElement();
+		model = getXmlBeanModel( ESB_CONFIG );
+		service = model.getServices().get( 0 );
+		
+		SecurityMapper.map( root, service );
+		securityNode = root.getFirstChild();
+	}
+	
+	private XMLBeansModel getXmlBeanModel( String fileName ) throws ConfigurationException, IOException, XmlException
+	{
+		InputStream inputStream = getClass().getResourceAsStream( ESB_CONFIG );
+		final Reader reader = new InputStreamReader(inputStream);
+		XMLBeansModel model = new XMLBeansModel(Factory.parse(reader).getJbossesb());
+		return model;
+	}
+	
+	private Element createRootElement() throws ConfigurationException
+	{
+		Document doc = YADOMUtil.createDocument();
+		Element root = YADOMUtil.addElement(doc, "jbossesb-gateways");
+		root.setAttribute("parameterReloadSecs", "1000" );
+		return root;
+	}
+	
+	public static junit.framework.Test suite()
+	{
+		return new JUnit4TestAdapter( SecurityMapperUnitTest.class );
+	}
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/SecurityMapperUnitTest.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_escaping.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_escaping.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_escaping.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,18 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+    <providers>
+        <ftp-provider name="FTP" hostname="localhost:21">
+            <ftp-bus busid="FTPbus">
+                <ftp-message-filter directory="/directory/####" username="user:##user" password="password:##password"/>
+            </ftp-bus>
+        </ftp-provider>
+    </providers>
+    
+    <services>
+        <service category="Test" name="FTPTest" description="FTP escaping Test">
+            <listeners>
+                <ftp-listener name="FtpMapperListener" busidref="FTPbus" is-gateway="true"/>
+            </listeners>
+        </service>
+    </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_escaping.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_jms_jca.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_jms_jca.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_jms_jca.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,38 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+	
+    	<jms-jca-provider
+            name="JBossMessaging"
+            connection-factory="XAConnectionFactory"
+            jndi-URL="jnp://127.0.0.1:1099"
+            transacted="true"
+            jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+            jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
+
+            <jms-bus busid="quickstartEsbChannel">
+                <jms-message-filter
+                    dest-type="QUEUE"
+                    dest-name="queue/quickstart_jms_transacted_Request_esb"
+                    selector="CorrelationID = '13'"
+                    transacted="true" />
+            </jms-bus>
+            <activation-config>
+                <property name="dLQMaxResent" value="12"/>
+                <property name="dLQJNDIName" value="/queue/quickstart_jms_transacted_error"/>
+                <property name="reconnectInterval" value="1000"/>
+            </activation-config>
+        </jms-jca-provider>
+	
+    </providers>
+	<services>    
+		<service category="Test2" name="JMSJCATest" description="JMS JCA Test">
+			
+			<listeners>    	    
+				<jms-listener name="JMSListener" busidref="quickstartEsbChannel" maxThreads="1"/>
+			</listeners>
+		</service>
+	</services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_jms_jca.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_readonly.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_readonly.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_readonly.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,32 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+		
+		<ftp-provider name="FTP" hostname="localhost:21">
+			<ftp-bus busid="FtpMapperTest">
+				<ftp-message-filter directory="/Temp" read-only="true" input-suffix=".txt" username="joe" password="secret"/>
+			</ftp-bus>
+		</ftp-provider>
+
+        <jbr-provider name="JBR" host="192.168.1.111" protocol="http">
+            <jbr-bus busid="HTTP-2" port="8766" />
+        </jbr-provider>
+		
+	</providers>
+	<services>    
+		<service category="Test2" name="FTPTest" description="FTP server Test">
+			
+			<listeners>    	    
+				<ftp-listener name="FtpMapperListener"
+							busidref="FtpMapperTest"
+							is-gateway="true"
+							maxThreads="1"/>
+                <jbr-listener name="A2-HTTP"
+                    busidref="HTTP-2"
+                    maxThreads="1" />
+			</listeners>
+		</service>
+	</services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_readonly.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_security.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_security.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_security.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,34 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd">
+
+	<providers>
+	
+    	<jms-provider
+            name="JBossMessaging"
+            connection-factory="XAConnectionFactory"
+            jndi-URL="jnp://127.0.0.1:1099"
+            jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+            jndi-pkg-prefix="org.jboss.naming:org.jnp.interfaces">
+
+            <jms-bus busid="quickstartEsbChannel">
+                <jms-message-filter
+                    dest-type="QUEUE"
+                    dest-name="queue/quickstart_jms_transacted_Request_esb"
+                    selector="CorrelationID = '13'"/>
+            </jms-bus>
+        </jms-provider>
+	
+    </providers>
+	<services>    
+		<service category="Test2" name="JMSJCATest" description="JMS JCA Test">
+            <security runAs="MrPoon" moduleName="mod1" useCallersIdentity="user1"/>
+			<listeners>    	    
+				<jms-listener name="JMSListener" busidref="quickstartEsbChannel" maxThreads="1"/>
+			</listeners>
+			<actions>    	    
+				<action name="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
+			</actions>
+		</service>
+	</services>
+	
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_config_security.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_01.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_01.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_01.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,24 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory" adapter="jms-ra.rar"
+        providerAdapterJNDI="ProviderAdapterJNDI"> <!--  providerAdapterJNDI -->
+      <jms-bus busid="bus">
+        <!--  destinationType, destination and selector -->
+        <jms-message-filter dest-type="QUEUE" dest-name="DestName" selector="selector"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <!--  maxThreads -->
+        <jms-listener name="listener" busidref="bus" maxThreads="100"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_01.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_02.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_02.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_02.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,22 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory">
+      <jms-bus busid="bus">
+        <!--  destinationType and destination-->
+        <jms-message-filter dest-type="TOPIC" dest-name="DestName"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <jms-listener name="listener" busidref="bus"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_02.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_03.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_03.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_03.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,24 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory" adapter="test-ra.rar"
+        providerAdapterJNDI="ProviderAdapterJNDI"> <!--  providerAdapterJNDI -->
+      <jms-bus busid="bus">
+        <!--  destinationType, destination and selector -->
+        <jms-message-filter dest-type="QUEUE" dest-name="DestName" selector="selector"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <!--  maxThreads -->
+        <jms-listener name="listener" busidref="bus" maxThreads="100"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_03.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_04.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_04.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_04.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,22 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory" adapter="test-ra.rar">
+      <jms-bus busid="bus">
+        <!--  destinationType and destination-->
+        <jms-message-filter dest-type="TOPIC" dest-name="DestName"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <jms-listener name="listener" busidref="bus"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_04.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_05.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_05.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_05.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,26 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory"
+        providerAdapterJNDI="ProviderAdapterJNDI"> <!--  providerAdapterJNDI -->
+      <jms-bus busid="bus">
+        <!--  destinationType, destination and selector -->
+        <jms-message-filter dest-type="QUEUE" dest-name="DestName" selector="selector"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <!--  maxThreads -->
+        <jms-listener name="listener" busidref="bus" maxThreads="100">
+          <property name="jcaActivationMapper" value="org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapperJCAActivationUnitTest$TestActivationMapper"/>
+        </jms-listener>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_05.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_06.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_06.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_06.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,24 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory">
+      <jms-bus busid="bus">
+        <!--  destinationType and destination-->
+        <jms-message-filter dest-type="TOPIC" dest-name="DestName"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <jms-listener name="listener" busidref="bus">
+          <property name="jcaActivationMapper" value="org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapperJCAActivationUnitTest$TestActivationMapper"/>
+        </jms-listener>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_06.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_07.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_07.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_07.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,25 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory"
+        providerAdapterJNDI="ProviderAdapterJNDI"> <!--  providerAdapterJNDI -->
+      <jms-bus busid="bus">
+        <property name="jcaActivationMapper" value="org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapperJCAActivationUnitTest$TestActivationMapper"/>
+        <!--  destinationType, destination and selector -->
+        <jms-message-filter dest-type="QUEUE" dest-name="DestName" selector="selector"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <!--  maxThreads -->
+        <jms-listener name="listener" busidref="bus" maxThreads="100"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_07.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_08.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_08.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_08.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,23 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory">
+      <jms-bus busid="bus">
+        <property name="jcaActivationMapper" value="org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapperJCAActivationUnitTest$TestActivationMapper"/>
+        <!--  destinationType and destination-->
+        <jms-message-filter dest-type="TOPIC" dest-name="DestName"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <jms-listener name="listener" busidref="bus"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_08.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_09.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_09.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_09.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,25 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory"
+        providerAdapterJNDI="ProviderAdapterJNDI"> <!--  providerAdapterJNDI -->
+      <property name="jcaActivationMapper" value="org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapperJCAActivationUnitTest$TestActivationMapper"/>
+      <jms-bus busid="bus">
+        <!--  destinationType, destination and selector -->
+        <jms-message-filter dest-type="QUEUE" dest-name="DestName" selector="selector"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <!--  maxThreads -->
+        <jms-listener name="listener" busidref="bus" maxThreads="100"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_09.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_10.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_10.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_10.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,23 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd" parameterReloadSecs="5">
+  <providers>
+    <jms-jca-provider name="provider" connection-factory="ConnectionFactory">
+      <property name="jcaActivationMapper" value="org.jboss.soa.esb.listeners.config.mappers.JmsListenerMapperJCAActivationUnitTest$TestActivationMapper"/>
+      <jms-bus busid="bus">
+        <!--  destinationType and destination-->
+        <jms-message-filter dest-type="TOPIC" dest-name="DestName"/>
+      </jms-bus>
+    </jms-jca-provider>
+  </providers>
+
+  <services>
+    <service category="category" name="name" description="description">
+      <listeners>
+        <jms-listener name="listener" busidref="bus"/>
+        <actions mep="OneWay">
+          <action name="testStore" class="org.jboss.soa.esb.actions.StoreMessageToFile"/>
+        </actions>
+      </listeners>
+    </service>
+  </services>
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/mappers120/jbossesb_jca_config_10.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java	2009-09-30 09:44:26 UTC (rev 29511)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/ESBConfigUtilUnitTest.java	2009-09-30 09:47:22 UTC (rev 29512)
@@ -14,20 +14,22 @@
 public class ESBConfigUtilUnitTest extends TestCase {
 
     public void test() throws ConfigurationException, IOException, SAXException {
-        ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("jboss-esb.xml"));
+        executeTest("jboss-esb.xml");
+    }
 
-        assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener busIdRef=\"OrderManagerService\" listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
-        assertTrue(configUtil.getGatewayConfig("FileGateway").toString().startsWith("<listener"));
-        assertTrue(configUtil.getActionConfig("OrderNotificationService", "print-after-transform").toString().startsWith("<action action=\"print-after-transform\""));
+    public void test110() throws ConfigurationException, IOException, SAXException {
+        executeTest("jboss-esb.110.xml");
     }
 
+    public void test120() throws ConfigurationException, IOException, SAXException {
+        executeTest("jboss-esb.120.xml");
+    }
 
-    public void test110() throws ConfigurationException, IOException, SAXException {
-        ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("jboss-esb.110.xml"));
+    private void executeTest(final String config) throws ConfigurationException, IOException, SAXException {
+        ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream(config));
 
         assertTrue(configUtil.getListenerConfig("JMS-ESBListener").toString().startsWith("<listener busIdRef=\"OrderManagerService\" listenerClass=\"org.jboss.soa.esb.listeners.message.MessageAwareListener\" maxThreads=\"1\" name=\"JMS-ESBListener\" service-category=\"ABI_OrderManager\" service-description=\"ABI OrderManager Service\" service-name=\"ABI_OrderManager\">"));
         assertTrue(configUtil.getGatewayConfig("FileGateway").toString().startsWith("<listener"));
         assertTrue(configUtil.getActionConfig("OrderNotificationService", "print-after-transform").toString().startsWith("<action action=\"print-after-transform\""));
     }
-
 }

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/jboss-esb.120.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/jboss-esb.120.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/jboss-esb.120.xml	2009-09-30 09:47:22 UTC (rev 29512)
@@ -0,0 +1,142 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb
+        xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd"
+        parameterReloadSecs="5">
+
+    <providers>
+        <jms-provider name="JBossMQ" connection-factory="ConnectionFactory"
+                      jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
+                      jndi-URL="localhost">
+
+            <jms-bus busid="OrderManagerGateway">
+                <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_bpel_gw"/>
+            </jms-bus>
+            <jms-bus busid="OrderManagerService">
+                <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_bpel_esb"
+                                    selector="service='ordermanager'"/>
+            </jms-bus>
+            <jms-bus busid="ShipperService">
+                <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_bpel_esb"
+                                    selector="service='shipper'"/>
+            </jms-bus>
+            <jms-bus busid="OrderNotificationService">
+                <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_webservice_bpel_esb"
+                                    selector="service='orderNotifier'"/>
+            </jms-bus>
+        </jms-provider>
+
+        <jbr-provider name="JBR-Http-1" protocol="http" host="localhost">
+            <jbr-bus busid="Http-1" port="8865"/>
+        </jbr-provider>
+
+        <jbr-provider name="JBR-Http-2" protocol="http" host="localhost">
+            <jbr-bus busid="Http-2" port="8866"/>
+        </jbr-provider>
+
+        <jbr-provider name="JBR-Socket" protocol="socket" host="localhost">
+            <jbr-bus busid="Socket-1" port="8988"/>
+        </jbr-provider>
+
+        <fs-provider name="File Sys Provider">
+            <fs-bus busid="notificationChannel">
+                <fs-message-filter
+                        directory="/ae-demo/orders"
+                        input-suffix=".in.csv"
+                        work-suffix=".esbWorking"
+                        post-delete="false"
+                        post-directory="/ae-demo/orders"
+                        post-suffix=".done.csv"
+                        error-delete="false"
+                        error-directory="/ae-demo/orders"
+                        error-suffix=".IN_ERROR.csv"
+                        />
+            </fs-bus>
+        </fs-provider>
+
+    </providers>
+
+    <services>
+
+        <service category="ABI_OrderManager" name="ABI_OrderManager" description="ABI OrderManager Service">
+
+            <listeners>
+                <jms-listener name="JMS-Gateway" busidref="OrderManagerGateway" is-gateway="true" maxThreads="1"/>
+                <jbr-listener name="Http-Gateway" busidref="Http-1" is-gateway="true" maxThreads="1"/>
+                <jbr-listener name="Socket-Gateway" busidref="Socket-1" is-gateway="true" maxThreads="1"/>
+
+                <jms-listener name="JMS-ESBListener" busidref="OrderManagerService" maxThreads="1"/>
+            </listeners>
+            <actions>
+                <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message"
+                              value="[Quickstart_webservice_bpel] Message before invoking 'ABI_OrderManager' endpoint"/>
+                </action>
+                <action name="JBossWSAdapter" class="org.jboss.soa.esb.actions.soap.SOAPProcessor">
+                    <property name="jbossws-endpoint" value="ABI_OrderManager"/>
+                </action>
+                <action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message"
+                              value="[Quickstart_webservice_bpel] Message after invoking 'ABI_OrderManager' endpoint"/>
+                </action>
+            </actions>
+        </service>
+
+        <service category="ABI_Shipper" name="ABI_Shipper" description="ABI Shipper Service">
+
+            <listeners>
+                <jbr-listener name="Http-Gateway" busidref="Http-2" is-gateway="true" maxThreads="1"/>
+
+                <jms-listener name="JMS-ESBListener" busidref="ShipperService" maxThreads="1"/>
+            </listeners>
+            <actions>
+                <action name="print-before" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message"
+                              value="[Quickstart_webservice_bpel] Message before invoking 'ABI_Shipping' endpoint"/>
+                </action>
+                <action name="JBossWSAdapter" class="org.jboss.soa.esb.actions.soap.SOAPProcessor">
+                    <property name="jbossws-endpoint" value="ABI_Shipping"/>
+                </action>
+                <action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message"
+                              value="[Quickstart_webservice_bpel] Message after invoking 'ABI_Shipping' endpoint"/>
+                </action>
+            </actions>
+        </service>
+
+        <service category="OrderNotificationService" name="OrderNotificationService"
+                 description="Order Notification Service">
+            <listeners>
+                <fs-listener name="FileGateway" busidref="notificationChannel" is-gateway="true"
+                             poll-frequency-seconds="10"/>
+                <jms-listener name="OrderNotificationService" busidref="OrderNotificationService"/>
+            </listeners>
+            <actions>
+                <!-- Transform the incoming CSV order approval record into a populated
+                     com.activebpel.ordermanagement.SalesOrderNotification instance. -->
+                <action name="message-populator" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
+                    <property name="from" value="OrderManager"/>
+                    <property name="from-type" value="text/csv:orderApproval"/>
+                    <property name="to" value="RetailerCallback"/>
+                    <property name="to-type" value="text/xml:SendSalesOrderNotification"/>
+                </action>
+                <action name="print-after-transform" class="org.jboss.soa.esb.actions.SystemPrintln">
+                    <property name="message" value="[Quickstart_webservice_bpel] Message after transform and before SOAPClient"/>
+                </action>
+                <!-- Inject the com.activebpel.ordermanagement.SalesOrderNotification instance
+                     into the SOAPClient. SOAPClient will use SOAPUI to construct a soap request
+                     template and will then use OGNL to populate the values (from the Smooks 
+                     EXTRACTED_BEANS_HASH) into the soap message. -->
+                <action name="soapui-client" class="org.jboss.soa.esb.actions.soap.SOAPClient">
+                    <property name="wsdl" value="http://localhost:18080/active-bpel/services/RetailerCallback?wsdl"/>
+                    <property name="operation" value="SendSalesOrderNotification"/>
+                    <property name="paramsLocation" value="EXTRACTED_BEANS_HASH"/>
+                    <property name="responseXStreamConfig">
+                        <alias name="customerOrderAck" class="java.lang.Boolean" />
+                    </property>
+                </action>
+            </actions>
+        </service>
+
+    </services>
+
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/testutils/test/jboss-esb.120.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native



More information about the jboss-svn-commits mailing list