[jboss-svn-commits] JBL Code SVN: r17302 - in labs/jbossesb/workspace/bramley/product: etc/schemas/xml and 12 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 18 09:55:09 EST 2007


Author: tfennelly
Date: 2007-12-18 09:55:09 -0500 (Tue, 18 Dec 2007)
New Revision: 17302

Added:
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java
Modified:
   labs/jbossesb/workspace/bramley/product/build.xml
   labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd
   labs/jbossesb/workspace/bramley/product/product.properties
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
   labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
   labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java
   labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java
   labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml
   labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java
Log:
Some schedule provider mods

Modified: labs/jbossesb/workspace/bramley/product/build.xml
===================================================================
--- labs/jbossesb/workspace/bramley/product/build.xml	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/build.xml	2007-12-18 14:55:09 UTC (rev 17302)
@@ -34,7 +34,7 @@
 	<property name="org.jboss.esb.internal.jar.dest" location="build/jbossesb/lib"/>
 
 	<!-- JBoss ESB version -->
-	<property name="version" value="4.2.1IR1"/>
+	<property name="version" value="4.2.1.BRAMLEY"/>
 	<property name="esb.server.name" value="jbossesb-server-${version}"/>
 	<property name="esbserver.dist.dir" value="${org.jboss.esb.internal.dest}/${esb.server.name}"/>
 
@@ -385,7 +385,7 @@
                     </fileset>
 				</copy>
 
-		<echo message="Installing xml ${org.jboss.esb.installationdirectory}"/>
+        <echo message="Installing xml ${org.jboss.esb.installationdirectory}"/>
 		<mkdir dir="${org.jboss.esb.installationdirectory}/xml"/>
 		<copy
 			todir="${org.jboss.esb.installationdirectory}/xml"
@@ -409,9 +409,60 @@
 		<copy todir="${org.jboss.esb.internal.jar.dest}">
 			<fileset dir="build" includes="jbossesb.sar/**"/>
 		</copy>
+
+        <antcall target="install.bins.in.repo" />
 	</target>
-	
-	<!-- Build the tools into the main dist -->
+
+    <target name="install.bins.in.repo">
+        <available file="${repo}" type="dir" property="repo.available" />
+        <antcall target="echo.repo.unavailable"/>
+
+        <!-- The rosetta jar... -->
+        <antcall target="install.in.repo">
+            <param name="groupId" value="jboss" />
+            <param name="artifactId" value="jbossesb-rosetta" />
+            <param name="version" value="${version}" />
+            <param name="file" value="${org.jboss.esb.installationdirectory}/lib/jbossesb-rosetta.jar" />
+            <param name="ext" value="jar" />
+        </antcall>
+        <!-- The rosetta config xmlbeans model jar... -->
+        <antcall target="install.in.repo">
+            <param name="groupId" value="jboss" />
+            <param name="artifactId" value="jbossesb-rosetta-xmlbeans" />
+            <param name="version" value="${version}" />
+            <param name="file" value="${org.jboss.esb.installationdirectory}/lib/jbossesb-config-model-1.0.1.jar" />
+            <param name="ext" value="jar" />
+        </antcall>
+        <!-- The rosetta test util jar... -->
+        <antcall target="install.in.repo">
+            <param name="groupId" value="jboss" />
+            <param name="artifactId" value="jbossesb-rosetta-test-utils" />
+            <param name="version" value="${version}" />
+            <param name="file" value="${org.jboss.esb.installationdirectory}/lib/test-util.jar" />
+            <param name="ext" value="jar" />
+        </antcall>
+        <!-- The rosetta config xmlbeans model jar... -->
+        <antcall target="install.in.repo">
+            <param name="groupId" value="jboss" />
+            <param name="artifactId" value="jbossts-common" />
+            <param name="version" value="1.0" />
+            <param name="file" value="${org.jboss.esb.installationdirectory}/lib/ext/jbossts-common.jar" />
+            <param name="ext" value="jar" />
+        </antcall>
+    </target>
+
+    <target if="repo.available" name="install.in.repo">
+        <property name="artifact.install.dir" value="${repo}/${groupId}/${artifactId}/${version}" />
+
+        <mkdir dir="${artifact.install.dir}" />
+        <copy file="${file}" tofile="${artifact.install.dir}/${artifactId}-${version}.${ext}" overwrite="true" />
+    </target>
+
+    <target unless="repo.available" name="echo.repo.unavailable">
+        <echo message="Sorry, the configured repo '${repo}' is not accessible.  Please configure the 'repo' property in your local product.properties file." />
+    </target>
+
+    <!-- Build the tools into the main dist -->
 	<target name="org.jboss.esb.tools">
 		<!-- Build the admin console webapp. -->
 		<ant dir="${console.dir}" target="dist">

