[jboss-svn-commits] JBL Code SVN: r29510 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/soa/esb/listeners/config/mappers120 and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 30 04:42:09 EDT 2009
Author: kevin.conner at jboss.com
Date: 2009-09-30 04:42:09 -0400 (Wed, 30 Sep 2009)
New Revision: 29510
Modified:
labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java
Log:
Fix untyped listener: JBESB-2859
Modified: labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd
===================================================================
--- labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd 2009-09-30 07:55:59 UTC (rev 29509)
+++ labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.2.0.xsd 2009-09-30 08:42:09 UTC (rev 29510)
@@ -479,7 +479,7 @@
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1"
- ref="jesb:listener" />
+ ref="jesb:abstract-listener" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
@@ -524,7 +524,7 @@
</xsd:complexContent>
</xsd:complexType>
- <xsd:complexType abstract="true" name="dual-listener">
+ <xsd:complexType name="dual-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Listener type that can act as both a message-aware and message-unaware listener (gateway).
@@ -553,8 +553,10 @@
</xsd:complexContent>
</xsd:complexType>
- <xsd:element name="listener" type="jesb:listener" />
+ <xsd:element name="abstract-listener" type="jesb:listener" abstract="true"/>
+ <xsd:element name="listener" type="jesb:dual-listener" substitutionGroup="jesb:abstract-listener"/>
+
<xsd:complexType abstract="true"
name="abstract-scheduled-listener">
<xsd:annotation>
@@ -601,7 +603,7 @@
</xsd:complexType>
<xsd:element name="scheduled-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Scheduled listener.
@@ -647,7 +649,7 @@
</xsd:sequence>
</xsd:complexType>
</xsd:element>
- <xsd:element name="jca-gateway" substitutionGroup="jesb:listener">
+ <xsd:element name="jca-gateway" substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A specific gateway using JCA inflow.
@@ -904,7 +906,7 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="jms-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A specific listener using the jms protocol.
@@ -1060,7 +1062,7 @@
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
- <xsd:element name="fs-listener" substitutionGroup="jesb:listener">
+ <xsd:element name="fs-listener" substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A specific listener using the file protocol.
@@ -1310,7 +1312,7 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="ftp-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A specific listener using the ftp protocol.
@@ -1509,7 +1511,7 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="sql-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A specific listener using the SQL protocol.
@@ -1612,7 +1614,7 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="hibernate-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
A specific listener using the hibernate protocol.
@@ -1695,7 +1697,7 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="jbr-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
JBoss Remoting Listener.
@@ -1804,7 +1806,7 @@
</xsd:complexType>
</xsd:element>
<xsd:element name="http-gateway"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
http Listener.
@@ -1903,7 +1905,7 @@
Groovy Gateway Type Implementations.
88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
<xsd:element name="groovy-listener"
- substitutionGroup="jesb:listener">
+ substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Groovy Listener.
@@ -1930,7 +1932,7 @@
<!-- 88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
UDP Gateway Type Implementations.
88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888-->
- <xsd:element name="udp-listener" substitutionGroup="jesb:listener">
+ <xsd:element name="udp-listener" substitutionGroup="jesb:abstract-listener">
<xsd:annotation>
<xsd:documentation xml:lang="en">
UDP Listener that uses Mina.
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java 2009-09-30 07:55:59 UTC (rev 29509)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/ESBAwareGenerator.java 2009-09-30 08:42:09 UTC (rev 29510)
@@ -29,6 +29,7 @@
import org.jboss.soa.esb.dom.YADOMUtil;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.Bus;
+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.Provider;
@@ -146,7 +147,7 @@
if (service.isSetInvmScope()) {
return service.getInvmTransacted() ;
} else if (service.isSetListeners()) {
- for (Listener listener: service.getListeners().getListenerList()) {
+ for (Listener listener: service.getListeners().getAbstractListenerList()) {
if (listener instanceof ScheduledListener) {
if (((ScheduledListener)listener).getTransacted())
return true ;
@@ -209,8 +210,10 @@
return;
} else if (listener instanceof GroovyListener) {
listenerConfigTree = GroovyListenerMapper.map(root, (GroovyListener)listener, model);
+ } else if (listener instanceof DualListener){
+ listenerConfigTree = UntypedListenerMapper.map(root, (DualListener)listener, model);
} else {
- listenerConfigTree = UntypedListenerMapper.map(root, listener, model);
+ throw new ConfigurationException("Unexpected listener type encountered: " + listener) ;
}
if (listener instanceof AbstractScheduledListener) {
@@ -224,4 +227,4 @@
ActionMapper.map(listenerConfigTree, listenerService, model);
NotificationMapper.map(listenerConfigTree, listenerService, model);
}
-}
\ No newline at end of file
+}
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java 2009-09-30 07:55:59 UTC (rev 29509)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/GatewayGenerator.java 2009-09-30 08:42:09 UTC (rev 29510)
@@ -37,6 +37,7 @@
import org.jboss.soa.esb.listeners.config.xbeanmodel120.ServiceDocument.Service;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.SqlListenerDocument.SqlListener;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.UdpListenerDocument.UdpListener;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.DualListener;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.Listener;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.JcaGatewayDocument;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.AbstractScheduledListener;
@@ -143,8 +144,10 @@
listenerConfig = HibernateListenerMapper.map(root, (HibernateListener) gateway, model);
} else if (gateway instanceof UdpListener) {
listenerConfig = UdpListenerMapper.map(root, (UdpListener) gateway, model);
+ } else if (gateway instanceof DualListener){
+ listenerConfig = UntypedListenerMapper.map(root, (DualListener)gateway, model);
} else {
- listenerConfig = UntypedListenerMapper.map(root, gateway, model);
+ throw new ConfigurationException("Unexpected gateway type encountered: " + gateway) ;
}
if (gateway instanceof AbstractScheduledListener) {
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java 2009-09-30 07:55:59 UTC (rev 29509)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/MapperUtil.java 2009-09-30 08:42:09 UTC (rev 29510)
@@ -52,7 +52,6 @@
Service service = model.getService(listener);
boolean isGateway = XMLBeansModel.isGateway(listener);
- // Map maxThreads - appears to be a JMS only attrib...
if(listener instanceof DualListener) {
listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(((DualListener)listener).getMaxThreads()));
} else {
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java 2009-09-30 07:55:59 UTC (rev 29509)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/UntypedListenerMapper.java 2009-09-30 08:42:09 UTC (rev 29510)
@@ -25,10 +25,11 @@
import org.jboss.soa.esb.dom.YADOMUtil;
import org.jboss.soa.esb.listeners.ListenerTagNames;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.Bus;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.DualListener;
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.impl.BusImpl;
-import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.ListenerImpl;
+import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.DualListenerImpl;
import org.jboss.soa.esb.listeners.config.xbeanmodel120.impl.BusProviderImpl;
import org.w3c.dom.Element;
@@ -54,7 +55,7 @@
* @return The ConfigTree listener configuration node.
* @throws org.jboss.soa.esb.ConfigurationException Invalid listener configuration.
*/
- public static Element map(Element root, Listener listener, XMLBeansModel model) throws ConfigurationException {
+ public static Element map(Element root, DualListener listener, XMLBeansModel model) throws ConfigurationException {
Element listenerNode = YADOMUtil.addElement(root, "listener");
listenerNode.setAttribute("name", listener.getName());
@@ -66,7 +67,9 @@
// Map the <property> elements targeted at the listener - from the listener itself.
MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
- if(listenerNode.getAttribute(ListenerTagNames.IS_GATEWAY_TAG).equals("true")) {
+ if(listener.getIsGateway()) {
+ listenerNode.setAttribute(ListenerTagNames.IS_GATEWAY_TAG, Boolean.toString(listener.getIsGateway()));
+
MapperUtil.mapEPRProperties(listener, listenerNode, model);
} else {
Element eprNode = YADOMUtil.addElement(listenerNode, ListenerTagNames.EPR_TAG);
@@ -93,7 +96,7 @@
// Note we're purposely performing instanceof comparisons here...
- if(listener.getClass() != ListenerImpl.class) {
+ if(listener.getClass() != DualListenerImpl.class) {
throw new ConfigurationException("Can only use the " + UntypedListenerMapper.class.getName() + " mapper on the base listener type. Cannot use on " + listener.getClass().getName());
}
Bus bus = model.getBus(listener.getBusidref());
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java 2009-09-30 07:55:59 UTC (rev 29509)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers120/XMLBeansModel.java 2009-09-30 08:42:09 UTC (rev 29510)
@@ -100,7 +100,7 @@
ListenersDocument.Listeners listeners = service.getListeners();
if(listeners != null) {
- List<Listener> listenerList = listeners.getListenerList();
+ List<Listener> listenerList = listeners.getAbstractListenerList();
if(listenerList != null) {
for(Listener serviceListener : listenerList) {
@@ -264,7 +264,7 @@
for(Service service: services) {
final ListenersDocument.Listeners listeners = service.getListeners() ;
if (listeners != null) {
- for (Listener listener: listeners.getListenerList()) {
+ for (Listener listener: listeners.getAbstractListenerList()) {
if (listener instanceof AbstractScheduledListener) {
count++ ;
}
@@ -302,7 +302,7 @@
ListenersDocument.Listeners listeners = service.getListeners();
if(listeners != null) {
- for(Listener listener : listeners.getListenerList()) {
+ for(Listener listener : listeners.getAbstractListenerList()) {
if(isGateway(listener) == isGateway) {
gateways.add(listener);
listenerAdded = true;
More information about the jboss-svn-commits
mailing list