[jboss-svn-commits] JBL Code SVN: r14411 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/soa/esb and 11 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 21 06:04:09 EDT 2007


Author: tfennelly
Date: 2007-08-21 06:04:09 -0400 (Tue, 21 Aug 2007)
New Revision: 14411

Added:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml
   labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties
Modified:
   labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml
   labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
   labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml
   labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml
   labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml
Log:
http://jira.jboss.com/jira/browse/JBESB-822

Modified: labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd	2007-08-21 10:04:09 UTC (rev 14411)
@@ -149,9 +149,9 @@
                             <xsd:documentation xml:lang="en">Schedule frequency, in seconds.</xsd:documentation>
                         </xsd:annotation>
                     </xsd:attribute>
-                    <xsd:attribute name="repeatCount" use="optional" type="xsd:int" default="-1">
+                    <xsd:attribute name="execCount" use="optional" type="xsd:int" default="-1">
                         <xsd:annotation>
-                            <xsd:documentation xml:lang="en">Schedule repeat count. -1 to repeat indefinitely.</xsd:documentation>
+                            <xsd:documentation xml:lang="en">Schedule execution count. -1 to execute indefinitely.</xsd:documentation>
                         </xsd:annotation>
                     </xsd:attribute>
                 </xsd:extension>
@@ -349,7 +349,7 @@
         <xsd:complexType>
             <xsd:complexContent>
                 <xsd:extension base="jesb:abstract-scheduled-listener">
-                    <xsd:attribute name="composer" use="required" type="xsd:string">
+                    <xsd:attribute name="event-processor" use="required" type="xsd:string">
                         <xsd:annotation>
                             <xsd:documentation xml:lang="en">Message Composer class name.</xsd:documentation>
                         </xsd:annotation>

Added: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb;
+
+import org.jboss.soa.esb.helpers.ConfigTree;
+
+/**
+ * Marker interface for all ConfigTree initializable class.
+ * 
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface Initializable {
+
+    /**
+     * Initialize.
+     * @param config The configuration.
+     */
+    public void initialize(ConfigTree config) throws ConfigurationException;
+
+    /**
+     * Uninitialize.
+     */
+    public void uninitialize();
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/Initializable.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -26,6 +26,8 @@
 import org.jboss.soa.esb.schedule.SchedulingException;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.Initializable;
+import org.jboss.soa.esb.util.ClassUtil;
 import org.jboss.soa.esb.message.Message;
 
 /**
@@ -44,9 +46,9 @@
      */
     private ActionProcessingPipeline pipeline;
     /**
-     * Event message composer. 
+     * Event message processor. 
      */
