[jboss-svn-commits] JBL Code SVN: r23761 - in labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta: src/org/jboss/soa/esb/listeners/config/mappers and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Nov 6 11:10:03 EST 2008


Author: kevin.conner at jboss.com
Date: 2008-11-06 11:10:03 -0500 (Thu, 06 Nov 2008)
New Revision: 23761

Modified:
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
   labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
Log:
Include service category/name in config: JBESB-2164

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java	2008-11-06 16:10:03 UTC (rev 23761)
@@ -102,7 +102,7 @@
 		if(listener instanceof JmsListener) {
 			listenerConfigTree = JmsListenerMapper.map(root, (JmsListener)listener, model);
         } else if (listener instanceof ScheduledListener) {
-            listenerConfigTree = ScheduledListenerMapper.map(root, (ScheduledListener) listener);
+            listenerConfigTree = ScheduledListenerMapper.map(root, (ScheduledListener) listener, model);
         } else if(listener instanceof FsListener) {
          listenerConfigTree = FsListenerMapper.map(root, (FsListener)listener, model);
 		} else if (listener instanceof FtpListener) {

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/MapperUtil.java	2008-11-06 16:10:03 UTC (rev 23761)
@@ -43,31 +43,43 @@
  * Mapper utility methods.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-abstract class MapperUtil {
+public abstract class MapperUtil {
 
 	/**
 	 * Map all default listener attributes onto the target listener ConfigTree.
 	 * @param listener The listener configuration instance.
-	 * @param target The target DOM ConfigTree listener element.
+	 * @param listenerNode The target DOM ConfigTree listener element.
 	 * @param model The model.
 	 */
-	protected static void mapDefaultAttributes(Listener listener, Element target, XMLBeansModel model) {
-		Service service = model.getService(listener);
-		
-		// Map maxThreads - appears to be a JMS only attrib...
-		target.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(listener.getMaxThreads()));
-		target.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());	
-		if(listener.getIsGateway()) {
-			target.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());			
-			target.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());			
-		} else {
-            target.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, service.getCategory());         
-            target.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, service.getName());
-            if(!target.hasAttribute(ListenerTagNames.LISTENER_CLASS_TAG)) {
-                target.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
-            }
+    protected static void mapDefaultAttributes(Listener listener, Element listenerNode, XMLBeansModel model) {
+        Service service = model.getService(listener);
+        boolean isGateway = listener.getIsGateway();
+
+        // Map maxThreads - appears to be a JMS only attrib...
+        listenerNode.setAttribute(ListenerTagNames.MAX_THREADS_TAG, String.valueOf(listener.getMaxThreads()));
+
+        mapListenerServiceAttributes(listenerNode, service, isGateway);
+        if (!isGateway && !listenerNode.hasAttribute(ListenerTagNames.LISTENER_CLASS_TAG)) {
+            listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, MessageAwareListener.class.getName());
         }
-	}
+    }
+
+    /**
+     * Map the Service specific attributes onto the listener configuration.
+     * @param listenerNode The listener config node.
+     * @param service The Service details (from the model).
+     * @param isGateway True if the listener is a gateway, otherwise false.
+     */
+    public static void mapListenerServiceAttributes(Element listenerNode, Service service, boolean isGateway) {
+        listenerNode.setAttribute(ListenerTagNames.SERVICE_DESCRIPTION_TAG, service.getDescription());
+        if (isGateway) {
+            listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_CATEGORY_TAG, service.getCategory());
+            listenerNode.setAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG, service.getName());
+        } else {
+            listenerNode.setAttribute(ListenerTagNames.SERVICE_CATEGORY_NAME_TAG, service.getCategory());
+            listenerNode.setAttribute(ListenerTagNames.SERVICE_NAME_TAG, service.getName());
+        }
+    }
 	
 	/**
 	 * Map all the properties targeted at the supplied listener onto the target element.
@@ -93,7 +105,7 @@
 	 * @param target The target DOM element.
 	 * @param properties The properties to be mapped.
 	 */
