[jboss-svn-commits] JBL Code SVN: r15948 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/soa/esb/listeners/config/mappers and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 19 12:34:17 EDT 2007


Author: tfennelly
Date: 2007-10-19 12:34:17 -0400 (Fri, 19 Oct 2007)
New Revision: 15948

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/GroovyGateway.java
   labs/jbossesb/trunk/product/samples/quickstarts/business_service/jboss-esb.xml
   labs/jbossesb/trunk/product/samples/quickstarts/spring_helloworld/src/org/jboss/soa/esb/samples/quickstart/spring_helloworld/MySpringEnabledAction.java
Log:
quickstart cleanup and allow groovy script to run as normal listener

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java	2007-10-19 16:01:09 UTC (rev 15947)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ESBAwareGenerator.java	2007-10-19 16:34:17 UTC (rev 15948)
@@ -109,13 +109,11 @@
 			listenerConfigTree = FtpListenerMapper.map(root, (FtpListener)listener, model);
 		} else if (listener instanceof SqlListener) {
 			listenerConfigTree = SqlListenerMapper.map(root, (SqlListener)listener, model);
-        } else if (listener instanceof
-                JbrListenerDocument.JbrListener) {
+        } else if (listener instanceof JbrListenerDocument.JbrListener) {
             logger.error("JbossRemoting listener only supported in Gateway mode.");
             return;
         } else if (listener instanceof GroovyListenerDocument.GroovyListener) {
-            logger.error("Groovy listener only supported in Gateway mode.");
-            return;
+            listenerConfigTree = GroovyListenerMapper.map(root, (GroovyListenerDocument.GroovyListener)listener, model);
 		} else {
 			listenerConfigTree = UntypedListenerMapper.map(root, listener, model);
 		}

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java	2007-10-19 16:01:09 UTC (rev 15947)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/GroovyListenerMapper.java	2007-10-19 16:34:17 UTC (rev 15948)
@@ -24,6 +24,8 @@
 import org.jboss.soa.esb.listeners.config.Generator;
 import org.jboss.soa.esb.listeners.config.xbeanmodel.GroovyListenerDocument;
 import org.jboss.soa.esb.listeners.gateway.GroovyGateway;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.ScheduleListener;
 import org.w3c.dom.Element;
 
 /**
@@ -44,7 +46,7 @@
         if(listener.getIsGateway()) {
             listenerNode.setAttribute("gatewayClass", GroovyGateway.class.getName());
         } else {
-            throw new ConfigurationException("Invalid <groovy-listener> config [" + listener.getName() + "].  <groovy-listener> is currently only supported as a gateway listener.");
+            listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, GroovyGateway.class.getName());
         }
 
         listenerNode.setAttribute("script", listener.getScript());

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/GroovyGateway.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/GroovyGateway.java	2007-10-19 16:01:09 UTC (rev 15947)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/GroovyGateway.java	2007-10-19 16:34:17 UTC (rev 15948)
@@ -33,6 +33,7 @@
 import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException;
 import org.jboss.soa.esb.listeners.message.BasicMessageComposer;
 import org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter;
+import org.jboss.soa.esb.listeners.ListenerTagNames;
 import org.jboss.soa.esb.util.ClassUtil;
 
 /**
@@ -127,9 +128,14 @@
         try {
             // Configure the groovy script....
             Binding binding = new Binding();
+            UncomposedMessageDeliveryAdapter deliveryAdapter = createDeliveryAdapter();
+
             binding.setVariable("config", getConfig());
             binding.setVariable("gateway", this);
-            binding.setVariable("deliveryAdapter", createDeliveryAdapter());
+            binding.setVariable("listener", this);
+            if(deliveryAdapter != null) {
+                binding.setVariable("deliveryAdapter", deliveryAdapter);
+            }
             script.setBinding(binding);
         } catch (ConfigurationException e) {
            throw new ManagedLifecycleException("Unable to construct message delivery adapter.", e);
@@ -149,6 +155,10 @@
      * @throws ConfigurationException Configuration error.
      */
     protected UncomposedMessageDeliveryAdapter createDeliveryAdapter() throws ConfigurationException {
-        return UncomposedMessageDeliveryAdapter.getGatewayDeliveryAdapter(getConfig(), new BasicMessageComposer());
+        if(getConfig().getAttribute(ListenerTagNames.TARGET_SERVICE_NAME_TAG) != null) {
+            return UncomposedMessageDeliveryAdapter.getGatewayDeliveryAdapter(getConfig(), new BasicMessageComposer());
+        } else {
+            return null;
+        }
     }
 }

Modified: labs/jbossesb/trunk/product/samples/quickstarts/business_service/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/business_service/jboss-esb.xml	2007-10-19 16:01:09 UTC (rev 15947)
+++ labs/jbossesb/trunk/product/samples/quickstarts/business_service/jboss-esb.xml	2007-10-19 16:34:17 UTC (rev 15948)
@@ -28,7 +28,7 @@
         <service category="HelloWorld_ActionESB" 
                  name="SimpleListener" 
                  description="Hello World" >
-            <listeners>
+            <listeners>                
                 <jms-listener name="JMS-Gateway"
                     busidref="quickstartGwChannel"                         
                     maxThreads="1"

Modified: labs/jbossesb/trunk/product/samples/quickstarts/spring_helloworld/src/org/jboss/soa/esb/samples/quickstart/spring_helloworld/MySpringEnabledAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/spring_helloworld/src/org/jboss/soa/esb/samples/quickstart/spring_helloworld/MySpringEnabledAction.java	2007-10-19 16:01:09 UTC (rev 15947)
+++ labs/jbossesb/trunk/product/samples/quickstarts/spring_helloworld/src/org/jboss/soa/esb/samples/quickstart/spring_helloworld/MySpringEnabledAction.java	2007-10-19 16:34:17 UTC (rev 15948)
@@ -46,8 +46,7 @@
    public Message displayMessage(Message message) throws Exception
    {
       logHeader();
-      System.out.println("Body: "
-            + new String(message.getBody().getByteArray()));
+      System.out.println("Body: " + message.getBody().get());
       logFooter();
 
       return message;
@@ -60,13 +59,13 @@
             "helloObject");
 
       Body msgBody = message.getBody();
-      String contents = new String(msgBody.getByteArray());
+      String contents = (String) message.getBody().get();
       StringBuffer sb = new StringBuffer();
       sb.append(contents);
       sb.append("\n");
       sb.append(hello.getGreeting());
 
-      msgBody.setByteArray(sb.toString().getBytes());
+      msgBody.add(sb.toString());
 
       return message;
    }
@@ -77,13 +76,13 @@
             "goodbyeObject");
 
       Body msgBody = message.getBody();
-      String contents = new String(msgBody.getByteArray());
+       String contents = (String) message.getBody().get();
       StringBuffer sb = new StringBuffer();
       sb.append(contents);
       sb.append("\n");
       sb.append(goodbye.getGreeting());
 
-      msgBody.setByteArray(sb.toString().getBytes());
+      msgBody.add(sb.toString());
 
       return message;
    }




More information about the jboss-svn-commits mailing list