[jboss-svn-commits] JBL Code SVN: r8343 - in labs/jbossesb/trunk/product: core/listeners/src/org/jboss/soa/esb/listeners/config/mappers core/listeners/tests/src/org/jboss/soa/esb/listeners/config etc/schemas/xml

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Dec 15 07:49:07 EST 2006


Author: tfennelly
Date: 2006-12-15 07:49:01 -0500 (Fri, 15 Dec 2006)
New Revision: 8343

Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
   labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd
Log:
normalised the JMS message stuff to allow it exist on the jms-bus or the jms-listener

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java	2006-12-15 12:46:51 UTC (rev 8342)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java	2006-12-15 12:49:01 UTC (rev 8343)
@@ -28,6 +28,7 @@
 import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
 import org.jboss.soa.esb.listeners.config.JmsBusDocument.JmsBus;
 import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.JmsMessageDocument.JmsMessage;
 import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
 import org.jboss.soa.esb.listeners.gateway.JmsGatewayListener;
 import org.jboss.soa.esb.listeners.message.JmsQueueListener;
@@ -72,8 +73,16 @@
 			listenerNode.setAttribute(ListenerTagNames.EPR_DESCRIPTION_TAG, listener.getName());			
 		}
 
-		listenerNode.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, listener.getDestinationType().toString().toLowerCase());
-		listenerNode.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, listener.getDestinationName());
+		JmsMessage destination = listener.getJmsMessage();
+		if(destination == null) {
+			destination = bus.getJmsMessage();
+			if(destination == null) {
+				throw new ConfigurationException("No <jms-detination> defined on either <jms-listener> [" + listener.getName() + "] or <jms-bus> [" + bus.getBusid() + "].");
+			}
+		}
+		
+		listenerNode.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, destination.getDestType().toString().toLowerCase());
+		listenerNode.setAttribute(JMSEpr.DESTINATION_NAME_TAG, destination.getDestName());
 		listenerNode.setAttribute(JMSEpr.CONNECTION_FACTORY_TAG, bus.getConnectionFactory());
 		listenerNode.setAttribute(JMSEpr.JNDI_CONTEXT_FACTORY, bus.getJndiContextFactory());
 		listenerNode.setAttribute(JMSEpr.JNDI_PKG_PREFIX_TAG, bus.getJndiPkgPrefix());

Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2006-12-15 12:46:51 UTC (rev 8342)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java	2006-12-15 12:49:01 UTC (rev 8343)
@@ -31,6 +31,7 @@
 import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
 import org.jboss.soa.esb.listeners.config.JmsBusDocument.JmsBus;
 import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
+import org.jboss.soa.esb.listeners.config.JmsMessageDocument.JmsMessage;
 import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
 import org.jboss.soa.esb.testutils.FileUtil;
 
@@ -82,6 +83,10 @@
 		assertEquals("com.xyz.provider.NamingContextFactory", bus.getJndiContextFactory());
 		assertEquals("xyz://server1:9876", bus.getJndiURL());
 		assertEquals("com.xyz", bus.getJndiPkgPrefix());
+		JmsMessage busDestination = bus.getJmsMessage();
+		assertEquals("queue/A", busDestination.getDestName());
+		assertEquals(JmsMessage.DestType.QUEUE, busDestination.getDestType());
+		assertEquals("service='Reconciliation'", busDestination.getSelector());
 
 		List<Listener> gateways = model.getGatewayListeners();
 		assertEquals(1, gateways.size());
@@ -89,9 +94,6 @@
 		assertEquals("Bank-JMS-Gateway", gatewayListener.getName());
 		assertEquals("server1-jms", gatewayListener.getBusidref());
 		assertTrue(gatewayListener.getIsGateway());
-		assertEquals("queue/A", gatewayListener.getDestinationName());
-		assertEquals(JmsListener.DestinationType.QUEUE, gatewayListener.getDestinationType());
-		assertEquals("service='Reconciliation'", gatewayListener.getMessageSelector());
 		assertEquals(1, gatewayListener.getMaxThreads());
 
 		List<Listener> awareListeners = model.getESBAwareListeners();
@@ -100,10 +102,11 @@
 		assertEquals("Bank-Listener", awareListener.getName());
 		assertEquals("local-jms", awareListener.getBusidref());
 		assertTrue(!awareListener.getIsGateway());
-		assertEquals("queue/B", awareListener.getDestinationName());
-		assertEquals(JmsListener.DestinationType.TOPIC, awareListener.getDestinationType());
-		assertEquals("service='Reconciliation'", awareListener.getMessageSelector());
 		assertEquals(2, awareListener.getMaxThreads());