-    private ScheduledEventMessageComposer composer;
+    private Initializable eventProcessor;
 
     /**
      * Construct the managed lifecycle.
@@ -58,16 +60,39 @@
     public ScheduleListener(ConfigTree config) throws ConfigurationException {
         super(config);
 
-        // Construct the Message processing pipeline instance...
-        pipeline = new ActionProcessingPipeline(getConfig());
-        pipeline.initialise();
+        // Construct the message composer instance...
+        String eventProcessorClass = config.getRequiredAttribute("event-processor");
+        try {
+            eventProcessor = (Initializable) ClassUtil.forName(eventProcessorClass, ScheduleListener.class).newInstance();
+        } catch (ClassCastException e) {
+            throwBadImplException(eventProcessorClass);
+        } catch (ClassNotFoundException e) {
+            throw new ConfigurationException("Event Processor class [" + eventProcessorClass + "] not found in classpath.", e);
+        } catch (InstantiationException e) {
+            throw new ConfigurationException("Failed to instantiate Event Processor class [" + eventProcessorClass + "].", e);
+        } catch (IllegalAccessException e) {
+            throw new ConfigurationException("Failed to instantiate Event Processor class [" + eventProcessorClass + "].", e);
+        }
 
-        // Construct the message composer instance...
-        String composerClassName = config.getRequiredAttribute("composer");
-        composer = ScheduledEventMessageComposer.Factory.createInstance(composerClassName);
-        composer.initialize(config);
+        if(!(eventProcessor instanceof ScheduledEventListener) && !(eventProcessor instanceof ScheduledEventMessageComposer)) {
+            throwBadImplException(eventProcessorClass);
+        }
+        eventProcessor.initialize(config);
+
+        // Only construct a pipeline if it's a composer...
+        if(eventProcessor instanceof ScheduledEventMessageComposer) {
+            // Construct the Message processing pipeline instance...
+            pipeline = new ActionProcessingPipeline(getConfig());
+            pipeline.initialise();
+        }        
     }
 
+    private void throwBadImplException(String eventProcessorClass) throws ConfigurationException {
+        throw new ConfigurationException("The 'even-processor' class '" + eventProcessorClass +
+                "' must implement one of '" + ScheduledEventMessageComposer.class.getName() + "' or '" +
+                ScheduledEventListener.class.getName() + "'.");
+    }
+
     /**
      * On schedule event processor implementation.
      * @throws SchedulingException Error processing scheduled event.
@@ -75,14 +100,25 @@
     public void onSchedule() throws SchedulingException {
         Message message;
 
-        message = composer.composeMessage();
-        pipeline.process(message);
-        composer.onProcessingComplete(message);
+        if(eventProcessor instanceof ScheduledEventMessageComposer) {
+            message = ((ScheduledEventMessageComposer)eventProcessor).composeMessage();
+            pipeline.process(message);
+            ((ScheduledEventMessageComposer)eventProcessor).onProcessingComplete(message);
+        } else {
+            ((ScheduledEventListener)eventProcessor).onSchedule();
+        }
     }
 
     protected void doInitialise() throws ManagedLifecycleException {
     }
 
+    public void initialize(ConfigTree config) throws ConfigurationException {
+        // TODO Convert lifecycle code to use the Initializable interface.
+    }
+
+    public void uninitialize() {
+    }
+
     protected void doStart() throws ManagedLifecycleException {
     }
 
@@ -90,7 +126,9 @@
     }
 
     protected void doDestroy() throws ManagedLifecycleException {
-        composer.uninitialize();
-        pipeline.destroy() ;
+        eventProcessor.uninitialize();
+        if(pipeline != null) {
+            pipeline.destroy() ;
+        }
     }
 }

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -23,6 +23,7 @@
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.util.ClassUtil;
 import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.Initializable;
 import org.jboss.soa.esb.schedule.SchedulingException;
 import org.jboss.internal.soa.esb.assertion.AssertArgument;
 
@@ -32,20 +33,9 @@
  * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public interface ScheduledEventMessageComposer {
+public interface ScheduledEventMessageComposer extends Initializable {
 
     /**
-     * Initialize the composer.
-     * @param config Composer configuration.
-     */
-    public void initialize(ConfigTree config) throws ConfigurationException;
-
-    /**
-     * Uninitialize the composer.
-     */
-    public void uninitialize();
-
-    /**
      * Compose an ESB "aware" message.
      * <p/>
      * Called by the {@link org.jboss.soa.esb.schedule.ScheduledEventListener#onSchedule()} method.

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -96,7 +96,7 @@
 
                 schedule = simpleSchedule = new SimpleSchedule(scheduleId);
                 simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
-                simpleSchedule.setRepeatCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getRepeatCount());
+                simpleSchedule.setExecCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getExecCount());
             } else {
                 CronSchedule cronSchedule;
                 

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -140,6 +140,10 @@
 
     @SuppressWarnings("unchecked")
     private static ContractPublisher getConractPublisher(Service service) {
+        if(service.getActions() == null || service.getActions().getActionList() == null) {
+            return null;
+        }
+
         for (Action action : service.getActions().getActionList()) {
             Class<Class> actionClass;
 

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ScheduledListenerMapper.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -33,7 +33,7 @@
     public static Element map(Element root, ScheduledListenerDocument.ScheduledListener scheduledListener) {
         Element listenerNode = YADOMUtil.addElement(root, scheduledListener.getName());
 
-        listenerNode.setAttribute("composer", scheduledListener.getComposer());
+        listenerNode.setAttribute("event-processor", scheduledListener.getEventProcessor());
         listenerNode.setAttribute(ListenerTagNames.LISTENER_CLASS_TAG, ScheduleListener.class.getName());
 
         // Map the <property> elements targeted at the listener - from the listener itself.

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/AbstractFileGateway.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -102,6 +102,13 @@
         }
     }
 
+    public void initialize(ConfigTree config) throws ConfigurationException {
+        // TODO Convert lifecycle code to use the Initializable interface.
+    }
+
+    public void uninitialize() {
+    }
+
     protected void doStart() throws ManagedLifecycleException {
     }
 

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -22,6 +22,7 @@
 import org.jboss.soa.esb.ConfigurationException;
 import org.quartz.*;
 import org.quartz.impl.StdSchedulerFactory;
+import org.apache.log4j.Logger;
 
 import java.util.Properties;
 import java.util.List;
@@ -37,7 +38,9 @@
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
 public class ScheduleProvider {
-    
+
+    private static Logger logger = Logger.getLogger(ScheduleProvider.class);
+
     /* Quartz scheduler instance */
     private Scheduler scheduler;
     private List<Schedule> schedules;
