[jboss-svn-commits] JBL Code SVN: r24523 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/runtime/dataloader/impl and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jan 3 00:59:17 EST 2009


Author: mark.proctor at jboss.com
Date: 2009-01-03 00:59:16 -0500 (Sat, 03 Jan 2009)
New Revision: 24523

Added:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JxlsTransformerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ListAdapter.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Sender.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksTransformerProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CallableImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListAdapterImpl.java
Removed:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbPipelineProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksPipelineProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamPipelineProvider.java
Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/EntryPointReceiverAdapter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatefulKnowledgeSessionDataLoaderImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionDataLoaderImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionReceiverAdapter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseEmitter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/IterateSplitter.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/MvelExpression.java
Log:
JBRULES-1903 Pipeline support for DataLoaders and Feeders
-Added of jXLS support
-Added Callable support
-Added List adapter
-Refactored Receiver.signal(...) to Receiver.receive(...)

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Callable.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,12 @@
+package org.drools.runtime.pipeline;
+
+
+/**
+ * 
+ * Must be the first and last Stage in the Pipeline
+ *
+ * @param <E>
+ */
+public interface Callable<E> extends Receiver, Emitter, Stage{
+    E call(Object signal, PipelineContext context);
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -1,5 +1,7 @@
 package org.drools.runtime.pipeline;
 
+import java.util.List;
+
 public interface CorePipelineProvider {
     public Expression newMvelExpression(String expression);
 
@@ -8,4 +10,8 @@
     public Adapter newEntryPointReceiverAdapter();
 
     public Adapter newStatelessKnowledgeSessionReceiverAdapter();
+    
+    public ListAdapter newListAdapter(List<Object> list, boolean syncAccessors); 
+    
+    public Callable newCallable();
 }

Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbPipelineProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbPipelineProvider.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbPipelineProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -1,7 +0,0 @@
-package org.drools.runtime.pipeline;
-
-import javax.xml.bind.Unmarshaller;
-
-public interface JaxbPipelineProvider {
-    Transformer newJaxbTransformer(Unmarshaller unmarshaller);
-}

Copied: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java (from rev 24512, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbPipelineProvider.java)
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JaxbTransformerProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,7 @@
+package org.drools.runtime.pipeline;
+
+import javax.xml.bind.Unmarshaller;
+
+public interface JaxbTransformerProvider {
+    Transformer newJaxbTransformer(Unmarshaller unmarshaller);
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JxlsTransformerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JxlsTransformerProvider.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/JxlsTransformerProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,8 @@
+package org.drools.runtime.pipeline;
+
+import net.sf.jxls.reader.XLSReader;
+
+public interface JxlsTransformerProvider {
+    Transformer newJxlsTransformer(XLSReader reader,
+                                   String text);
+}

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ListAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ListAdapter.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ListAdapter.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,11 @@
+package org.drools.runtime.pipeline;
+
+import java.util.List;
+
+public interface ListAdapter extends Receiver, Stage{
+    
+    List< Object > getList();
+
+    void setList(List< Object > list);
+    
+}

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -1,7 +1,11 @@
 package org.drools.runtime.pipeline;
 
+import java.util.List;
+
 import javax.xml.bind.Unmarshaller;
 
+import net.sf.jxls.reader.XLSReader;
+
 import org.drools.ProviderInitializationException;
 import org.milyn.Smooks;
 
@@ -11,12 +15,14 @@
 
     private static CorePipelineProvider   corePipelineProvider;
 
-    private static JaxbPipelineProvider   jaxbPipelineProvider;
+    private static JaxbTransformerProvider   jaxbPipelineProvider;
 
-    private static SmooksPipelineProvider smooksPipelineProvider;
+    private static SmooksTransformerProvider smooksPipelineProvider;
     
-    private static XStreamPipelineProvider xstreamPipelineProvider;
+    private static XStreamTransformerProvider xstreamPipelineProvider;
 
+    private static JxlsTransformerProvider jxlsPipelineProvider;
+    
     public static Transformer newSmooksTransformer(Smooks smooks,
                                                    String rootId) {
         return getSmooksPipelineProvider().newSmooksTransformer( smooks,
@@ -28,8 +34,12 @@
     }
     
     public static Transformer newXStreamTransformer(XStream xstream) {
-    	 return getXStreamPipelineProvider().newXStreamTransformer( xstream );
+    	 return getXStreamTransformerProvider().newXStreamTransformer( xstream );
     }
+    
+    public static Transformer newJxlsTransformer(XLSReader xlsReader, String text) {
+        return getJxlsTransformerProvider().newJxlsTransformer( xlsReader, text );
+    }
 
     public static Expression newMvelExpression(String expression) {
         return getCorePipelineProvider().newMvelExpression( expression );
@@ -38,6 +48,14 @@
     public static Splitter newIterateSplitter() {
         return getCorePipelineProvider().newIterateSplitter();
     }
+    
+    public static ListAdapter newListAdapter(List list, boolean syncAccessor) {
+        return getCorePipelineProvider().newListAdapter(list, syncAccessor);
+    }
+    
+    public static Callable newCallable() {
+        return getCorePipelineProvider().newCallable();
+    }    
 
     public static Adapter newEntryPointReceiverAdapter() {
         return getCorePipelineProvider().newEntryPointReceiverAdapter();
@@ -68,67 +86,88 @@
         }
     }   
     
-    private static synchronized void setJaxbPipelineProvider(JaxbPipelineProvider provider) {
+    private static synchronized void setJaxbTransformerProvider(JaxbTransformerProvider provider) {
         PipelineFactory.jaxbPipelineProvider = provider;
     }
 
-    private static synchronized JaxbPipelineProvider getJaxbPipelineProvider() {
+    private static synchronized JaxbTransformerProvider getJaxbPipelineProvider() {
         if ( jaxbPipelineProvider == null ) {
-            loadJaxbPipelineProvider();
+            loadJaxbTransformerProvider();
         }
         return jaxbPipelineProvider;
     }
 
-    private static void loadJaxbPipelineProvider() {
+    private static void loadJaxbTransformerProvider() {
         try {
-            Class<JaxbPipelineProvider> cls = (Class<JaxbPipelineProvider>) Class.forName( "org.drools.runtime.pipeline.impl.JaxbTransformer$JaxbPipelineProviderImpl" );
-            setJaxbPipelineProvider( cls.newInstance() );
+            Class<JaxbTransformerProvider> cls = (Class<JaxbTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.JaxbTransformer$JaxbTransformerProviderImpl" );
+            setJaxbTransformerProvider( cls.newInstance() );
         } catch ( Exception e2 ) {
-            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.JaxbTransformer$JaxbPipelineProviderImpl could not be set.",
+            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.JaxbTransformer$JaxbTransformerProviderImpl could not be set.",
                                                        e2 );
         }
     } 
     
-    private static synchronized void setSmooksPipelineProvider(SmooksPipelineProvider provider) {
+    private static synchronized void setSmooksTransformerProvider(SmooksTransformerProvider provider) {
         PipelineFactory.smooksPipelineProvider = provider;
     }
 
-    private static synchronized SmooksPipelineProvider getSmooksPipelineProvider() {
+    private static synchronized SmooksTransformerProvider getSmooksPipelineProvider() {
         if ( smooksPipelineProvider == null ) {
-            loadSmooksPipelineProvider();
+            loadSmooksTransformerProvider();
         }
         return smooksPipelineProvider;
     }
     
-    private static void loadSmooksPipelineProvider() {
+    private static void loadSmooksTransformerProvider() {
         try {
-            Class<SmooksPipelineProvider> cls = (Class<SmooksPipelineProvider>) Class.forName( "org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksPipelineProviderImpl" );
-            setSmooksPipelineProvider( cls.newInstance() );
+            Class<SmooksTransformerProvider> cls = (Class<SmooksTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksTransformerProviderImpl" );
+            setSmooksTransformerProvider( cls.newInstance() );
         } catch ( Exception e2 ) {
-            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksPipelineProviderImpl could not be set.",
+            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksTransformerProviderImpl could not be set.",
                                                        e2 );
         }
     }      
     
-    private static synchronized void setXStreamPipelineProvider(XStreamPipelineProvider provider) {
+    private static synchronized void setXStreamTransformerProvider(XStreamTransformerProvider provider) {
         PipelineFactory.xstreamPipelineProvider = provider;
     }
 
-    private static synchronized XStreamPipelineProvider getXStreamPipelineProvider() {
+    private static synchronized XStreamTransformerProvider getXStreamTransformerProvider() {
         if ( xstreamPipelineProvider == null ) {
-            loadXStreamPipelineProvider();
+            loadXStreamTransformerProvider();
         }
         return xstreamPipelineProvider;
     }
 
-    private static void loadXStreamPipelineProvider() {
+    private static void loadXStreamTransformerProvider() {
         try {
-            Class<XStreamPipelineProvider> cls = (Class<XStreamPipelineProvider>) Class.forName( "org.drools.runtime.pipeline.impl.XStreamTransformer$XStreamPipelineProviderImpl" );
-            setXStreamPipelineProvider( cls.newInstance() );
+            Class<XStreamTransformerProvider> cls = (Class<XStreamTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.XStreamTransformer$XStreamTransformerProviderImpl" );
+            setXStreamTransformerProvider( cls.newInstance() );
         } catch ( Exception e2 ) {
-            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.XStreamTransformer$XStreamPipelineProviderImpl could not be set.",
+            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.XStreamTransformer$XStreamTransformerProviderImpl could not be set.",
                                                        e2 );
         }
-    }      
+    }   
+    
+    private static synchronized void setJxlsTransformerProvider(JxlsTransformerProvider provider) {
+        PipelineFactory.jxlsPipelineProvider = provider;
+    }
 
+    private static synchronized JxlsTransformerProvider getJxlsTransformerProvider() {
+        if ( jxlsPipelineProvider == null ) {
+            loadJxlsTransformerProvider();
+        }
+        return jxlsPipelineProvider;
+    }
+
+    private static void loadJxlsTransformerProvider() {
+        try {
+            Class<JxlsTransformerProvider> cls = (Class<JxlsTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.JxlsTransformer$JxlsTransformerProviderImpl" );
+            setJxlsTransformerProvider( cls.newInstance() );
+        } catch ( Exception e2 ) {
+            throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.JxlsTransformer$JxlsTransformerProviderImpl could not be set.",
+                                                       e2 );
+        }
+    }    
+
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Receiver.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -2,5 +2,5 @@
 
 
 public interface Receiver {
-	void signal(Object object, PipelineContext context);
+	void receive(Object object, PipelineContext context);
 }

Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Sender.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Sender.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Sender.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,5 @@
+package org.drools.runtime.pipeline;
+
+public interface Sender extends Receiver, Stage {
+
+}

Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksPipelineProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksPipelineProvider.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksPipelineProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -1,8 +0,0 @@
-package org.drools.runtime.pipeline;
-
-import org.milyn.Smooks;
-
-public interface SmooksPipelineProvider {
-    Transformer newSmooksTransformer(Smooks smooks,
-                                     String rootId);
-}

Copied: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksTransformerProvider.java (from rev 24512, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksPipelineProvider.java)
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksTransformerProvider.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksTransformerProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,8 @@
+package org.drools.runtime.pipeline;
+
+import org.milyn.Smooks;
+
+public interface SmooksTransformerProvider {
+    Transformer newSmooksTransformer(Smooks smooks,
+                                     String rootId);
+}

Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamPipelineProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamPipelineProvider.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamPipelineProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -1,7 +0,0 @@
-package org.drools.runtime.pipeline;
-
-import com.thoughtworks.xstream.XStream;
-
-public interface XStreamPipelineProvider {
-    Transformer newXStreamTransformer(XStream xstream);
-}

Copied: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java (from rev 24512, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamPipelineProvider.java)
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,7 @@
+package org.drools.runtime.pipeline;
+
+import com.thoughtworks.xstream.XStream;
+
+public interface XStreamTransformerProvider {
+    Transformer newXStreamTransformer(XStream xstream);
+}


Property changes on: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/EntryPointReceiverAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/EntryPointReceiverAdapter.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/EntryPointReceiverAdapter.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -11,7 +11,7 @@
 public class EntryPointReceiverAdapter extends BaseStage
     implements
     Adapter {
-    public void signal(Object object,
+    public void receive(Object object,
                        PipelineContext context) {
         EntryPointPipelineContext pContext = (EntryPointPipelineContext) context;
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatefulKnowledgeSessionDataLoaderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatefulKnowledgeSessionDataLoaderImpl.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatefulKnowledgeSessionDataLoaderImpl.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -37,7 +37,7 @@
      */
     public Map insert(Object object) {
         EntryPointPipelineContext context = new EntryPointPipelineContext( this.entryPoint );
-        this.pipeline.signal( object,
+        this.pipeline.receive( object,
                               context );
 
         return context.getHandles();

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionDataLoaderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionDataLoaderImpl.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionDataLoaderImpl.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -30,7 +30,7 @@
      */
     public void executeObject(Object object) {
         StatelessKnowledgeSessionPipelineContext context = new StatelessKnowledgeSessionPipelineContext( this.ksession );
-        this.pipeline.signal( object,
+        this.pipeline.receive( object,
                               context );
         this.ksession.executeObject( context.getResult().get( 0 ) );
     }
@@ -40,7 +40,7 @@
      */
     public void executeIterable(Object object) {
         StatelessKnowledgeSessionPipelineContext context = new StatelessKnowledgeSessionPipelineContext( this.ksession );
-        this.pipeline.signal( object,
+        this.pipeline.receive( object,
                               context );
         this.ksession.executeIterable( (Iterable) context.getResult() );
     }
@@ -51,7 +51,7 @@
     public StatelessKnowledgeSessionResults executeObjectWithParameters(Object object,
                                                                  Parameters parameters) {
         StatelessKnowledgeSessionPipelineContext context = new StatelessKnowledgeSessionPipelineContext( this.ksession );
-        this.pipeline.signal( object,
+        this.pipeline.receive( object,
                               context );
         return this.ksession.executeObjectWithParameters( context.getResult().get( 0 ),
                                                           parameters );
@@ -63,7 +63,7 @@
     public StatelessKnowledgeSessionResults executeIterableWithParameters(Object object,
                                                                    Parameters parameters) {
         StatelessKnowledgeSessionPipelineContext context = new StatelessKnowledgeSessionPipelineContext( this.ksession );
-        this.pipeline.signal( object,
+        this.pipeline.receive( object,
                               context );
         return this.ksession.executeIterableWithParameters( (Iterable) context.getResult(),
                                                             parameters );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionReceiverAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionReceiverAdapter.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/StatelessKnowledgeSessionReceiverAdapter.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -10,7 +10,7 @@
 public class StatelessKnowledgeSessionReceiverAdapter extends BaseStage
     implements
     Adapter {
-    public void signal(Object object,
+    public void receive(Object object,
                        PipelineContext context) {
         StatelessKnowledgeSessionPipelineContext pContext = (StatelessKnowledgeSessionPipelineContext) context;
         pContext.addResult( object );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseEmitter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseEmitter.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseEmitter.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -33,7 +33,7 @@
     protected void emit(Object object,
                         PipelineContext context) {
         for ( Receiver receiver : this.receivers ) {
-            receiver.signal( object,
+            receiver.receive( object,
                              context );
         }
     }

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CallableImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CallableImpl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CallableImpl.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,29 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.Callable;
+import org.drools.runtime.pipeline.PipelineContext;
+
+public class CallableImpl<E> extends BaseEmitter
+    implements
+    Callable {
+    public static final String key = "__CallableReturnValue__";
+
+    public CallableImpl() {
+        super();
+    }
+
+    public Object call(Object object,
+                       PipelineContext context) {
+        emit( object,
+              context );
+        return context.getProperties().remove( key );
+    }
+
+    public void receive(Object object,
+                       PipelineContext context) {
+        context.getProperties().put( key,
+                                     object );
+
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -1,15 +1,21 @@
 package org.drools.runtime.pipeline.impl;
 
+import java.util.List;
+
 import org.drools.runtime.dataloader.impl.EntryPointReceiverAdapter;
 import org.drools.runtime.dataloader.impl.StatelessKnowledgeSessionReceiverAdapter;
 import org.drools.runtime.pipeline.Adapter;
+import org.drools.runtime.pipeline.Callable;
 import org.drools.runtime.pipeline.CorePipelineProvider;
 import org.drools.runtime.pipeline.Expression;
 import org.drools.runtime.pipeline.Splitter;
+import org.drools.runtime.pipeline.ListAdapter;
 
-public class CorePipelineProviderImpl implements CorePipelineProvider {
+public class CorePipelineProviderImpl
+    implements
+    CorePipelineProvider {
     public Expression newMvelExpression(String expression) {
-        return new MvelExpression(expression);
+        return new MvelExpression( expression );
     }
 
     public Splitter newIterateSplitter() {
@@ -23,4 +29,14 @@
     public Adapter newStatelessKnowledgeSessionReceiverAdapter() {
         return new StatelessKnowledgeSessionReceiverAdapter();
     }
+
+    public ListAdapter newListAdapter(List<Object> list,
+                                      boolean syncAccessors) {
+        return new ListAdapterImpl( list,
+                                    syncAccessors );
+    }
+    
+    public Callable newCallable() {
+        return new CallableImpl();
+    }    
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/IterateSplitter.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/IterateSplitter.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/IterateSplitter.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -7,7 +7,7 @@
     implements
     Splitter {
 
-    public void signal(Object object,
+    public void receive(Object object,
                        PipelineContext context) {
         if ( object instanceof Iterable ) {
             for ( Object result : ((Iterable) object) ) {

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListAdapterImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListAdapterImpl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListAdapterImpl.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -0,0 +1,46 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.List;
+
+import org.drools.runtime.pipeline.ListAdapter;
+import org.drools.runtime.pipeline.PipelineContext;
+
+public class ListAdapterImpl extends BaseStage
+    implements
+    ListAdapter {
+    private List<Object> list;
+    private boolean      syncAccessor;
+
+    public ListAdapterImpl(List<Object> list,
+                           boolean syncAccessor) {
+        super();
+        this.list = list;
+        this.syncAccessor = syncAccessor;
+    }
+
+    public List<Object> getList() {
+        if ( this.syncAccessor ) {
+            synchronized ( this ) {
+                return list;
+            }
+        } else {
+            return list;
+        }
+    }
+
+    public void setList(List<Object> list) {
+        if ( this.syncAccessor ) {
+            synchronized ( this ) {
+                this.list = list;
+            }
+        } else {
+            this.list = list;
+        }
+    }
+
+    public void receive(Object object,
+                       PipelineContext context) {
+        this.list.add( object );
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/MvelExpression.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/MvelExpression.java	2009-01-03 05:58:29 UTC (rev 24522)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/MvelExpression.java	2009-01-03 05:59:16 UTC (rev 24523)
@@ -23,7 +23,7 @@
         this.expr = compiler.compile( parserContext );
     }
 
-    public void signal(Object object,
+    public void receive(Object object,
                        PipelineContext context) {
         Object result = null;
         try {




More information about the jboss-svn-commits mailing list