[jboss-svn-commits] JBL Code SVN: r8408 - in labs/jbossesb/trunk/product/core/listeners: src/org/jboss/soa/esb/listeners/config/mappers tests/src/org/jboss/soa/esb/listeners/config
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Dec 19 10:54:23 EST 2006
Author: tfennelly
Date: 2006-12-19 10:54:17 -0500 (Tue, 19 Dec 2006)
New Revision: 8408
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/MapperUtil.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.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_esbaware.xml
labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
Log:
Updates to reflect the new MessageAwareListner arch + EPR configurations.
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-19 15:30:58 UTC (rev 8407)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/JmsListenerMapper.java 2006-12-19 15:54:17 UTC (rev 8408)
@@ -30,7 +30,6 @@
import org.jboss.soa.esb.listeners.config.JmsListenerDocument.JmsListener;
import org.jboss.soa.esb.listeners.config.JmsMessageFilterDocument.JmsMessageFilter;
import org.jboss.soa.esb.listeners.config.JmsProviderDocument.JmsProvider;
-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;
import org.w3c.dom.Element;
@@ -67,17 +66,6 @@
throw new ConfigurationException("Invalid bus config [" + listener.getBusidref() + "]. Should be contained within a <jms-provider> instance. Unexpected exception - this should have caused a validation error!");
}
- // Map the standard listener attributes - common across all listener types...
- MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
- // Map the <property> elements targeted at the listener.
- MapperUtil.mapProperties(listener, listenerNode, model);
-
- if(listener.getIsGateway()) {
- listenerNode.setAttribute("gatewayClass", JmsGatewayListener.class.getName());
- } else {
- listenerNode.setAttribute("listenerClass", JmsQueueListener.class.getName());
- }
-
JmsMessageFilter messageFilter = listener.getJmsMessageFilter();
if(messageFilter == null) {
messageFilter = bus.getJmsMessageFilter();
@@ -86,16 +74,43 @@
}
}
- listenerNode.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, messageFilter.getDestType().toString().toLowerCase());
- listenerNode.setAttribute(JMSEpr.DESTINATION_NAME_TAG, messageFilter.getDestName());
- listenerNode.setAttribute(JMSEpr.CONNECTION_FACTORY_TAG, provider.getConnectionFactory());
- listenerNode.setAttribute(JMSEpr.JNDI_CONTEXT_FACTORY, provider.getJndiContextFactory());
- listenerNode.setAttribute(JMSEpr.JNDI_PKG_PREFIX_TAG, provider.getJndiPkgPrefix());
- listenerNode.setAttribute(JMSEpr.JNDI_URL_TAG, provider.getJndiURL());
+ // Map the standard listener attributes - common across all listener types...
+ MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
+ // Map the <property> elements targeted at the listener - from the listener itself.
+ MapperUtil.mapProperties(listener.getPropertyArray(), listenerNode);
+ // Map maxThreads - appears to be a JMS only attrib...
+ listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, Integer.toString(listener.getMaxThreads()));
+ if(listener.getIsGateway()) {
+ listenerNode.setAttribute("gatewayClass", JmsGatewayListener.class.getName());
+ // Map EPR related attributes onto the listener - from the bus and provider and listener.
+ // Note: This will change - the Gateways will also support the EPR element...
+ mapJmsEprProperties(listenerNode, provider, messageFilter);
+ MapperUtil.mapEPRProperties(listener, listenerNode, model);
+ } else {
+ Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+
+ // Map EPR related attributes onto the EPR - from the bus and provider and listener...
+ mapJmsEprProperties(eprNode, provider, messageFilter);
+ eprNode.setAttribute(ListenerTagNames.PROTOCOL_TAG, JMSEpr.JMS_PROTOCOL);
+ MapperUtil.mapEPRProperties(listener, eprNode, model);
+ // Remove any empty attributes set on the EPR config...
+ YADOMUtil.removeEmptyAttributes(eprNode);
+ }
+
// Remove any empty attributes set on the listener config...
YADOMUtil.removeEmptyAttributes(listenerNode);
return listenerNode;
}
+
+ private static void mapJmsEprProperties(Element toElement, JmsProvider provider, JmsMessageFilter messageFilter) {
+ toElement.setAttribute(JMSEpr.DESTINATION_TYPE_TAG, messageFilter.getDestType().toString().toLowerCase());
+ toElement.setAttribute(JMSEpr.DESTINATION_NAME_TAG, messageFilter.getDestName());
+ toElement.setAttribute(JMSEpr.MESSAGE_SELECTOR_TAG, messageFilter.getSelector());
+ toElement.setAttribute(JMSEpr.CONNECTION_FACTORY_TAG, provider.getConnectionFactory());
+ toElement.setAttribute(JMSEpr.JNDI_CONTEXT_FACTORY, provider.getJndiContextFactory());
+ toElement.setAttribute(JMSEpr.JNDI_PKG_PREFIX_TAG, provider.getJndiPkgPrefix());
+ toElement.setAttribute(JMSEpr.JNDI_URL_TAG, provider.getJndiURL());
+ }
}
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java 2006-12-19 15:30:58 UTC (rev 8407)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java 2006-12-19 15:54:17 UTC (rev 8408)
@@ -33,6 +33,8 @@
import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
import org.jboss.soa.esb.listeners.config.PropertyDocument.Property;
import org.jboss.soa.esb.listeners.config.ServiceDocument.Service;
+import org.jboss.soa.esb.listeners.message.JmsQueueListener;
+import org.jboss.soa.esb.listeners.message.MessageAwareListener;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.Attributes;
@@ -60,10 +62,10 @@
target.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
target.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());
} else {
+ target.setAttribute("listenerClass", MessageAwareListener.class.getName());
target.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, service.getCategory());
target.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, service.getName());
target.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
- target.setAttribute(ListenerTagNames.EPR_DESCRIPTION_TAG, listener.getName());
}
}
@@ -76,7 +78,7 @@
* @param model The model.
* @throws ConfigurationException Bad bis configuration.
*/
- protected static void mapProperties(Listener listener, Element target, XMLBeansModel model) throws ConfigurationException {
+ protected static void mapEPRProperties(Listener listener, Element target, XMLBeansModel model) throws ConfigurationException {
Bus bus = model.getBus(listener.getBusidref());
Provider provider = model.getProvider(bus);
@@ -84,8 +86,11 @@
mapProperties(provider.getPropertyArray(), target);
// Map the properties from the bus config...
mapProperties(bus.getPropertyArray(), target);
- // Map the properties from the listener config...
- mapProperties(listener.getPropertyArray(), target);
+
+ if(!listener.getIsGateway()) {
+ // And the EPR description.
+ target.setAttribute(ListenerTagNames.EPR_DESCRIPTION_TAG, listener.getName());
+ }
}
/**
@@ -93,7 +98,7 @@
* @param target The target DOM element.
* @param properties The properties to be mapped.
*/
- private static void mapProperties(Property[] properties, Element target) {
+ protected static void mapProperties(Property[] properties, Element target) {
// Map the property elements to actions attributes...
for(Property property : properties) {
target.setAttribute(property.getName(), property.getValue());
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java 2006-12-19 15:30:58 UTC (rev 8407)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/mappers/UntypedListenerMapper.java 2006-12-19 15:54:17 UTC (rev 8408)
@@ -22,6 +22,7 @@
package org.jboss.soa.esb.listeners.config.mappers;
import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
import org.jboss.soa.esb.listeners.config.Listener;
import org.jboss.soa.esb.listeners.config.YADOMUtil;
import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
@@ -54,8 +55,17 @@
// Map the standard listener attributes - common across all listener types...
MapperUtil.mapDefaultAttributes(listener, listenerNode, model);
- // Map the <property> elements targeted at the listener.
- MapperUtil.mapProperties(listener, listenerNode, model);
+ // Map the <property> elements targeted at the listener - from the listener itself.
+ MapperUtil.mapProperties(listener.getPropertyArray(), listenerNode);
+
+ if(listener.getIsGateway()) {
+ MapperUtil.mapEPRProperties(listener, listenerNode, model);
+ } else {
+ Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
+ MapperUtil.mapEPRProperties(listener, eprNode, model);
+ // Remove any empty attributes set on the EPR config...
+ YADOMUtil.removeEmptyAttributes(eprNode);
+ }
// Remove any empty attributes set on the listener config...
YADOMUtil.removeEmptyAttributes(listenerNode);
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-19 15:30:58 UTC (rev 8407)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/GeneratorUnitTest.java 2006-12-19 15:54:17 UTC (rev 8408)
@@ -69,12 +69,16 @@
gatewayConfig = new File(outdir, Generator.ESB_CONFIG_GATEWAY_XML_FILE);
assertTrue(gatewayConfig.exists());
String expectedGatewayConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_gateways.xml")));
- assertEquals(expectedGatewayConfig, FileUtil.readTextFile(gatewayConfig));
+ String actualGatewayConfig = FileUtil.readTextFile(gatewayConfig);
+ System.out.println("[" + actualGatewayConfig + "]");
+ assertEquals(expectedGatewayConfig, actualGatewayConfig);
awareConfig = new File(outdir, Generator.ESB_CONFIG_XML_FILE);
assertTrue(awareConfig.exists());
String expectedESBAwareConfig = new String(StreamUtils.readStream(getClass().getResourceAsStream("jbossesb_config_01_esbaware.xml")));
- assertEquals(expectedESBAwareConfig, FileUtil.readTextFile(awareConfig));
+ String actualESBAwareConfig = FileUtil.readTextFile(awareConfig);
+ System.out.println("[" + actualESBAwareConfig + "]");
+ assertEquals(expectedESBAwareConfig, actualESBAwareConfig);
}
public void test_model() throws ConfigurationException, IOException {
Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml 2006-12-19 15:30:58 UTC (rev 8407)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_esbaware.xml 2006-12-19 15:54:17 UTC (rev 8408)
@@ -4,7 +4,8 @@
This file was auto-generated.
-->
<jbossesb-listeners>
-<jms-listener-config connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" epr-description="Bank-Listener" jndi-URL="jnp://localhost:1099" listenerClass="org.jboss.soa.esb.listeners.message.JmsQueueListener" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
+<jms-listener-config listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" maxThreads="2" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
+<EPR connection-factory="ConnectionFactory" destination-name="queue/B" destination-type="topic" epr-description="Bank-Listener" jndi-URL="jnp://localhost:1099" message-selector="service='Reconciliation'" protocol="jms"/>
<action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.CbrProxyAction" process="route" propName="propValue">
This is some complex..
<!-- property -->
@@ -16,7 +17,8 @@
Some CDATA data...
</action>
</jms-listener-config>
-<listener-config epr-description="Bank-Listener-Generic" my-generic-bus="my-generic-bus#someattribvalue" my-generic-listener="my-generic-listener#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
+<listener-config listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener" my-generic-listener="my-generic-listener#someattribvalue" service-category="Bank" service-description="Bank Reconciliation Service" service-name="Reconciliation">
+<EPR epr-description="Bank-Listener-Generic" my-generic-bus="my-generic-bus#someattribvalue" my-generic-provider="my-generic-provider#someattribvalue"/>
<action action="TestDefaultRouteAction" class="org.jboss.soa.esb.actions.CbrProxyAction" process="route" propName="propValue">
This is some complex..
<!-- property -->
Modified: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml 2006-12-19 15:30:58 UTC (rev 8407)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01_gateways.xml 2006-12-19 15:54:17 UTC (rev 8408)
@@ -4,5 +4,5 @@
This file was auto-generated.
-->
<jbossesb-gateways>
-<jms-listener-config connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" target-service-category="Bank" target-service-name="Reconciliation"/>
+<jms-listener-config connection-factory="com.xyz.provider.XYZConnectionFactory" destination-name="queue/A" destination-type="queue" gatewayClass="org.jboss.soa.esb.listeners.gateway.JmsGatewayListener" jndi-URL="xyz://server1:9876" jndi-context-factory="com.xyz.provider.NamingContextFactory" jndi-pkg-prefix="com.xyz" maxThreads="1" message-selector="service='Reconciliation'" target-service-category="Bank" target-service-name="Reconciliation"/>
</jbossesb-gateways>
More information about the jboss-svn-commits
mailing list