[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