@@ -65,10 +68,14 @@
 
         if(schedule instanceof SimpleSchedule) {
             SimpleSchedule simpleSchedule = (SimpleSchedule) schedule;
-            if(simpleSchedule.getRepeatCount() == -1) {
+            if(simpleSchedule.getExecCount() == -1) {
                 trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency());
+            } else if(simpleSchedule.getExecCount() == 0) {
+                logger.warn("<simple-schedule> '" + scheduleId + "' has an execCount of 0 configured.  This schedule will not fire!");
+                return;
             } else {
-                trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency(), simpleSchedule.getRepeatCount());
+                // So the repeatCount = execCount - 1 ....
+                trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency(), (simpleSchedule.getExecCount() - 1));
             }
             trigger.setName(simpleSchedule.getScheduleid());
         } else {

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduledEventListener.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -19,6 +19,8 @@
  */
 package org.jboss.soa.esb.schedule;
 
+import org.jboss.soa.esb.Initializable;
+
 /**
  * Schedule Listener.
  * <p/>
@@ -29,7 +31,7 @@
  * @author <a href="daniel.bevenius at redpill.se">Daniel Bevenius</a>
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public interface ScheduledEventListener {
+public interface ScheduledEventListener extends Initializable {
 
     /**
      * On schedule event processor.

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -25,7 +25,7 @@
  * Example of simple configuration:
  * <pre>
  *   &lt;property name="frequency" value="10"/&gt;
- *   &lt;property name="repeatCount" value="10"/&gt;
+ *   &lt;property name="execCount" value="10"/&gt;
  *   &lt;property name="startDate" value="yy-MM-dd HH:mm:ss"/&gt;
  *   &lt;property name="endDate" value="yy-MM-dd HH:mm:ss"/&gt;
  * </pre>
@@ -38,7 +38,7 @@
     /* polling frequency in seconds */
     private long frequency;
     /* nr of times to execute */
-    private int repeatCount;
+    private int execCount;
     
     public SimpleSchedule(String scheduleid) {
         super(scheduleid);
@@ -52,11 +52,11 @@
         this.frequency = frequency;
     }
 
-    public int getRepeatCount() {
-        return repeatCount;
+    public int getExecCount() {
+        return execCount;
     }
 
-    public void setRepeatCount(int repeatCount) {
-        this.repeatCount = repeatCount;
+    public void setExecCount(int execCount) {
+        this.execCount = execCount;
     }
 }

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config-configtree.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -1,3 +1,3 @@
-<simple-schedule-listener composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" scheduleidref="1-sec-trigger">
+<simple-schedule-listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" my-prop="1" scheduleidref="1-sec-trigger">
 <action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
 </simple-schedule-listener>
\ No newline at end of file

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/scheduled-listener-config.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -11,7 +11,7 @@
         <service category="ServiceCat" name="ServiceName" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
+                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
                     <property name="my-prop" value="1" />
                 </scheduled-listener>
             </listeners>

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.schedule;
+
+import org.jboss.soa.esb.listeners.ScheduledEventMessageComposer;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class MockScheduledEventListener implements ScheduledEventListener {
+
+    public static ConfigTree config;
+    public static boolean onSchedule;
+    public static boolean uninitialised;
+
+    public static void reset() {
+        config = null;
+        onSchedule = false;
+        uninitialised = false;
+    }
+
+    public void initialize(ConfigTree config) {
+        MockScheduledEventListener.config = config;
+    }
+
+    public void onSchedule() throws SchedulingException {
+        onSchedule = true;
+    }
+
+    public void uninitialize() {
+        uninitialised = true;
+    }
+}


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventListener.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/SchedulingUnitTest.java	2007-08-21 10:04:09 UTC (rev 14411)
@@ -40,6 +40,7 @@
 
     protected void setUp() throws Exception {
         MockScheduledEventMessageComposer.reset();
+        MockScheduledEventListener.reset();
         MockAction.message = null;
     }
 
@@ -98,6 +99,15 @@
         assertTrue(MockScheduledEventMessageComposer.composedMessages.size() > 1);
     }
 
+    public void test_simple_schedule_06() throws UnsupportedEncodingException, ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {
+        runTestConfig("config-06.xml", 5000);
+
+        // Check that the scheduling happened as defined in the config...
+        assertNotNull(MockScheduledEventListener.config);
+        assertTrue(MockScheduledEventListener.onSchedule);
+        assertTrue(MockScheduledEventListener.uninitialised);
+    }
+
     private void runTestConfig(String configName, long upTime) throws ParamRepositoryException, ConfigurationException, ManagedLifecycleException, SAXException, InterruptedException {
         ESBConfigUtil configUtil = new ESBConfigUtil(getClass().getResourceAsStream(configName));
 

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-01.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -3,7 +3,7 @@
 
     <providers>
         <schedule-provider name="schedule">
-            <simple-schedule scheduleid="1-sec-trigger" frequency="1" repeatCount="1" />
+            <simple-schedule scheduleid="1-sec-trigger" frequency="1" execCount="2" />
         </schedule-provider>
     </providers>
 
@@ -11,7 +11,7 @@
         <service category="ServiceCat" name="ServiceName-01" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
             </listeners>
 
             <actions>
@@ -21,7 +21,7 @@
         <service category="ServiceCat" name="ServiceName-02" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
             </listeners>
 
             <actions>

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-02.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -12,7 +12,7 @@
         <service category="ServiceCat" name="ServiceName" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
             </listeners>
 
             <actions>

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-03.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
         <service category="ServiceCat" name="ServiceName" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" schedule-frequency="1" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+                <scheduled-listener name="simple-schedule-listener" schedule-frequency="1" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
             </listeners>
 
             <actions>

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04-JBESB-843.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
         <service category="ServiceCat" name="ServiceName" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
+                <scheduled-listener name="simple-schedule-listener" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer">
                     <property name="pollLatencySeconds" value="1" />
                 </scheduled-listener>
             </listeners>

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-04.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
         <service category="ServiceCat" name="ServiceName" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" poll-frequency-seconds="1" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+                <scheduled-listener name="simple-schedule-listener" poll-frequency-seconds="1" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
             </listeners>
 
             <actions>

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-05.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -11,7 +11,7 @@
         <service category="ServiceCat" name="ServiceName" description="Test Service">
 
             <listeners>
-                <scheduled-listener name="cron-schedule-listener" scheduleidref="cron-trigger" composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
+                <scheduled-listener name="cron-schedule-listener" scheduleidref="cron-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" />
             </listeners>
 
             <actions>

Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,18 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+    <providers>
+        <schedule-provider name="schedule">
+            <cron-schedule scheduleid="cron-trigger" cronExpression="0/1 * * * * ?" />
+        </schedule-provider>
+    </providers>
+
+    <services>
+        <service category="ServiceCat" name="ServiceName" description="Test Service">
+            <listeners>
+                <scheduled-listener name="cron-schedule-listener" scheduleidref="cron-trigger" event-processor="org.jboss.soa.esb.schedule.MockScheduledEventListener" />
+            </listeners>
+        </service>
+    </services>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/config-06.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/schedule/expected-config-01-listener.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -1,3 +1,3 @@
-<simple-schedule-listener composer="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" scheduleidref="1-sec-trigger">
+<simple-schedule-listener event-processor="org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer" listenerClass="org.jboss.soa.esb.listeners.ScheduleListener" scheduleidref="1-sec-trigger">
 <action action="action" class="org.jboss.soa.esb.mock.MockAction"/>
 </simple-schedule-listener>
\ No newline at end of file

Added: labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties	2007-08-21 10:04:09 UTC (rev 14411)
@@ -0,0 +1,18 @@
+
+##############################################################################################
+# Environment specific properties for executing the quickstarts.
+##############################################################################################
+# Location of your JBoss Application Server installation.
+#org.jboss.esb.server.home=${product.dir}/build/jbossesb-server-4.2.MR1
+org.jboss.esb.server.home=/jboss-4.2.0.GA
+
+# JBossAS server name. If not set defaults to 'default'
+org.jboss.esb.server.config=default
+#org.jboss.esb.server.config=quickstarts
+
+
+# If you are running the ftp tests then you must complete the following
+jbossesb.ftp.hostname=127.0.0.1:21
+jbossesb.ftp.username=esb
+jbossesb.ftp.password=esb
+jbossesb.ftp.directory=/


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/conf/quickstarts.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/samples/quickstarts/scheduled_services/jboss-esb.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -5,7 +5,7 @@
 
 	<providers>
 		<schedule-provider name="scheduler">
-			<simple-schedule scheduleid="3-sec-trigger" frequency="3" repeatCount="2" />
+			<simple-schedule scheduleid="3-sec-trigger" frequency="3" execCount="2" />
 		</schedule-provider>
 	</providers>
 
@@ -16,7 +16,7 @@
 			<listeners>
 				<scheduled-listener name="my_scheduled_listener"
 					scheduleidref="3-sec-trigger"
-					composer="org.jboss.soa.esb.samples.quickstart.scheduler.MyScheduledActionMsgComposer" />
+					event-processor="org.jboss.soa.esb.samples.quickstart.scheduler.MyScheduledActionMsgComposer" />
 			</listeners>
 			<actions>
 				<action name="first"

Modified: labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -20,7 +20,7 @@
               </jms-bus>
           </jms-provider>
            <schedule-provider name="schedule">
-            <simple-schedule scheduleid="5-min-trigger" frequency="300" repeatCount="-1"/>
+            <simple-schedule scheduleid="5-min-trigger" frequency="300" execCount="-1"/>
         </schedule-provider>
       </providers>
       
@@ -69,7 +69,7 @@
         </service>
         <service category="JBossESB-Internal" name="RedeliverService" description="Scheduled Service to Redeliver Messages">
             <listeners>
-                <scheduled-listener name="redeliver-scheduled-listener" scheduleidref="5-min-trigger" composer="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
+                <scheduled-listener name="redeliver-scheduled-listener" scheduleidref="5-min-trigger" event-processor="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
             </listeners>
             <actions>
                 <action name="RedeliverMessagesAction" class="org.jboss.soa.esb.actions.MessageRedeliverer">

Modified: labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml	2007-08-21 08:54:01 UTC (rev 14410)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/test/java/org/jboss/soa/esb/persistence/tests/config-01.xml	2007-08-21 10:04:09 UTC (rev 14411)
@@ -3,14 +3,14 @@
 
     <providers>
         <schedule-provider name="schedule">
-            <simple-schedule scheduleid="1-sec-trigger" frequency="1" repeatCount="2"/>
+            <simple-schedule scheduleid="1-sec-trigger" frequency="1" execCount="2"/>
         </schedule-provider>
     </providers>
 
     <services>
         <service category="ServiceCat" name="ServiceName" description="Test Service">
             <listeners>
-                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" composer="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
+                <scheduled-listener name="simple-schedule-listener" scheduleidref="1-sec-trigger" event-processor="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
             </listeners>
             <actions>
                 <action name="RedeliverMessagesAction" class="org.jboss.soa.esb.actions.MessageRedeliverer">




More information about the jboss-svn-commits mailing list