Modified: labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/etc/schemas/xml/jbossesb-1.0.1.xsd	2007-12-18 14:55:09 UTC (rev 17302)
@@ -146,9 +146,14 @@
                 <xsd:extension base="jesb:schedule">
                     <xsd:attribute name="frequency" use="optional" type="xsd:long" default="10">
                         <xsd:annotation>
-                            <xsd:documentation xml:lang="en">Schedule frequency, in seconds.</xsd:documentation>
+                            <xsd:documentation xml:lang="en">Schedule frequency.</xsd:documentation>
                         </xsd:annotation>
                     </xsd:attribute>
+                    <xsd:attribute name="frequencyUnits" use="optional" type="jesb:frequency-unit" default="seconds">
+                        <xsd:annotation>
+                            <xsd:documentation xml:lang="en">Schedule frequency time units.</xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:attribute>
                     <xsd:attribute name="execCount" use="optional" type="xsd:int" default="-1">
                         <xsd:annotation>
                             <xsd:documentation xml:lang="en">Schedule execution count. -1 to execute indefinitely.</xsd:documentation>
@@ -158,6 +163,12 @@
             </xsd:complexContent>
         </xsd:complexType>
     </xsd:element>
+    <xsd:simpleType name="frequency-unit">
+        <xsd:restriction base="xsd:NMTOKEN">
+            <xsd:enumeration value="seconds"/>
+            <xsd:enumeration value="milliseconds"/>
+        </xsd:restriction>
+    </xsd:simpleType>
 
     <xsd:element name="cron-schedule" substitutionGroup="jesb:schedule">
         <xsd:complexType>

Modified: labs/jbossesb/workspace/bramley/product/product.properties
===================================================================
--- labs/jbossesb/workspace/bramley/product/product.properties	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/product.properties	2007-12-18 14:55:09 UTC (rev 17302)
@@ -5,6 +5,8 @@
 org.jboss.esb.build.optimize=off
 org.jboss.esb.build.debug=yes
 
+repo=m:/
+
 # uncomment the following if you wish to use an app server installation
 # for tests instead of the included jbossesb-server
 #org.jboss.esb.server.home=<app server home>

Added: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java	                        (rev 0)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/Configurable.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -0,0 +1,38 @@
+/*
+ * 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;
+
+/**
+ * Configurable component.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public interface Configurable {
+    // This should eventually be supported through annotations.
+
+    /**
+     * Set the component configuration.
+     * @param config The conponent configuration.
+     * @throws ConfigurationException Bad component configuration.
+     */
+    public void setConfiguration(ConfigTree config) throws ConfigurationException;
+}


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