-	protected static void mapProperties(List<Property> properties, Element target) {
+	public static void mapProperties(List<Property> properties, Element target) {
 		// Map the property elements to actions attributes...
 		for(Property property : properties) {
          Element propertyElement = target.getOwnerDocument().createElement("property");

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java	2008-11-06 16:10:03 UTC (rev 23761)
@@ -20,7 +20,9 @@
 package org.jboss.soa.esb.listeners.config.mappers;
 
 import org.w3c.dom.Element;
+import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
 import org.jboss.soa.esb.listeners.config.xbeanmodel.ScheduledListenerDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.ServiceDocument.Service;
 import org.jboss.soa.esb.listeners.ListenerTagNames;
 import org.jboss.soa.esb.listeners.ScheduleListener;
 import org.jboss.soa.esb.dom.YADOMUtil;
@@ -30,7 +32,9 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class ScheduledListenerMapper {
-    public static Element map(Element root, ScheduledListenerDocument.ScheduledListener listener) {
+    public static Element map(Element root, ScheduledListenerDocument.ScheduledListener listener, XMLBeansModel model) {
+        Service service = model.getService(listener);
+        boolean isGateway = listener.getIsGateway();
         Element listenerNode = YADOMUtil.addElement(root, "listener");
 
         listenerNode.setAttribute("name", listener.getName());
@@ -41,6 +45,7 @@
             listenerNode.setAttribute(ListenerTagNames.TRANSACTED_TAG, Boolean.toString(listener.getTransacted()));
         }
 
+        MapperUtil.mapListenerServiceAttributes(listenerNode, service, isGateway) ;
         // Map the <property> elements targeted at the listener - from the listener itself.
         MapperUtil.mapProperties(listener.getPropertyList(), listenerNode);
 

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java	2008-11-06 16:10:03 UTC (rev 23761)
@@ -20,9 +20,13 @@
 package org.jboss.soa.esb.listeners;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 
+import javax.xml.parsers.ParserConfigurationException;
+
 import junit.framework.JUnit4TestAdapter;
 
 import org.jboss.internal.soa.esb.util.StreamUtils;
@@ -32,6 +36,7 @@
 import org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer;
 import org.jboss.soa.esb.schedule.SchedulingException;
 import org.jboss.soa.esb.testutils.ESBConfigUtil;
+import org.jboss.soa.esb.testutils.StringUtils;
 import org.junit.Test;
 import org.xml.sax.SAXException;
 
@@ -42,12 +47,12 @@
 public class ScheduledListenerUnitTest {
 	
 	@Test
-    public void test() throws UnsupportedEncodingException {
+    public void test() throws UnsupportedEncodingException, IOException, SAXException, ParserConfigurationException {
 	    ESBConfigUtil configUtil = new ESBConfigUtil(ScheduledListenerUnitTest.class.getResourceAsStream("scheduled-listener-config.xml"));
         String actualListenerConfig = configUtil.getListenerConfig("simple-schedule-listener").toXml();
         String expectedListenerConfig = StreamUtils.readStreamString(getClass().getResourceAsStream("scheduled-listener-config-configtree.xml"), "UTF-8");
 
-        assertEquals(expectedListenerConfig, actualListenerConfig);
+        assertTrue("Service configuration", StringUtils.compareXMLContent(expectedListenerConfig, actualListenerConfig));
     }
     
     @Test

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml	2008-11-06 16:10:03 UTC (rev 23761)
@@ -1,3 +1,3 @@
-<listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" name="simple-schedule-listener" scheduleidref="1-sec-trigger">
+<listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" name="simple-schedule-listener" scheduleidref="1-sec-trigger" service-category="ServiceCat" service-description="Test Service" service-name="ServiceName">
 <action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
 </listener>
\ No newline at end of file

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java	2008-11-06 16:10:03 UTC (rev 23761)
@@ -21,22 +21,19 @@
 
 import junit.framework.TestCase;
 import org.jboss.soa.esb.testutils.ESBConfigUtil;
+import org.jboss.soa.esb.testutils.StringUtils;
 import org.jboss.soa.esb.parameters.ParamRepositoryException;
 import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.util.ClassUtil;
 import org.jboss.soa.esb.mock.MockAction;
 import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
 import org.jboss.internal.soa.esb.util.StreamUtils;
 import org.xml.sax.SAXException;
-import org.quartz.impl.StdSchedulerFactory;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
 
 import java.io.UnsupportedEncodingException;
-import java.io.InputStream;
 import java.io.IOException;
-import java.util.Properties;
 
+import javax.xml.parsers.ParserConfigurationException;
+
 /**
  * Scheduling unit tests.
  *
@@ -51,11 +48,11 @@
         MockAction.message = null;
     }
 
-    public void test_listener_config() throws UnsupportedEncodingException {
+    public void test_listener_config() throws UnsupportedEncodingException, IOException, SAXException, ParserConfigurationException {
         ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream("config-01.xml"));
         String expected = StreamUtils.readStreamString(getClass().getResourceAsStream("expected-config-01-listener.xml"), "UTF-8");
 
-        assertEquals(expected, configUtil.getListenerConfig("simple-schedule-listener").toString());
+        assertTrue("Service Config", StringUtils.compareXMLContent(expected, configUtil.getListenerConfig("simple-schedule-listener").toString()));
     }
 
     public void test_simple_schedule_01() throws UnsupportedEncodingException, ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {

Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml	2008-11-06 15:00:09 UTC (rev 23760)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml	2008-11-06 16:10:03 UTC (rev 23761)
@@ -1,3 +1,3 @@
-<listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" name="simple-schedule-listener" scheduleidref="1-sec-trigger">
+<listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" name="simple-schedule-listener" scheduleidref="1-sec-trigger" service-category="ServiceCat" service-description="Test Service" service-name="ServiceName-01">
 <action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
 </listener>
\ No newline at end of file




More information about the jboss-svn-commits mailing list