+		JmsMessage listenerDestination = awareListener.getJmsMessage();
+		assertEquals("queue/B", listenerDestination.getDestName());
+		assertEquals(JmsMessage.DestType.TOPIC, listenerDestination.getDestType());
+		assertEquals("service='Reconciliation'", listenerDestination.getSelector());
 		
 		Service gatewayService = model.getService(gatewayListener);
 		Service awareService = model.getService(awareListener);

Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml	2006-12-15 12:46:51 UTC (rev 8342)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml	2006-12-15 12:49:01 UTC (rev 8343)
@@ -3,13 +3,15 @@
 
 	<buses>
 		<jms-bus busid="local-jms" 
-				connection-factory="ConnectionFactory" 
-				jndi-URL="jnp://localhost:1099" />
+					connection-factory="ConnectionFactory" 
+					jndi-URL="jnp://localhost:1099" />
 		<jms-bus busid="server1-jms" 
-				connection-factory="com.xyz.provider.XYZConnectionFactory" 
-				jndi-context-factory="com.xyz.provider.NamingContextFactory"
-				jndi-URL="xyz://server1:9876" 
-				jndi-pkg-prefix="com.xyz" />
+					connection-factory="com.xyz.provider.XYZConnectionFactory" 
+					jndi-context-factory="com.xyz.provider.NamingContextFactory"
+					jndi-URL="xyz://server1:9876" 
+					jndi-pkg-prefix="com.xyz">
+			<jms-message dest-type="QUEUE" dest-name="queue/A" selector="service='Reconciliation'" />
+		</jms-bus>
 	</buses>
 	<services>    
 		<service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
@@ -18,19 +20,13 @@
 				<jms-listener name="Bank-JMS-Gateway"
 							is-gateway="true" 
 							busidref="server1-jms"
-							destination-type="QUEUE"
-						   	destination-name="queue/A"
-							message-selector="service='Reconciliation'"
-							maxThreads="1"
-							/>
+							maxThreads="1"/>
 				<jms-listener name="Bank-Listener" 
 							is-gateway="false"
 							busidref="local-jms"
-							destination-type="TOPIC"
-						   	destination-name="queue/B"
-							message-selector="service='Reconciliation'"
-							maxThreads="2"
-							/>
+							maxThreads="2">
+					<jms-message dest-type="TOPIC" dest-name="queue/B" selector="service='Reconciliation'" />
+				</jms-listener>
 			</listeners>    	
 			  
 			<actions>    	    

Modified: labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd
===================================================================
--- labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd	2006-12-15 12:46:51 UTC (rev 8342)
+++ labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd	2006-12-15 12:49:01 UTC (rev 8343)
@@ -31,10 +31,27 @@
 	</xsd:complexType>
 	<xsd:element name="bus" type="jesb:bus" abstract="true"/>
 	
+	<xsd:element name="jms-message">
+		<xsd:complexType>
+			<xsd:attribute name="dest-name" use="required" type="xsd:string" />
+			<xsd:attribute name="dest-type" use="required">
+				<xsd:simpleType>
+					<xsd:restriction base = "xsd:NMTOKEN">
+						<xsd:enumeration value = "QUEUE"/>
+						<xsd:enumeration value = "TOPIC"/>
+					</xsd:restriction>
+				</xsd:simpleType>
+			</xsd:attribute>
+			<xsd:attribute name="selector" type="xsd:string" />
+		</xsd:complexType>
+	</xsd:element>
 	<xsd:element name="jms-bus" substitutionGroup="jesb:bus">
 		<xsd:complexType>
 			<xsd:complexContent>
 				<xsd:extension base="jesb:bus">
+					<xsd:sequence>
+						<xsd:element ref="jesb:jms-message" maxOccurs="1" minOccurs="0"/>
+					</xsd:sequence>
 					<xsd:attribute name="connection-factory" use="required" type="xsd:string" />
 					<xsd:attribute name="jndi-context-factory" type="xsd:string" />
 					<xsd:attribute name="jndi-pkg-prefix" type="xsd:string" />
@@ -109,17 +126,10 @@
 		<xsd:complexType>
 			<xsd:complexContent>
 				<xsd:extension base="jesb:listener">
+					<xsd:sequence>
+						<xsd:element ref="jesb:jms-message" maxOccurs="1" minOccurs="0"/>
+					</xsd:sequence>
 					<xsd:attribute name="busidref" use="required" type="xsd:string" />
-					<xsd:attribute name="destination-type" use="required">
-						<xsd:simpleType>
-							<xsd:restriction base = "xsd:NMTOKEN">
-								<xsd:enumeration value = "QUEUE"/>
-								<xsd:enumeration value = "TOPIC"/>
-							</xsd:restriction>
-						</xsd:simpleType>
-					</xsd:attribute>
-					<xsd:attribute name="destination-name" use="required" type="xsd:string" />
-					<xsd:attribute name="message-selector" type="xsd:string" />
 					<xsd:attribute name="maxThreads" use="required" type="xsd:int" />
 				</xsd:extension>
 			</xsd:complexContent>




More information about the jboss-svn-commits mailing list