Added: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java	                        (rev 0)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/actions/PipelineProcessingContext.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -0,0 +1,54 @@
+/*
+ * 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.actions;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Simple context class for pipeline processing.
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class PipelineProcessingContext {
+    
+    private Map contextMap = new LinkedHashMap();
+    private boolean pipelineInError = false;
+
+    public void set(Object key, Object value) {
+        contextMap.put(key, value);
+    }
+
+    public Object get(Object key) {
+        return contextMap.get(key);
+    }
+
+    public Object remove(Object key) {
+        return contextMap.remove(key);
+    }
+
+    public boolean isPipelineInError() {
+        return pipelineInError;
+    }
+
+    public void setPipelineInError(boolean pipelineInError) {
+        this.pipelineInError = pipelineInError;
+    }
+}


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

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/couriers/CourierFactory.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -302,7 +302,7 @@
                 final String lifecycleIdentity)
                 throws LifecycleResourceException
             {
-                if (resource.size() > 0)
+                if (resource != null && !resource.isEmpty())
                 {
                     LOGGER.warn("Calling cleanup on existing couriers for identity " + lifecycleIdentity) ;
                     final Iterator<Entry<TwoWayCourier, Exception>> entryIter = resource.entrySet().iterator() ;

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResource.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -117,12 +117,11 @@
             {
                 return resource ;
             }
-            if (logger.isDebugEnabled())
-            {
-                logger.debug("Creating resource using factory: " + factory + " with identity " + identity) ;
-            }
             final R newResource = factory.createLifecycleResource(identity) ;
             lifecycleResourceMap.put(identity, newResource) ;
+            if(logger.isDebugEnabled()) {
+                logger.debug("Created new Lifecycle Resource " + newResource + " for identity '" + identity + "'.  Used factory '" + factory.getClass().getName() + "'.");
+            }
             return newResource ;
         }
         finally
@@ -149,8 +148,12 @@
         {
             writeLock.unlock() ;
         }
-            
-        cleanupLifecycleResource(factory, resource, identity) ;
+
+        if(resource != null) {
+            cleanupLifecycleResource(factory, resource, identity) ;
+        } else {
+            logger.info("Resource associated with lifecycle identity '" + identity + "' is null. Cannot cleanup resource.");
+        }
     }
     
     /**

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduleListener.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -27,6 +27,7 @@
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.Initializable;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
 import org.jboss.soa.esb.util.ClassUtil;
 import org.jboss.soa.esb.message.Message;
 
@@ -98,15 +99,26 @@
      * @throws SchedulingException Error processing scheduled event.
      */
     public void onSchedule() throws SchedulingException {
-        Message message;
+        Message message = null;
 
         if(eventProcessor instanceof ScheduledEventMessageComposer) {
             ScheduledEventMessageComposer composer = (ScheduledEventMessageComposer)eventProcessor;
-            message = composer.composeMessage();
-            if(message != null)
-            {
-	            pipeline.process(message);
-	            composer.onProcessingComplete(message);
+            PipelineProcessingContext context = new PipelineProcessingContext();
+
+            try {
+                message = composer.composeMessage(context);
+                if(message != null) {
+                    if(pipeline.process(message)) {
+                        context.setPipelineInError(false);
+                    } else {
+                        context.setPipelineInError(true);
+                    }
+                }
+            } catch(Throwable t) {
+                context.setPipelineInError(true);
+                throw new SchedulingException("Exception while processing message received through scheduled composer '" + composer.getClass().getName() + "'.", t);
+            } finally {
+                composer.onProcessingComplete(message, context);
             }
         } else {
             ((ScheduledEventListener)eventProcessor).onSchedule();

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/ScheduledEventMessageComposer.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -19,12 +19,13 @@
  */
 package org.jboss.soa.esb.listeners;
 
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.Initializable;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
+import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.schedule.SchedulingException;
-import org.jboss.internal.soa.esb.assertion.AssertArgument;
+import org.jboss.soa.esb.util.ClassUtil;
 
 /**
  * Scheduled Event Composer.
@@ -39,10 +40,11 @@
      * <p/>
      * Called by the {@link org.jboss.soa.esb.schedule.ScheduledEventListener#onSchedule()} method.
      *
+     * @param context Pipeline processing context instance.
      * @return ESB aware message instance. If this method returns null the action pipeline will not be processed.
      * @throws SchedulingException Failed to compose message on scheduled event.
      */
-    public Message composeMessage() throws SchedulingException;
+    public Message composeMessage(PipelineProcessingContext context) throws SchedulingException;
 
     /**
      * Called by the {@link org.jboss.soa.esb.schedule.ScheduledEventListener} after processing of the
@@ -51,10 +53,11 @@
      * This event can be used to perform any necessary cleanup processing for the {@link Message} instance etc.
      *
      * @param message ESB aware message instance to be decomposed.
+     * @param context Pipeline processing context instance.
      * @return ESB unaware message instance - a message payload.
      * @throws SchedulingException Error while processing the onProcessingComplete event.
      */
-    public Message onProcessingComplete(Message message) throws SchedulingException;
+    public Message onProcessingComplete(Message message, PipelineProcessingContext context) throws SchedulingException;
 
     /**
      * Uitility factory class for reflective {@link ScheduledEventMessageComposer} construction.

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/config/ScheduleProviderFactory.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -26,6 +26,7 @@
 import org.jboss.soa.esb.listeners.config.xbeanmodel.ScheduleProviderDocument;
 import org.jboss.soa.esb.listeners.config.xbeanmodel.SimpleScheduleDocument;
 import org.jboss.soa.esb.listeners.config.xbeanmodel.CronScheduleDocument;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.FrequencyUnit;
 
 import java.util.List;
 import java.util.Properties;
@@ -93,9 +94,14 @@
 
             if(scheduleConfig instanceof SimpleScheduleDocument.SimpleSchedule) {
                 SimpleSchedule simpleSchedule;
+                FrequencyUnit.Enum frequencyUnit = ((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequencyUnits();
 
                 schedule = simpleSchedule = new SimpleSchedule(scheduleId);
-                simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
+                if(frequencyUnit == FrequencyUnit.SECONDS) {
+                    simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency() * 1000);
+                } else {
+                    simpleSchedule.setFrequency(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getFrequency());
+                }
                 simpleSchedule.setExecCount(((SimpleScheduleDocument.SimpleSchedule)scheduleConfig).getExecCount());
             } else {
                 CronSchedule cronSchedule;

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -44,6 +44,7 @@
 import org.jboss.soa.esb.listeners.message.errors.Factory;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.util.ClassUtil;
+import org.jboss.internal.soa.esb.assertion.AssertArgument;
 
 /**
  * Action Processing Pipeline. <p/> Runs a list of action classes on a message
@@ -237,11 +238,13 @@
 	 */
 	public boolean process(final Message message)
 	{
+        AssertArgument.isNotNull(message, "message");
+
 		final EPR faultToAddress = DefaultFaultTo.getFaultToAddress(message);
 		long start = System.nanoTime();
 		serviceMessageCounter.incrementTotalCount();
 
-		if (active.get())
+        if (active.get())
 		{
 			if (LOGGER.isDebugEnabled())
 			{

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/ScheduleProvider.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -87,13 +87,17 @@
         if(schedule instanceof SimpleSchedule) {
             SimpleSchedule simpleSchedule = (SimpleSchedule) schedule;
             if(simpleSchedule.getExecCount() == -1) {
-                trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency());
+                trigger = new SimpleTrigger();
+                ((SimpleTrigger)trigger).setRepeatInterval(simpleSchedule.getFrequency());
+                ((SimpleTrigger)trigger).setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
             } else if(simpleSchedule.getExecCount() == 0) {
                 logger.warn("<simple-schedule> '" + scheduleId + "' has an execCount of 0 configured.  This schedule will not fire!");
                 return;
             } else {
                 // So the repeatCount = execCount - 1 ....
-                trigger = TriggerUtils.makeSecondlyTrigger((int) simpleSchedule.getFrequency(), (simpleSchedule.getExecCount() - 1));
+                trigger = new SimpleTrigger();
+                ((SimpleTrigger)trigger).setRepeatInterval(simpleSchedule.getFrequency());
+                ((SimpleTrigger)trigger).setRepeatCount(simpleSchedule.getExecCount() - 1);
             }
             trigger.setName(simpleSchedule.getScheduleid());
         } else {

Modified: labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/src/org/jboss/soa/esb/schedule/SimpleSchedule.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -35,7 +35,7 @@
  */
 public class SimpleSchedule extends Schedule {
 
-    /* polling frequency in seconds */
+    /* polling frequency in milliseconds */
     private long frequency;
     /* nr of times to execute */
     private int execCount;

Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/listeners/ScheduledListenerUnitTest.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -27,6 +27,7 @@
 
 import org.jboss.internal.soa.esb.util.StreamUtils;
 import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.schedule.MockScheduledEventMessageComposer;
@@ -85,7 +86,7 @@
 	 *
 	 */
 	public static class MockMessageComposer extends MockScheduledEventMessageComposer {
-	    public Message composeMessage() throws SchedulingException {
+	    public Message composeMessage(PipelineProcessingContext context) throws SchedulingException {
 	    	return null;
 	    }
 	}

Modified: labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/rosetta/tests/src/org/jboss/soa/esb/schedule/MockScheduledEventMessageComposer.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -22,6 +22,7 @@
 import org.jboss.soa.esb.listeners.ScheduledEventMessageComposer;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
 
 import java.util.Collections;
 import java.util.List;
@@ -52,14 +53,16 @@
         MockScheduledEventMessageComposer.uninitialised = true;
     }
 
-    public Message composeMessage() throws SchedulingException {
+    public Message composeMessage(PipelineProcessingContext context) throws SchedulingException {
         Message message = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
         MockScheduledEventMessageComposer.composedMessages.add(message);
         return message;
     }
 
-    public Message onProcessingComplete(Message message) throws SchedulingException {
-        completedMessage.add(message);
+    public Message onProcessingComplete(Message message, PipelineProcessingContext context) throws SchedulingException {
+        if(message != null) {
+            completedMessage.add(message);
+        }
         return message;
     }
 }

Modified: labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/samples/quickstarts/helloworld_action/jboss-esb.xml	2007-12-18 14:55:09 UTC (rev 17302)
@@ -10,13 +10,6 @@
                       dest-name="queue/quickstart_helloworld_action_Request"
                   />
               </jms-bus>
-              <jms-bus busid="quickstartEsbChannel">
-                  <jms-message-filter
-                      dest-type="QUEUE"
-                      dest-name="queue/B"
-                  />
-              </jms-bus>
-
           </jms-provider>
       </providers>
       
@@ -26,15 +19,10 @@
                  name="SimpleListener" 
                  description="Hello World" >
             <listeners>
-                <jms-listener name="JMS-Gateway"
-                    busidref="quickstartGwChannel"                         
-                    maxThreads="1"
-                    is-gateway="true"
-                />
-                <jms-listener name="JMS-ESBListener"
-                              busidref="quickstartEsbChannel"
-                              maxThreads="1"
-                />                
+
+                <jms-listener name="JMS-Gateway" busidref="quickstartGwChannel" maxThreads="1" is-gateway="true" />
+                <invm-listener name="invm" />
+
             </listeners>
             <actions>
             <action name="action2"

Modified: labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java
===================================================================
--- labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java	2007-12-18 14:02:31 UTC (rev 17301)
+++ labs/jbossesb/workspace/bramley/product/services/jbossesb/src/main/java/org/jboss/soa/esb/schedule/RedeliverEventMessageComposer.java	2007-12-18 14:55:09 UTC (rev 17302)
@@ -4,6 +4,7 @@
 package org.jboss.soa.esb.schedule;
 
 import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.actions.PipelineProcessingContext;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.ScheduledEventMessageComposer;
 import org.jboss.soa.esb.message.Message;
@@ -20,7 +21,7 @@
     /* (non-Javadoc)
      * @see org.jboss.soa.esb.listeners.ScheduledEventMessageComposer#composeMessage()
      */
-    public Message composeMessage() throws SchedulingException 
+    public Message composeMessage(PipelineProcessingContext context) throws SchedulingException
     {
         Message message = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
         message.getProperties().setProperty(MessageStore.CLASSIFICATION, MessageStore.CLASSIFICATION_RDLVR);
@@ -38,7 +39,7 @@
     /* (non-Javadoc)
      * @see org.jboss.soa.esb.listeners.ScheduledEventMessageComposer#onProcessingComplete(org.jboss.soa.esb.message.Message)
      */
-    public Message onProcessingComplete(Message message) throws SchedulingException {
+    public Message onProcessingComplete(Message message, PipelineProcessingContext context) throws SchedulingException {
         // TODO Auto-generated method stub
         return null;
     }




More information about the jboss-svn-commits mailing list