[jboss-svn-commits] JBL Code SVN: r24647 - in labs/jbossrules/trunk: drools-api/src/main/java/org/drools/runtime/pipeline and 13 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jan 12 01:45:56 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-01-12 01:45:55 -0500 (Mon, 12 Jan 2009)
New Revision: 24647
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/ListAdapter.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/AssignObjectAsResult.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseService.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecuteResultHandler.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListCollectJoin.java
Removed:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Adapter.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/DataLoader.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Feeder.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Filter.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/ResultHandlerContext.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Sender.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/ProcessRuntimeDataLoader.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/StatelessKnowledgeSessionDataLoader.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/WorkingMemoryDataLoader.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/impl/
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/Pipeline.java
Modified:
labs/jbossrules/trunk/drools-api/.classpath
labs/jbossrules/trunk/drools-api/pom.xml
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/ResultHandlerFactory.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulKnowledgeSessionPipelineTest.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderFactory.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderProvider.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/ListAdapterImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetGlobalStage.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionInsertStage.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionPipelineImpl.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSetGlobalStage.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSignalEventStage.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionExecuteStage.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionPipelineImpl.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/CallableTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/IterateSplitterTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/ListAdapterTest.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/MvelExpressionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/DroolsJaxbTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatefulSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatelessSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatefulSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatelessSessionTest.java
Log:
JBRULES-1903 Pipeline support for DataLoaders and Feeders
-Refactored all transformation examples to use the pipelines, as dataloaders no longer exist
Modified: labs/jbossrules/trunk/drools-api/.classpath
===================================================================
--- labs/jbossrules/trunk/drools-api/.classpath 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/.classpath 2009-01-12 06:45:55 UTC (rev 24647)
@@ -19,6 +19,7 @@
<classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-impl/2.0.3/jaxb-impl-2.0.3.jar"/>
<classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-xjc/2.0.3/jaxb-xjc-2.0.3.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/jms/jms/1.1/jms-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
<classpathentry kind="var" path="M2_REPO/net/sf/jxls/jxls-reader/0.9.6/jxls-reader-0.9.6.jar"/>
Modified: labs/jbossrules/trunk/drools-api/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-api/pom.xml 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/pom.xml 2009-01-12 06:45:55 UTC (rev 24647)
@@ -45,7 +45,14 @@
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<scope>provided</scope>
- </dependency>
+ </dependency>
+
+ <dependency>
+ <groupId>jms</groupId>
+ <artifactId>jms</artifactId>
+ <version>1.1</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Adapter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Adapter.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Adapter.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,4 +0,0 @@
-package org.drools.runtime.pipeline;
-
-public interface Adapter extends Receiver, Stage {
-}
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-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,19 +1,43 @@
package org.drools.runtime.pipeline;
-import java.util.List;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.StatelessKnowledgeSession;
public interface CorePipelineProvider {
- public Expression newMvelExpression(String expression);
-
- public Action newMvelAction(String action);
- public Splitter newIterateSplitter();
+ Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession);
- public Adapter newEntryPointReceiverAdapter();
+ Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession,
+ String entryPointName);
- public Adapter newStatelessKnowledgeSessionReceiverAdapter();
+ Pipeline newStatelessKnowledgeSessionPipelineImpl(StatelessKnowledgeSession ksession);
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionInsert();
+
+ KnowledgeRuntimeCommand newStatelessKnowledgeSessionExecute();
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetGlobal();
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal();
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier);
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType);
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType,
+ long id);
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String eventType);
- public ListAdapter newListAdapter(List<Object> list, boolean syncAccessors);
+ Action newAssignObjectAsResult();
- public Callable newCallable();
+ Action newExecuteResultHandler();
+
+ Action newMvelAction(String action);
+
+ Expression newMvelExpression(String expression);
+
+ Splitter newIterateSplitter();
+
+ Join newListCollectJoin();
}
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/DataLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/DataLoader.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/DataLoader.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +0,0 @@
-package org.drools.runtime.pipeline;
-
-public interface DataLoader extends Emitter, Stage {
-
-}
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Feeder.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Feeder.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Feeder.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +0,0 @@
-package org.drools.runtime.pipeline;
-
-public interface Feeder extends Emitter, Stage {
-
-}
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Filter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Filter.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Filter.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +0,0 @@
-package org.drools.runtime.pipeline;
-
-public interface Filter extends Emitter, Receiver, Stage {
-
-}
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Join.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,5 @@
+package org.drools.runtime.pipeline;
+
+public interface Join extends Emitter, Receiver, Stage {
+ void completed(PipelineContext context);
+}
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/KnowledgeRuntimeCommand.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,5 @@
+package org.drools.runtime.pipeline;
+
+public interface KnowledgeRuntimeCommand extends Stage, Emitter, Receiver {
+
+}
Deleted: 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 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ListAdapter.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,11 +0,0 @@
-package org.drools.runtime.pipeline;
-
-import java.util.List;
-
-public interface ListAdapter extends Receiver, Stage{
-
- List< Object > getList();
-
- void setList(List< Object > list);
-
-}
Copied: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java (from rev 24643, labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/Pipeline.java)
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,6 @@
+package org.drools.runtime.pipeline;
+
+
+public interface Pipeline extends Stage, Emitter{
+ void insert(Object object, ResultHandler resultHandler);
+}
Property changes on: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Pipeline.java
___________________________________________________________________
Name: svn:mergeinfo
+
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-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -7,68 +7,116 @@
import net.sf.jxls.reader.XLSReader;
import org.drools.ProviderInitializationException;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.StatelessKnowledgeSession;
import org.milyn.Smooks;
import com.thoughtworks.xstream.XStream;
public class PipelineFactory {
- private static CorePipelineProvider corePipelineProvider;
+ private static CorePipelineProvider corePipelineProvider;
- private static JaxbTransformerProvider jaxbPipelineProvider;
+ private static JaxbTransformerProvider jaxbPipelineProvider;
- private static SmooksTransformerProvider smooksPipelineProvider;
-
+ private static SmooksTransformerProvider smooksPipelineProvider;
+
private static XStreamTransformerProvider xstreamPipelineProvider;
- private static JxlsTransformerProvider jxlsPipelineProvider;
-
- public static Transformer newSmooksTransformer(Smooks smooks,
- String rootId) {
- return getSmooksPipelineProvider().newSmooksTransformer( smooks,
- rootId );
+ private static JxlsTransformerProvider jxlsPipelineProvider;
+
+ public static Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession) {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionPipeline( ksession );
}
- public static Transformer newJaxbTransformer(Unmarshaller unmarshaller) {
- return getJaxbPipelineProvider().newJaxbTransformer( unmarshaller );
+ public static Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession,
+ String entryPointName) {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionPipeline( ksession,
+ entryPointName );
}
-
- public static Transformer newXStreamTransformer(XStream xstream) {
- return getXStreamTransformerProvider().newXStreamTransformer( xstream );
+
+ public static Pipeline newStatelessKnowledgeSessionPipeline(StatelessKnowledgeSession ksession) {
+ return getCorePipelineProvider().newStatelessKnowledgeSessionPipelineImpl( ksession );
}
-
- public static Transformer newJxlsTransformer(XLSReader xlsReader, String text) {
- return getJxlsTransformerProvider().newJxlsTransformer( xlsReader, text );
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionInsert() {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionInsert();
}
- public static Expression newMvelExpression(String expression) {
- return getCorePipelineProvider().newMvelExpression( expression );
+ public static KnowledgeRuntimeCommand newStatelessKnowledgeSessionExecute() {
+ return getCorePipelineProvider().newStatelessKnowledgeSessionExecute();
}
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetGlobal() {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionGetGlobal();
+ }
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal() {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionSetGlobal();
+ }
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier) {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionSetGlobal( identifier );
+ }
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType) {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionSignalEvent( eventType );
+ }
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType,
+ long id) {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionSignalEvent( eventType,
+ id );
+ }
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String eventType) {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionStartProcess( eventType );
+ }
+ public static Action newAssignObjectAsResult() {
+ return getCorePipelineProvider().newAssignObjectAsResult();
+ }
+
+ public static Action newExecuteResultHandler() {
+ return getCorePipelineProvider().newExecuteResultHandler();
+ }
+
public static Action newMvelAction(String action) {
return getCorePipelineProvider().newMvelAction( action );
}
+ public static Expression newMvelExpression(String expression) {
+ return getCorePipelineProvider().newMvelExpression( expression );
+ }
+
public static Splitter newIterateSplitter() {
return getCorePipelineProvider().newIterateSplitter();
- }
+ }
- public static ListAdapter newListAdapter(List list, boolean syncAccessor) {
- return getCorePipelineProvider().newListAdapter(list, syncAccessor);
+ public static Join newListCollectJoin() {
+ return getCorePipelineProvider().newListCollectJoin();
}
-
- public static Callable newCallable() {
- return getCorePipelineProvider().newCallable();
- }
- public static Adapter newEntryPointReceiverAdapter() {
- return getCorePipelineProvider().newEntryPointReceiverAdapter();
+ public static Transformer newSmooksTransformer(Smooks smooks,
+ String rootId) {
+ return getSmooksPipelineProvider().newSmooksTransformer( smooks,
+ rootId );
}
- public static Adapter newStatelessKnowledgeSessionReceiverAdapter() {
- return getCorePipelineProvider().newStatelessKnowledgeSessionReceiverAdapter();
+ public static Transformer newJaxbTransformer(Unmarshaller unmarshaller) {
+ return getJaxbPipelineProvider().newJaxbTransformer( unmarshaller );
}
-
+
+ public static Transformer newXStreamTransformer(XStream xstream) {
+ return getXStreamTransformerProvider().newXStreamTransformer( xstream );
+ }
+
+ public static Transformer newJxlsTransformer(XLSReader xlsReader,
+ String text) {
+ return getJxlsTransformerProvider().newJxlsTransformer( xlsReader,
+ text );
+ }
+
private static synchronized void setCorePipelineProvider(CorePipelineProvider provider) {
PipelineFactory.corePipelineProvider = provider;
}
@@ -88,8 +136,8 @@
throw new ProviderInitializationException( "org.drools.runtime.pipeline.impl.CorePipelineProviderImpl could not be set.",
e2 );
}
- }
-
+ }
+
private static synchronized void setJaxbTransformerProvider(JaxbTransformerProvider provider) {
PipelineFactory.jaxbPipelineProvider = provider;
}
@@ -109,8 +157,8 @@
throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.JaxbTransformer$JaxbTransformerProviderImpl could not be set.",
e2 );
}
- }
-
+ }
+
private static synchronized void setSmooksTransformerProvider(SmooksTransformerProvider provider) {
PipelineFactory.smooksPipelineProvider = provider;
}
@@ -121,7 +169,7 @@
}
return smooksPipelineProvider;
}
-
+
private static void loadSmooksTransformerProvider() {
try {
Class<SmooksTransformerProvider> cls = (Class<SmooksTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksTransformerProviderImpl" );
@@ -130,8 +178,8 @@
throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksTransformerProviderImpl could not be set.",
e2 );
}
- }
-
+ }
+
private static synchronized void setXStreamTransformerProvider(XStreamTransformerProvider provider) {
PipelineFactory.xstreamPipelineProvider = provider;
}
@@ -151,8 +199,8 @@
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;
}
@@ -172,6 +220,6 @@
throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.JxlsTransformer$JxlsTransformerProviderImpl could not be set.",
e2 );
}
- }
+ }
}
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerContext.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerContext.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerContext.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +0,0 @@
-package org.drools.runtime.pipeline;
-
-public interface ResultHandlerContext {
-
-}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ResultHandlerFactory.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +1,5 @@
package org.drools.runtime.pipeline;
public interface ResultHandlerFactory {
- ResultHandler newResult(ResultHandlerContext context);
+ ResultHandler newResultHandler();
}
Deleted: 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 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Sender.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +0,0 @@
-package org.drools.runtime.pipeline;
-
-public interface Sender extends Receiver, Stage {
-
-}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Service.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -3,4 +3,11 @@
public interface Service {
void start();
void stop();
+
+ void setServiceExceptionHandler(ServiceExceptionHandler exceptionHandler);
+
+ void handleException(Service service,
+ Object object,
+ Exception exception);
+
}
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ServiceExceptionHandler.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,5 @@
+package org.drools.runtime.pipeline;
+
+public interface ServiceExceptionHandler {
+ public void handleException(Service service, Object object, Exception exception);
+}
Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/Splitter.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,5 +1,5 @@
package org.drools.runtime.pipeline;
public interface Splitter extends Emitter, Receiver, Stage {
-
+ void setJoin(Join join);
}
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulKnowledgeSessionPipelineTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulKnowledgeSessionPipelineTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/StatefulKnowledgeSessionPipelineTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -30,7 +30,12 @@
import org.drools.rule.Package;
import org.drools.runtime.ObjectFilter;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
+import org.drools.runtime.pipeline.PipelineFactory;
import org.drools.runtime.pipeline.ResultHandler;
+import org.drools.runtime.pipeline.Stage;
+import org.drools.runtime.pipeline.impl.ExecuteResultHandler;
import org.drools.runtime.pipeline.impl.MvelAction;
import org.drools.runtime.pipeline.impl.StatefulKnowledgeSessionPipelineImpl;
import org.drools.runtime.pipeline.impl.StatefulKnowledgeSessionInsertStage;
@@ -45,12 +50,12 @@
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- StatefulKnowledgeSessionInsertStage stage1 = new StatefulKnowledgeSessionInsertStage();
- MvelAction mvelAction = new MvelAction( "context.resultHandler.handleResult( context.handles )");
- stage1.setReceiver( mvelAction );
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ ExecuteResultHandler resultHandlerStage = new ExecuteResultHandler();
+ insertStage.setReceiver( resultHandlerStage );
- StatefulKnowledgeSessionPipelineImpl pipeline = new StatefulKnowledgeSessionPipelineImpl(ksession);
- pipeline.setReceiver( stage1 );
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline(ksession);
+ pipeline.setReceiver( insertStage );
assertEquals( 0, ksession.getObjects().size() );
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -303,7 +303,7 @@
return null;
}
- public Object getObject(FactHandle handle) {
+ public Object getObject(org.drools.runtime.rule.FactHandle handle) {
// TODO Auto-generated method stub
return null;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/WorkingMemory.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -132,7 +132,7 @@
*
* @return The associated object.
*/
- Object getObject(FactHandle handle);
+ Object getObject(org.drools.runtime.rule.FactHandle handle);
/**
* Retrieve the <code>FactHandle</code> associated with an Object.
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/AbstractWorkingMemory.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -673,7 +673,7 @@
* <code>Object</code> lookup
*
*/
- public Object getObject(final FactHandle handle) {
+ public Object getObject(final org.drools.runtime.rule.FactHandle handle) {
return this.objectStore.getObjectForHandle( (InternalFactHandle) handle );
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/impl/StatefulKnowledgeSessionImpl.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -201,6 +201,10 @@
public FactHandle getFactHandle(Object object) {
return this.session.getFactHandle( object );
}
+
+ public Object getObject(FactHandle factHandle) {
+ return this.session.getObject( factHandle );
+ }
public ProcessInstance getProcessInstance(long id) {
return this.session.getProcessInstance( id );
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderFactory.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderFactory.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -6,42 +6,42 @@
import org.drools.runtime.pipeline.Receiver;
public class DataLoaderFactory {
- private static volatile DataLoaderProvider provider;
-
- public static WorkingMemoryDataLoader newStatefulRuleSessionDataLoader(StatefulKnowledgeSession ksession,
- Receiver pipeline) {
- return getDataLoaderProvider().newStatefulRuleSessionDataLoader( ksession, pipeline );
- }
-
- public static WorkingMemoryDataLoader newStatefulRuleSessionDataLoader(StatefulKnowledgeSession ksession,
- String entryPointName,
- Receiver pipeline) {
- return getDataLoaderProvider().newStatefulKnowledgeSessionDataLoader( ksession, entryPointName, pipeline );
- }
-
- public static StatelessKnowledgeSessionDataLoader newStatelessKnowledgeSessionDataLoader(StatelessKnowledgeSession ksession,
- Receiver pipeline) {
- return getDataLoaderProvider().newStatelessKnowledgeSessionDataLoader( ksession, pipeline );
- }
-
- private static synchronized void setDataLoaderProvider(DataLoaderProvider provider) {
- DataLoaderFactory.provider = provider;
- }
-
- private static synchronized DataLoaderProvider getDataLoaderProvider() {
- if ( provider == null ) {
- loadProvider();
- }
- return DataLoaderFactory.provider;
- }
-
- private static void loadProvider() {
- try {
- Class<DataLoaderProvider> cls = (Class<DataLoaderProvider>) Class.forName( "org.drools.runtime.dataloader.impl.DataLoaderProviderImpl" );
- setDataLoaderProvider( cls.newInstance() );
- } catch ( Exception e2 ) {
- throw new ProviderInitializationException( "Provider org.drools.runtime.dataloader.impl.DataLoaderProviderImpl could not be set.",
- e2 );
- }
- }
+// private static volatile DataLoaderProvider provider;
+//
+// public static WorkingMemoryDataLoader newStatefulRuleSessionDataLoader(StatefulKnowledgeSession ksession,
+// Receiver pipeline) {
+// return getDataLoaderProvider().newStatefulRuleSessionDataLoader( ksession, pipeline );
+// }
+//
+// public static WorkingMemoryDataLoader newStatefulRuleSessionDataLoader(StatefulKnowledgeSession ksession,
+// String entryPointName,
+// Receiver pipeline) {
+// return getDataLoaderProvider().newStatefulKnowledgeSessionDataLoader( ksession, entryPointName, pipeline );
+// }
+//
+// public static StatelessKnowledgeSessionDataLoader newStatelessKnowledgeSessionDataLoader(StatelessKnowledgeSession ksession,
+// Receiver pipeline) {
+// return getDataLoaderProvider().newStatelessKnowledgeSessionDataLoader( ksession, pipeline );
+// }
+//
+// private static synchronized void setDataLoaderProvider(DataLoaderProvider provider) {
+// DataLoaderFactory.provider = provider;
+// }
+//
+// private static synchronized DataLoaderProvider getDataLoaderProvider() {
+// if ( provider == null ) {
+// loadProvider();
+// }
+// return DataLoaderFactory.provider;
+// }
+//
+// private static void loadProvider() {
+// try {
+// Class<DataLoaderProvider> cls = (Class<DataLoaderProvider>) Class.forName( "org.drools.runtime.dataloader.impl.DataLoaderProviderImpl" );
+// setDataLoaderProvider( cls.newInstance() );
+// } catch ( Exception e2 ) {
+// throw new ProviderInitializationException( "Provider org.drools.runtime.dataloader.impl.DataLoaderProviderImpl could not be set.",
+// e2 );
+// }
+// }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderProvider.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/DataLoaderProvider.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -5,13 +5,13 @@
import org.drools.runtime.pipeline.Receiver;
public interface DataLoaderProvider {
- WorkingMemoryDataLoader newStatefulRuleSessionDataLoader(StatefulKnowledgeSession ksession,
- Receiver pipeline);
-
- WorkingMemoryDataLoader newStatefulKnowledgeSessionDataLoader(StatefulKnowledgeSession ksession,
- String entryPointName,
- Receiver pipeline);
-
- StatelessKnowledgeSessionDataLoader newStatelessKnowledgeSessionDataLoader(StatelessKnowledgeSession ksession,
- Receiver pipeline);
+// WorkingMemoryDataLoader newStatefulRuleSessionDataLoader(StatefulKnowledgeSession ksession,
+// Receiver pipeline);
+//
+// WorkingMemoryDataLoader newStatefulKnowledgeSessionDataLoader(StatefulKnowledgeSession ksession,
+// String entryPointName,
+// Receiver pipeline);
+//
+// StatelessKnowledgeSessionDataLoader newStatelessKnowledgeSessionDataLoader(StatelessKnowledgeSession ksession,
+// Receiver pipeline);
}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/ProcessRuntimeDataLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/ProcessRuntimeDataLoader.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/ProcessRuntimeDataLoader.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,8 +0,0 @@
-package org.drools.runtime.dataloader;
-
-import org.drools.runtime.process.ProcessInstance;
-
-public interface ProcessRuntimeDataLoader {
- ProcessInstance startProcess(String processId,
- Object parameters);
-}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/StatelessKnowledgeSessionDataLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/StatelessKnowledgeSessionDataLoader.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/StatelessKnowledgeSessionDataLoader.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,18 +0,0 @@
-package org.drools.runtime.dataloader;
-
-import org.drools.runtime.Parameters;
-import org.drools.runtime.StatelessKnowledgeSessionResults;
-
-public interface StatelessKnowledgeSessionDataLoader {
-
- void executeObject(Object object);
-
- void executeIterable(Object object);
-
- StatelessKnowledgeSessionResults executeObjectWithParameters(Object object,
- Parameters parameters);
-
- StatelessKnowledgeSessionResults executeIterableWithParameters(Object object,
- Parameters parameters);
-
-}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/WorkingMemoryDataLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/WorkingMemoryDataLoader.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/dataloader/WorkingMemoryDataLoader.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,10 +0,0 @@
-package org.drools.runtime.dataloader;
-
-import java.util.Map;
-
-import org.drools.runtime.pipeline.Feeder;
-import org.drools.runtime.rule.FactHandle;
-
-public interface WorkingMemoryDataLoader {
- Map<FactHandle, Object> insert(Object object);
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/ListAdapter.java (from rev 24643, labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/ListAdapter.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/ListAdapter.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/ListAdapter.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -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);
+
+}
Property changes on: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/ListAdapter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/AssignObjectAsResult.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/AssignObjectAsResult.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/AssignObjectAsResult.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,23 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.Action;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.Receiver;
+
+public class AssignObjectAsResult extends BaseEmitter
+ implements
+ Action {
+
+ public AssignObjectAsResult() {
+ super();
+ }
+
+ public void receive(Object object,
+ PipelineContext context) {
+ context.setResult( object );
+
+ emit( object,
+ context );
+ }
+
+}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseService.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/BaseService.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,28 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.Service;
+import org.drools.runtime.pipeline.ServiceExceptionHandler;
+
+public class BaseService {
+ private ServiceExceptionHandler exceptionHandler;
+
+ public BaseService() {
+ super();
+ }
+
+ public void setServiceExceptionHandler(ServiceExceptionHandler exceptionHandler) {
+ this.exceptionHandler = exceptionHandler;
+ }
+
+ public void handleException(Service service,
+ Object object,
+ Exception exception) {
+ if ( this.exceptionHandler != null ) {
+ this.exceptionHandler.handleException( service,
+ object,
+ exception );
+ } else {
+ throw new RuntimeException( exception );
+ }
+ }
+}
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-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -2,46 +2,101 @@
import java.util.List;
-import org.drools.runtime.dataloader.impl.EntryPointReceiverAdapter;
-import org.drools.runtime.dataloader.impl.StatelessKnowledgeSessionReceiverAdapter;
+import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.StatelessKnowledgeSession;
import org.drools.runtime.pipeline.Action;
-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.Join;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.ListAdapter;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.Splitter;
-import org.drools.runtime.pipeline.ListAdapter;
public class CorePipelineProviderImpl
implements
CorePipelineProvider {
- public Expression newMvelExpression(String expression) {
- return new MvelExpression( expression );
+
+ public Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession) {
+ return new StatefulKnowledgeSessionPipelineImpl( ksession );
}
+
+ public Pipeline newStatefulKnowledgeSessionPipeline(StatefulKnowledgeSession ksession,
+ String entryPointName) {
+ return new StatefulKnowledgeSessionPipelineImpl( ksession,
+ entryPointName );
+ }
+
+ public Pipeline newStatelessKnowledgeSessionPipelineImpl(StatelessKnowledgeSession ksession) {
+ return new StatelessKnowledgeSessionPipelineImpl( ksession );
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionInsert() {
+ return new StatefulKnowledgeSessionInsertStage();
+ }
+
+ public KnowledgeRuntimeCommand newStatelessKnowledgeSessionExecute() {
+ return new StatelessKnowledgeSessionExecuteStage();
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetGlobal() {
+ return new StatefulKnowledgeSessionGetGlobalStage();
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal() {
+ return new StatefulKnowledgeSessionSetGlobalStage();
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier) {
+ return new StatefulKnowledgeSessionSetGlobalStage( identifier );
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType) {
+ return new StatefulKnowledgeSessionSignalEventStage( eventType );
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType,
+ long id) {
+ return new StatefulKnowledgeSessionSignalEventStage( eventType,
+ id );
+ }
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionStartProcess(String eventType) {
+ return new StatefulKnowledgeSessionSignalEventStage( eventType );
+ }
+ public Action newAssignObjectAsResult() {
+ return new AssignObjectAsResult();
+ }
+
+ public Action newExecuteResultHandler() {
+ return new ExecuteResultHandler();
+ }
+
public Action newMvelAction(String action) {
return new MvelAction( action );
- }
+ }
+ public Expression newMvelExpression(String expression) {
+ return new MvelExpression( expression );
+ }
+
public Splitter newIterateSplitter() {
return new IterateSplitter();
}
-
- public Adapter newEntryPointReceiverAdapter() {
- return new EntryPointReceiverAdapter();
+
+ public Join newListCollectJoin() {
+ return new ListCollectJoin();
}
- 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();
- }
+ }
}
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecuteResultHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecuteResultHandler.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ExecuteResultHandler.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,26 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.Action;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.Receiver;
+
+public class ExecuteResultHandler extends BaseEmitter
+ implements
+ Action {
+
+ public void receive(Object object,
+ PipelineContext context) {
+ context.getResultHandler().handleResult( context.getResult() );
+
+ try {
+ context.getResultHandler().handleResult( context.getResult() );
+ } catch ( Exception e ) {
+ handleException( this,
+ object,
+ e );
+ }
+ emit( object,
+ context );
+ }
+
+}
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-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/IterateSplitter.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,11 +1,14 @@
package org.drools.runtime.pipeline.impl;
+import org.drools.runtime.pipeline.Join;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Splitter;
public class IterateSplitter extends BaseEmitter
implements
Splitter {
+
+ private Join join;
public void receive(Object object,
PipelineContext context) {
@@ -18,6 +21,14 @@
emit( object,
context );
}
+
+ if ( this.join != null ) {
+ this.join.completed( context);
+ }
}
+ public void setJoin(Join join) {
+ this.join = join;
+ }
+
}
Modified: 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 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListAdapterImpl.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -8,17 +8,17 @@
public class ListAdapterImpl extends BaseStage
implements
ListAdapter {
- private List<Object> list;
+ private List list;
private boolean syncAccessor;
- public ListAdapterImpl(List<Object> list,
+ public ListAdapterImpl(List list,
boolean syncAccessor) {
super();
this.list = list;
this.syncAccessor = syncAccessor;
}
- public List<Object> getList() {
+ public List getList() {
if ( this.syncAccessor ) {
synchronized ( this ) {
return list;
@@ -28,7 +28,7 @@
}
}
- public void setList(List<Object> list) {
+ public void setList(List list) {
if ( this.syncAccessor ) {
synchronized ( this ) {
this.list = list;
Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListCollectJoin.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListCollectJoin.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/ListCollectJoin.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -0,0 +1,31 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.IdentityHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.runtime.pipeline.Join;
+import org.drools.runtime.pipeline.PipelineContext;
+
+public class ListCollectJoin extends BaseEmitter implements Join {
+ private Map<PipelineContext, List> lists;
+
+ public ListCollectJoin() {
+ lists = new IdentityHashMap<PipelineContext, List>();
+ }
+
+ public void receive(Object object,
+ PipelineContext context) {
+ List list = lists.get( context );
+ if ( list == null ) {
+ list = new ArrayList();
+ lists.put( context, list );
+ }
+ list.add( object );
+ }
+
+ public void completed(PipelineContext context) {
+ emit( lists.remove( context ), context);
+ }
+}
Deleted: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/Pipeline.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/Pipeline.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/Pipeline.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,7 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import org.drools.runtime.pipeline.ResultHandler;
-
-public interface Pipeline {
- void insert(Object object, ResultHandler resultHandler);
-}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetGlobalStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetGlobalStage.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetGlobalStage.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -4,13 +4,14 @@
import java.util.Map.Entry;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Receiver;
import org.drools.runtime.pipeline.StatefulKnowledgeSessionPipelineContext;
public class StatefulKnowledgeSessionGetGlobalStage extends BaseEmitter
implements
- Receiver {
+ KnowledgeRuntimeCommand {
public StatefulKnowledgeSessionGetGlobalStage() {
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionInsertStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionInsertStage.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionInsertStage.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -4,13 +4,14 @@
import java.util.Map;
import org.drools.common.InternalFactHandle;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Receiver;
import org.drools.runtime.rule.FactHandle;
public class StatefulKnowledgeSessionInsertStage extends BaseEmitter
implements
- Receiver {
+ KnowledgeRuntimeCommand {
public void receive(Object object,
PipelineContext context) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionPipelineImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionPipelineImpl.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionPipelineImpl.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -3,6 +3,7 @@
import org.drools.common.InternalRuleBase;
import org.drools.impl.StatefulKnowledgeSessionImpl;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.rule.WorkingMemoryEntryPoint;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSetGlobalStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSetGlobalStage.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSetGlobalStage.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -4,13 +4,14 @@
import java.util.Map.Entry;
import org.drools.runtime.StatefulKnowledgeSession;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Receiver;
import org.drools.runtime.pipeline.StatefulKnowledgeSessionPipelineContext;
public class StatefulKnowledgeSessionSetGlobalStage extends BaseEmitter
implements
- Receiver {
+ KnowledgeRuntimeCommand {
private String key;
public StatefulKnowledgeSessionSetGlobalStage() {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSignalEventStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSignalEventStage.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionSignalEventStage.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,12 +1,13 @@
package org.drools.runtime.pipeline.impl;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Receiver;
import org.drools.runtime.pipeline.StatefulKnowledgeSessionPipelineContext;
public class StatefulKnowledgeSessionSignalEventStage extends BaseEmitter
implements
- Receiver {
+ KnowledgeRuntimeCommand {
private long id;
private String eventType;
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionExecuteStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionExecuteStage.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionExecuteStage.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -2,13 +2,14 @@
import org.drools.impl.ParametersImpl;
import org.drools.runtime.StatelessKnowledgeSessionResults;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Receiver;
import org.drools.runtime.pipeline.StatelessKnowledgeSessionPipelineContext;
public class StatelessKnowledgeSessionExecuteStage extends BaseEmitter
implements
- Receiver {
+ KnowledgeRuntimeCommand {
public void receive(Object object,
PipelineContext context) {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionPipelineImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionPipelineImpl.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatelessKnowledgeSessionPipelineImpl.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,8 +1,11 @@
package org.drools.runtime.pipeline.impl;
+import org.drools.common.InternalRuleBase;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.impl.StatelessKnowledgeSessionImpl;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.StatelessKnowledgeSession;
-import org.drools.runtime.dataloader.impl.EntryPointPipelineContext;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.Receiver;
import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.rule.WorkingMemoryEntryPoint;
@@ -18,8 +21,10 @@
public void insert(Object object,
ResultHandler resultHandler) {
- StatelessKnowledgeSessionPipelineContextImpl context = new StatelessKnowledgeSessionPipelineContextImpl(ksession, Thread.currentThread().getContextClassLoader(), resultHandler );
+ ClassLoader cl = ((InternalRuleBase) ((StatelessKnowledgeSessionImpl) this.ksession).getRuleBase()).getRootClassLoader();
+ StatelessKnowledgeSessionPipelineContextImpl context = new StatelessKnowledgeSessionPipelineContextImpl(ksession, cl, resultHandler );
+
emit( object, context );
}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/CallableTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/CallableTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/CallableTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -9,7 +9,7 @@
public class CallableTest extends TestCase {
public void testCallable() {
MockClass mock = new MockClass();
- Callable callable = PipelineFactory.newCallable();
+ Callable callable = new CallableImpl();
Action action = PipelineFactory.newMvelAction( "this.set = true" );
callable.setReceiver( action );
action.setReceiver( callable );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/IterateSplitterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/IterateSplitterTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/IterateSplitterTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -26,7 +26,7 @@
Splitter splitter = PipelineFactory.newIterateSplitter();
expr.setReceiver( splitter );
- ListAdapter listAdapter = PipelineFactory.newListAdapter( list, true );
+ ListAdapter listAdapter = new ListAdapterImpl( list, true );
splitter.setReceiver( listAdapter );
assertNull( mock.getValues() );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/ListAdapterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/ListAdapterTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/ListAdapterTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -18,7 +18,7 @@
Action action = PipelineFactory.newMvelAction( "this.set = true" );
- ListAdapter listAdapter = PipelineFactory.newListAdapter( list, true );
+ ListAdapter listAdapter = new ListAdapterImpl( list, true );
action.setReceiver( listAdapter );
assertFalse( mock.isSet() );
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/MvelExpressionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/MvelExpressionTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/runtime/pipeline/impl/MvelExpressionTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -18,7 +18,7 @@
public void testExpression() {
MockClass mock = new MockClass();
- Callable callable = PipelineFactory.newCallable();
+ Callable callable = new CallableImpl();
Action action = PipelineFactory.newMvelAction( "this.setValues( [0, 1, 2, 3, 4] ) " );
callable.setReceiver( action );
Expression expr = PipelineFactory.newMvelExpression( "this.values" );
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/DroolsJaxbTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/DroolsJaxbTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/test/java/org/drools/runtime/pipeline/impl/DroolsJaxbTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -34,12 +34,15 @@
import org.drools.builder.help.KnowledgeBuilderHelper;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.dataloader.WorkingMemoryDataLoader;
-import org.drools.runtime.dataloader.impl.StatefulKnowledgeSessionDataLoaderImpl;
+import org.drools.runtime.pipeline.Action;
import org.drools.runtime.pipeline.Expression;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.PipelineFactory;
+import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.pipeline.Splitter;
import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.pipeline.impl.StatefulKnowledgeSessionPipelineTest.ResultHandlerImpl;
import org.drools.runtime.rule.FactHandle;
import com.sun.tools.xjc.Language;
@@ -96,17 +99,27 @@
List list1 = new ArrayList();
ksession.setGlobal( "list1",
list1 );
+
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
kbase );
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
Transformer transformer = PipelineFactory.newJaxbTransformer( unmarshaller );
- transformer.setReceiver( PipelineFactory.newEntryPointReceiverAdapter() );
+ transformer.setReceiver(insertStage );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "order.xml" ) ), resultHandler );
+ ksession.fireAllRules();
+
+ Map<FactHandle, Object> handles = ( Map<FactHandle, Object> ) resultHandler.getObject();
- WorkingMemoryDataLoader dataLoader = new StatefulKnowledgeSessionDataLoaderImpl( ksession,
- transformer );
- Map<FactHandle, Object> handles = dataLoader.insert( new StreamSource( getClass().getResourceAsStream( "order.xml" ) ) );
-
ksession.fireAllRules();
assertEquals( 1,
@@ -145,20 +158,32 @@
list1 );
ksession.setGlobal( "list2",
list2 );
+
+
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
+ Splitter splitter = PipelineFactory.newIterateSplitter();
+ splitter.setReceiver( insertStage );
+
+ Expression expression = PipelineFactory.newMvelExpression( "this.orderItem" );
+ expression.setReceiver( splitter );
+
JAXBContext jaxbCtx = KnowledgeBuilderHelper.newJAXBContext( classNames,
kbase );
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
- Transformer transformer = PipelineFactory.newJaxbTransformer( unmarshaller );
- Expression expression = PipelineFactory.newMvelExpression( "this.orderItem" );
+ Transformer transformer = PipelineFactory.newJaxbTransformer( unmarshaller );
transformer.setReceiver( expression );
- Splitter splitter = PipelineFactory.newIterateSplitter();
- expression.setReceiver( splitter );
- splitter.setReceiver( PipelineFactory.newEntryPointReceiverAdapter() );
- WorkingMemoryDataLoader dataLoader = new StatefulKnowledgeSessionDataLoaderImpl( ksession,
- transformer );
- Map<FactHandle, Object> handles = dataLoader.insert( new StreamSource( getClass().getResourceAsStream( "order.xml" ) ) );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "order.xml" ) ), resultHandler );
+ Map<FactHandle, Object> handles = ( Map<FactHandle, Object> ) resultHandler.getObject();
ksession.fireAllRules();
assertEquals( 2,
@@ -177,4 +202,14 @@
assertNotSame( list1.get( 0 ),
list2.get( 0 ) );
}
+
+ public static class ResultHandlerImpl implements ResultHandler {
+ Object object;
+ public void handleResult(Object object) {
+ this.object = object;
+ }
+ public Object getObject() {
+ return this.object;
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jxls/src/test/java/org/drools/runtime/pipeline/impl/JxlsTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -45,7 +45,7 @@
XLSReader mainReader = ReaderBuilder.buildFromXML( inputXML );
InputStream inputXLS = new BufferedInputStream(getClass().getResourceAsStream( "departmentData.xls"));
- Callable callable = PipelineFactory.newCallable();
+ Callable callable = new CallableImpl();
Transformer transformer = PipelineFactory.newJxlsTransformer(mainReader, "[ 'departments' : new java.util.ArrayList(), 'company' : new org.drools.runtime.pipeline.impl.Company() ]");
callable.setReceiver( transformer );
transformer.setReceiver( callable );
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatefulSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatefulSessionTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatefulSessionTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -17,22 +17,19 @@
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.dataloader.DataLoaderFactory;
-import org.drools.runtime.dataloader.WorkingMemoryDataLoader;
-import org.drools.runtime.dataloader.impl.StatefulKnowledgeSessionDataLoaderImpl;
-import org.drools.runtime.dataloader.impl.EntryPointReceiverAdapter;
+import org.drools.runtime.pipeline.Action;
import org.drools.runtime.pipeline.Expression;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.PipelineFactory;
+import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.pipeline.Splitter;
import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.impl.DroolsSmooksConfiguration;
-import org.drools.runtime.pipeline.impl.IterateSplitter;
-import org.drools.runtime.pipeline.impl.MvelExpression;
import org.drools.runtime.rule.FactHandle;
import org.milyn.Smooks;
import org.milyn.io.StreamUtils;
-public class DroolsSmookStatefulSessionTest extends TestCase {
+public class DroolsSmookStatefulSessionTest extends TestCase {
public void testDirectRoot() throws Exception {
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
@@ -51,17 +48,28 @@
ksession.setGlobal( "list",
list );
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
// Instantiate Smooks with the config...
Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
-
- Transformer transformer = PipelineFactory.newSmooksTransformer( smooks, "orderItem" );
- transformer.setReceiver( PipelineFactory.newEntryPointReceiverAdapter() );
-
- WorkingMemoryDataLoader dataLoader = DataLoaderFactory.newStatefulRuleSessionDataLoader( ksession,
- transformer );
- Map<FactHandle, Object> handles = dataLoader.insert( new StreamSource( getClass().getResourceAsStream( "SmooksDirectRoot.xml" ) ) );
+
+ Transformer transformer = PipelineFactory.newSmooksTransformer( smooks,
+ "orderItem" );
+ transformer.setReceiver( insertStage );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "SmooksDirectRoot.xml" ) ),
+ resultHandler );
ksession.fireAllRules();
+ Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
+
assertEquals( 1,
handles.size() );
assertEquals( 1,
@@ -88,20 +96,32 @@
ksession.setGlobal( "list",
list );
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
+ Splitter splitter = PipelineFactory.newIterateSplitter();
+ splitter.setReceiver( insertStage );
+
+ Expression expression = PipelineFactory.newMvelExpression( "children" );
+ expression.setReceiver( splitter );
+
// Instantiate Smooks with the config...
Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
- Transformer transformer = PipelineFactory.newSmooksTransformer( smooks, "root" );
- Expression expression = PipelineFactory.newMvelExpression( "children" );
+ Transformer transformer = PipelineFactory.newSmooksTransformer( smooks,
+ "root" );
transformer.setReceiver( expression );
- Splitter splitter = PipelineFactory.newIterateSplitter();
- expression.setReceiver( splitter );
- splitter.setReceiver( PipelineFactory.newEntryPointReceiverAdapter() );
- WorkingMemoryDataLoader dataLoader = DataLoaderFactory.newStatefulRuleSessionDataLoader( ksession,
- transformer );
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
- Map<FactHandle, Object> handles = dataLoader.insert( new StreamSource( getClass().getResourceAsStream( "SmooksNestedIterable.xml" ) ) );
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "SmooksNestedIterable.xml" ) ),
+ resultHandler );
+
+ Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
ksession.fireAllRules();
assertEquals( 2,
@@ -116,7 +136,7 @@
assertNotSame( list.get( 0 ),
list.get( 1 ) );
- }
+ }
private static byte[] readInputMessage(InputStream stream) {
try {
@@ -126,4 +146,18 @@
return "<no-message/>".getBytes();
}
}
+
+ public static class ResultHandlerImpl
+ implements
+ ResultHandler {
+ Object object;
+
+ public void handleResult(Object object) {
+ this.object = object;
+ }
+
+ public Object getObject() {
+ return this.object;
+ }
+ }
}
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatelessSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatelessSessionTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatelessSessionTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -16,10 +16,13 @@
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatelessKnowledgeSession;
-import org.drools.runtime.dataloader.StatelessKnowledgeSessionDataLoader;
-import org.drools.runtime.dataloader.impl.StatelessKnowledgeSessionDataLoaderImpl;
+import org.drools.runtime.pipeline.Action;
import org.drools.runtime.pipeline.Expression;
+import org.drools.runtime.pipeline.Join;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.PipelineFactory;
+import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.pipeline.Splitter;
import org.drools.runtime.pipeline.Transformer;
import org.milyn.Smooks;
@@ -44,16 +47,22 @@
ksession.setGlobal( "list",
list );
+ KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+
// Instantiate Smooks with the config...
Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
- Transformer transformer = PipelineFactory.newSmooksTransformer( smooks, "orderItem" );
- transformer.setReceiver( PipelineFactory.newStatelessKnowledgeSessionReceiverAdapter() );
+ Transformer transformer = PipelineFactory.newSmooksTransformer( smooks,
+ "orderItem" );
+ transformer.setReceiver( execute );
- StatelessKnowledgeSessionDataLoader dataLoader = new StatelessKnowledgeSessionDataLoaderImpl( ksession,
- transformer );
- dataLoader.executeObject( new StreamSource( getClass().getResourceAsStream( "SmooksDirectRoot.xml" ) ) );
+ Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "SmooksDirectRoot.xml" ) ),
+ resultHandler );
+
assertEquals( 1,
list.size() );
@@ -78,20 +87,25 @@
ksession.setGlobal( "list",
list );
+ KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+
+ Action mvelAction = PipelineFactory.newMvelAction( "context.setIterable( this.children )" );
+ mvelAction.setReceiver( execute );
+
// Instantiate Smooks with the config...
Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
- Transformer transformer = PipelineFactory.newSmooksTransformer( smooks, "root" );
- Expression expression = PipelineFactory.newMvelExpression( "children" );
- transformer.setReceiver( expression );
- Splitter splitter = PipelineFactory.newIterateSplitter();
- expression.setReceiver( splitter );
- splitter.setReceiver( PipelineFactory.newStatelessKnowledgeSessionReceiverAdapter() );
+ Transformer transformer = PipelineFactory.newSmooksTransformer( smooks,
+ "root" );
+ transformer.setReceiver( mvelAction );
- StatelessKnowledgeSessionDataLoader dataLoader = new StatelessKnowledgeSessionDataLoaderImpl( ksession,
- transformer );
- dataLoader.executeIterable( new StreamSource( getClass().getResourceAsStream( "SmooksNestedIterable.xml" ) ) );
+ Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "SmooksNestedIterable.xml" ) ),
+ resultHandler );
+
assertEquals( 2,
list.size() );
@@ -102,14 +116,19 @@
assertNotSame( list.get( 0 ),
list.get( 1 ) );
- }
+ }
- private static byte[] readInputMessage(InputStream stream) {
- try {
- return StreamUtils.readStream( stream );
- } catch ( IOException e ) {
- e.printStackTrace();
- return "<no-message/>".getBytes();
+ public static class ResultHandlerImpl
+ implements
+ ResultHandler {
+ Object object;
+
+ public void handleResult(Object object) {
+ this.object = object;
}
+
+ public Object getObject() {
+ return this.object;
+ }
}
}
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatefulSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatefulSessionTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatefulSessionTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -1,7 +1,5 @@
package org.drools.runtime.pipeline.impl;
-import java.io.IOException;
-import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -15,21 +13,16 @@
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
-import org.drools.common.InternalRuleBase;
-import org.drools.impl.KnowledgeBaseImpl;
-import org.drools.impl.StatefulKnowledgeSessionImpl;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.dataloader.DataLoaderFactory;
-import org.drools.runtime.dataloader.WorkingMemoryDataLoader;
-import org.drools.runtime.dataloader.impl.StatefulKnowledgeSessionDataLoaderImpl;
-import org.drools.runtime.dataloader.impl.EntryPointReceiverAdapter;
+import org.drools.runtime.pipeline.Action;
import org.drools.runtime.pipeline.Expression;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.PipelineFactory;
+import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.pipeline.Splitter;
import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.impl.IterateSplitter;
-import org.drools.runtime.pipeline.impl.MvelExpression;
import org.drools.runtime.rule.FactHandle;
import com.thoughtworks.xstream.XStream;
@@ -53,15 +46,25 @@
ksession.setGlobal( "list",
list );
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
XStream xstream = new XStream();
Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- transformer.setReceiver( PipelineFactory.newEntryPointReceiverAdapter() );
+ transformer.setReceiver( insertStage );
- WorkingMemoryDataLoader dataLoader = DataLoaderFactory.newStatefulRuleSessionDataLoader( ksession,
- transformer );
- Map<FactHandle, Object> handles = dataLoader.insert( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ) );
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ),
+ resultHandler );
ksession.fireAllRules();
+ Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
+
assertEquals( 1,
handles.size() );
assertEquals( 1,
@@ -88,18 +91,26 @@
ksession.setGlobal( "list",
list );
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
+ Splitter splitter = PipelineFactory.newIterateSplitter();
+ splitter.setReceiver( insertStage );
+
XStream xstream = new XStream();
Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- Expression expression = PipelineFactory.newMvelExpression( "this" );
- transformer.setReceiver( expression );
- Splitter splitter = PipelineFactory.newIterateSplitter();
- expression.setReceiver( splitter );
- splitter.setReceiver( PipelineFactory.newEntryPointReceiverAdapter() );
+ transformer.setReceiver( splitter );
- WorkingMemoryDataLoader dataLoader = DataLoaderFactory.newStatefulRuleSessionDataLoader( ksession,
- transformer );
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
- Map<FactHandle, Object> handles = dataLoader.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ) );
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ),
+ resultHandler );
+
+ Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
ksession.fireAllRules();
assertEquals( 2,
@@ -116,4 +127,18 @@
list.get( 1 ) );
}
+ public static class ResultHandlerImpl
+ implements
+ ResultHandler {
+ Object object;
+
+ public void handleResult(Object object) {
+ this.object = object;
+ }
+
+ public Object getObject() {
+ return this.object;
+ }
+ }
+
}
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatelessSessionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatelessSessionTest.java 2009-01-12 06:39:26 UTC (rev 24646)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatelessSessionTest.java 2009-01-12 06:45:55 UTC (rev 24647)
@@ -3,8 +3,6 @@
import java.util.ArrayList;
import java.util.List;
-import javax.xml.transform.stream.StreamSource;
-
import junit.framework.TestCase;
import org.drools.KnowledgeBase;
@@ -14,11 +12,11 @@
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.runtime.StatelessKnowledgeSession;
-import org.drools.runtime.dataloader.StatelessKnowledgeSessionDataLoader;
-import org.drools.runtime.dataloader.impl.StatelessKnowledgeSessionDataLoaderImpl;
-import org.drools.runtime.pipeline.Expression;
+import org.drools.runtime.pipeline.Action;
+import org.drools.runtime.pipeline.KnowledgeRuntimeCommand;
+import org.drools.runtime.pipeline.Pipeline;
import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.Splitter;
+import org.drools.runtime.pipeline.ResultHandler;
import org.drools.runtime.pipeline.Transformer;
import com.thoughtworks.xstream.XStream;
@@ -42,14 +40,19 @@
ksession.setGlobal( "list",
list );
+ KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+
XStream xstream = new XStream();
Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- transformer.setReceiver( PipelineFactory.newStatelessKnowledgeSessionReceiverAdapter() );
+ transformer.setReceiver( execute );
- StatelessKnowledgeSessionDataLoader dataLoader = new StatelessKnowledgeSessionDataLoaderImpl( ksession,
- transformer );
- dataLoader.executeObject( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ) );
+ Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ),
+ resultHandler );
+
assertEquals( 1,
list.size() );
@@ -74,20 +77,21 @@
ksession.setGlobal( "list",
list );
+ KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+
+ Action mvelAction = PipelineFactory.newMvelAction( "context.setIterable( this )" );
+ mvelAction.setReceiver( execute );
+
XStream xstream = new XStream();
Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- Expression expression = PipelineFactory.newMvelExpression( "this" );
- transformer.setReceiver( expression );
- Splitter splitter = PipelineFactory.newIterateSplitter();
- expression.setReceiver( splitter );
- splitter.setReceiver( PipelineFactory.newStatelessKnowledgeSessionReceiverAdapter() );
+ transformer.setReceiver( mvelAction );
- StatelessKnowledgeSessionDataLoader dataLoader = new StatelessKnowledgeSessionDataLoaderImpl( ksession,
- transformer );
- dataLoader.executeIterable( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ) );
+ Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
- assertEquals( 2,
- list.size() );
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ),
+ resultHandler );
assertEquals( "example.OrderItem",
list.get( 0 ).getClass().getName() );
@@ -98,4 +102,17 @@
list.get( 1 ) );
}
+ public static class ResultHandlerImpl
+ implements
+ ResultHandler {
+ Object object;
+
+ public void handleResult(Object object) {
+ this.object = object;
+ }
+
+ public Object getObject() {
+ return this.object;
+ }
+ }
}
More information about the jboss-svn-commits
mailing list