[jboss-svn-commits] JBL Code SVN: r24657 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/runtime/pipeline/impl and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 13 00:26:48 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-01-13 00:26:47 -0500 (Tue, 13 Jan 2009)
New Revision: 24657
Added:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksFromSourceTransformer.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksToSourceTransformer.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformerProviderImpl.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmookStatefulSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmookStatelessSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmooksGlobalTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlTransformer.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlTransformer.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformerProviderImpl.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamFactTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamGlobalTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatefulSessionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatelessSessionTest.java
Removed:
labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformer.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/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.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
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/SmooksTransformerProvider.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/StatefulKnowledgeSessionGetGlobalStage.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetObjectStage.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksDirectRoot.drl
labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksNestedIterable.drl
Log:
JBRULES-1903 Pipeline support for DataLoaders and Feeders
-added to/from capabilities for xstream and smooks transformers
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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/CorePipelineProvider.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -19,6 +19,8 @@
KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetGlobal();
KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal();
+
+ KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetObject();
KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier);
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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/PipelineFactory.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -55,7 +55,11 @@
return getCorePipelineProvider().newStatefulKnowledgeSessionSetGlobal();
}
- KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier) {
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetObject() {
+ return getCorePipelineProvider().newStatefulKnowledgeSessionGetObject();
+ }
+
+ public static KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier) {
return getCorePipelineProvider().newStatefulKnowledgeSessionSetGlobal( identifier );
}
@@ -72,18 +76,18 @@
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 );
@@ -91,26 +95,34 @@
public static Splitter newIterateSplitter() {
return getCorePipelineProvider().newIterateSplitter();
- }
-
+ }
+
public static Join newListCollectJoin() {
return getCorePipelineProvider().newListCollectJoin();
}
- public static Transformer newSmooksTransformer(Smooks smooks,
- String rootId) {
- return getSmooksPipelineProvider().newSmooksTransformer( smooks,
- rootId );
+ public static Transformer newSmooksFromSourceTransformer(Smooks smooks,
+ String rootId) {
+ return getSmooksPipelineProvider().newSmooksFromSourceTransformer( smooks,
+ rootId );
}
+ public static Transformer newSmooksToSourceTransformer(Smooks smooks) {
+ return getSmooksPipelineProvider().newSmooksToSourceTransformer( smooks );
+ }
+
public static Transformer newJaxbTransformer(Unmarshaller unmarshaller) {
return getJaxbPipelineProvider().newJaxbTransformer( unmarshaller );
}
- public static Transformer newXStreamTransformer(XStream xstream) {
- return getXStreamTransformerProvider().newXStreamTransformer( xstream );
+ public static Transformer newXStreamFromXmlTransformer(XStream xstream) {
+ return getXStreamTransformerProvider().newXStreamFromXmlTransformer( xstream );
}
+ public static Transformer newXStreamToXmlTransformer(XStream xstream) {
+ return getXStreamTransformerProvider().newXStreamToXmlTransformer( xstream );
+ }
+
public static Transformer newJxlsTransformer(XLSReader xlsReader,
String text) {
return getJxlsTransformerProvider().newJxlsTransformer( xlsReader,
@@ -172,10 +184,10 @@
private static void loadSmooksTransformerProvider() {
try {
- Class<SmooksTransformerProvider> cls = (Class<SmooksTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksTransformerProviderImpl" );
+ Class<SmooksTransformerProvider> cls = (Class<SmooksTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.SmooksTransformerProviderImpl" );
setSmooksTransformerProvider( cls.newInstance() );
} catch ( Exception e2 ) {
- throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.SmooksTransformer$SmooksTransformerProviderImpl could not be set.",
+ throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.SmooksTransformerProviderImpl could not be set.",
e2 );
}
}
@@ -193,10 +205,10 @@
private static void loadXStreamTransformerProvider() {
try {
- Class<XStreamTransformerProvider> cls = (Class<XStreamTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.XStreamTransformer$XStreamTransformerProviderImpl" );
+ Class<XStreamTransformerProvider> cls = (Class<XStreamTransformerProvider>) Class.forName( "org.drools.runtime.pipeline.impl.XStreamTransformerProviderImpl" );
setXStreamTransformerProvider( cls.newInstance() );
} catch ( Exception e2 ) {
- throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.XStreamTransformer$XStreamTransformerProviderImpl could not be set.",
+ throw new ProviderInitializationException( "Provider org.drools.runtime.pipeline.impl.XStreamTransformerProviderImpl could not be set.",
e2 );
}
}
Modified: 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/SmooksTransformerProvider.java 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/SmooksTransformerProvider.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -3,6 +3,8 @@
import org.milyn.Smooks;
public interface SmooksTransformerProvider {
- Transformer newSmooksTransformer(Smooks smooks,
- String rootId);
+ Transformer newSmooksFromSourceTransformer(Smooks smooks,
+ String rootId);
+
+ Transformer newSmooksToSourceTransformer(Smooks smooks);
}
Deleted: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,7 +0,0 @@
-package org.drools.runtime.pipeline;
-
-import com.thoughtworks.xstream.XStream;
-
-public interface XStreamTransformerProvider {
- Transformer newXStreamTransformer(XStream xstream);
-}
Added: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/runtime/pipeline/XStreamTransformerProvider.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-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,8 @@
+package org.drools.runtime.pipeline;
+
+import com.thoughtworks.xstream.XStream;
+
+public interface XStreamTransformerProvider {
+ Transformer newXStreamFromXmlTransformer(XStream xstream);
+ Transformer newXStreamToXmlTransformer(XStream xstream);
+}
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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/CorePipelineProviderImpl.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -51,6 +51,10 @@
public KnowledgeRuntimeCommand newStatefulKnowledgeSessionSetGlobal(String identifier) {
return new StatefulKnowledgeSessionSetGlobalStage( identifier );
}
+
+ public KnowledgeRuntimeCommand newStatefulKnowledgeSessionGetObject() {
+ return new StatefulKnowledgeSessionGetObjectStage( );
+ }
public KnowledgeRuntimeCommand newStatefulKnowledgeSessionSignalEvent(String eventType) {
return new StatefulKnowledgeSessionSignalEventStage( eventType );
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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetGlobalStage.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -22,8 +22,6 @@
StatefulKnowledgeSession ksession = kContext.getStatefulKnowledgeSession();
Object result = ksession.getGlobal( (String) object );
- context.setResult( result );
-
emit( result,
kContext );
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetObjectStage.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetObjectStage.java 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/runtime/pipeline/impl/StatefulKnowledgeSessionGetObjectStage.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -4,6 +4,7 @@
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;
@@ -11,7 +12,7 @@
public class StatefulKnowledgeSessionGetObjectStage extends BaseEmitter
implements
- Receiver {
+ KnowledgeRuntimeCommand {
public StatefulKnowledgeSessionGetObjectStage() {
}
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksFromSourceTransformer.java (from rev 24646, labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformer.java)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksFromSourceTransformer.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksFromSourceTransformer.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,68 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.drools.io.Resource;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.pipeline.impl.BaseEmitter;
+import org.milyn.Smooks;
+import org.milyn.container.ExecutionContext;
+import org.milyn.payload.JavaResult;
+import org.milyn.payload.StringSource;
+
+public class SmooksFromSourceTransformer extends BaseEmitter
+ implements
+ Transformer {
+ private Smooks smooks;
+ private DroolsSmooksConfiguration configuration;
+
+ public SmooksFromSourceTransformer(Smooks smooks,
+ DroolsSmooksConfiguration configuration) {
+ this.smooks = smooks;
+ this.configuration = configuration;
+
+ }
+
+ public void receive(Object object,
+ PipelineContext context) {
+ this.smooks.setClassLoader( context.getClassLoader() );
+ Object result = null;
+ try {
+ JavaResult javaResult = new JavaResult();
+ ExecutionContext executionContext = this.smooks.createExecutionContext();
+
+ Source source = null;
+ if ( object instanceof Source ) {
+ source = ( Source ) object;
+ } else if ( object instanceof InputStream ) {
+ source = new StreamSource( ( InputStream ) object );
+ } else if ( object instanceof Reader ) {
+ source = new StreamSource( ( Reader ) object );
+ } else if ( object instanceof Resource ) {
+ source = new StreamSource( ( ( Resource ) object).getReader() );
+ } else if ( object instanceof String ) {
+ source = new StringSource( (String) object);
+ } else {
+ throw new IllegalArgumentException( "signal object must be instance of Source, InputStream, Reader or Resource" );
+ }
+
+ this.smooks.filter( source,
+ javaResult,
+ executionContext );
+
+ result = javaResult.getBean( this.configuration.getRootId() );
+ } catch ( Exception e ) {
+ handleException( this,
+ object,
+ e );
+ }
+ emit( result,
+ context );
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksFromSourceTransformer.java
___________________________________________________________________
Name: svn:mergeinfo
+
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksToSourceTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksToSourceTransformer.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksToSourceTransformer.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,62 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.drools.io.Resource;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.SmooksTransformerProvider;
+import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.pipeline.impl.BaseEmitter;
+import org.milyn.Smooks;
+import org.milyn.container.ExecutionContext;
+import org.milyn.payload.JavaResult;
+import org.milyn.payload.JavaSource;
+import org.milyn.payload.StringResult;
+
+public class SmooksToSourceTransformer extends BaseEmitter
+ implements
+ Transformer {
+ private Smooks smooks;
+
+ public SmooksToSourceTransformer(Smooks smooks) {
+ this.smooks = smooks;
+ }
+
+ public void receive(Object object,
+ PipelineContext context) {
+ this.smooks.setClassLoader( context.getClassLoader() );
+ Object result = null;
+ try {
+ StringResult stringResult = new StringResult();
+ ExecutionContext executionContext = this.smooks.createExecutionContext();
+
+ this.smooks.filter( new JavaSource( object ),
+ stringResult,
+ executionContext );
+
+ result = stringResult.getResult();
+ } catch ( Exception e ) {
+ handleException( this,
+ object,
+ e );
+ }
+ emit( result,
+ context );
+ }
+
+// public static class SmooksTransformerProviderImpl
+// implements
+// SmooksTransformerProvider {
+// public Transformer newSmooksTransformer(Smooks smooks,
+// String rootId) {
+// DroolsSmooksConfiguration conf = new DroolsSmooksConfiguration( rootId );
+// return new SmooksToSourceTransformer( smooks,
+// conf );
+// }
+// }
+
+}
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformer.java 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformer.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,75 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.io.InputStream;
-import java.io.Reader;
-
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-
-import org.drools.io.Resource;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.SmooksTransformerProvider;
-import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.impl.BaseEmitter;
-import org.milyn.Smooks;
-import org.milyn.container.ExecutionContext;
-import org.milyn.payload.JavaResult;
-
-public class SmooksTransformer extends BaseEmitter
- implements
- Transformer {
- private Smooks smooks;
- private DroolsSmooksConfiguration configuration;
-
- public SmooksTransformer(Smooks smooks,
- DroolsSmooksConfiguration configuration) {
- this.smooks = smooks;
- this.configuration = configuration;
-
- }
-
- public void receive(Object object,
- PipelineContext context) {
- this.smooks.setClassLoader( context.getClassLoader() );
- Object result = null;
- try {
- JavaResult javaResult = new JavaResult();
- ExecutionContext executionContext = this.smooks.createExecutionContext();
-
- Source source = null;
- if ( object instanceof Source ) {
- source = ( Source ) object;
- } else if ( object instanceof InputStream ) {
- source = new StreamSource( ( InputStream ) object );
- } else if ( object instanceof Reader ) {
- source = new StreamSource( ( Reader ) object );
- } else if ( object instanceof Resource ) {
- source = new StreamSource( ( ( Resource ) object).getReader() );
- } else {
- throw new IllegalArgumentException( "signal object must be instance of Source, InputStream, Reader or Resource" );
- }
-
- this.smooks.filter( source,
- javaResult,
- executionContext );
-
- result = javaResult.getBean( this.configuration.getRootId() );
- } catch ( Exception e ) {
- handleException( this,
- object,
- e );
- }
- emit( result,
- context );
- }
-
- public static class SmooksTransformerProviderImpl implements SmooksTransformerProvider {
- public Transformer newSmooksTransformer(Smooks smooks,
- String rootId) {
- DroolsSmooksConfiguration conf = new DroolsSmooksConfiguration( rootId );
- return new SmooksTransformer( smooks,
- conf );
- }
- }
-
-}
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformerProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformerProviderImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformerProviderImpl.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,21 @@
+/**
+ *
+ */
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.SmooksTransformerProvider;
+import org.drools.runtime.pipeline.Transformer;
+import org.milyn.Smooks;
+
+public class SmooksTransformerProviderImpl implements SmooksTransformerProvider {
+ public Transformer newSmooksFromSourceTransformer(Smooks smooks,
+ String rootId) {
+ DroolsSmooksConfiguration conf = new DroolsSmooksConfiguration( rootId );
+ return new SmooksFromSourceTransformer( smooks,
+ conf );
+ }
+
+ public Transformer newSmooksToSourceTransformer(Smooks smooks) {
+ return new SmooksToSourceTransformer( smooks );
+ }
+}
\ No newline at end of file
Deleted: 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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatefulSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,163 +0,0 @@
-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;
-
-import javax.xml.transform.stream.StreamSource;
-
-import junit.framework.TestCase;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatefulKnowledgeSession;
-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.rule.FactHandle;
-import org.milyn.Smooks;
-import org.milyn.io.StreamUtils;
-
-public class DroolsSmookStatefulSessionTest extends TestCase {
-
- public void testDirectRoot() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksDirectRoot.drl",
- DroolsSmookStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- List list = new ArrayList();
- 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( 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,
- list.size() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- }
-
- public void testNestedIterable() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksNestedIterable.drl",
- DroolsSmookStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- List list = new ArrayList();
- 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" );
- transformer.setReceiver( expression );
-
- Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
- pipeline.setReceiver( transformer );
-
- 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,
- handles.size() );
- assertEquals( 2,
- list.size() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- assertEquals( "example.OrderItem",
- list.get( 1 ).getClass().getName() );
-
- 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;
- }
- }
-}
Deleted: 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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/DroolsSmookStatelessSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,134 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.transform.stream.StreamSource;
-
-import junit.framework.TestCase;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatelessKnowledgeSession;
-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;
-import org.milyn.io.StreamUtils;
-
-public class DroolsSmookStatelessSessionTest extends TestCase {
-
- public void testSmooksDirectRoot() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksDirectRoot.drl",
- DroolsSmookStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
- List list = new ArrayList();
- 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( execute );
-
- 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() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- }
-
- public void testSmooksNestedIterable() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksNestedIterable.drl",
- DroolsSmookStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
- List list = new ArrayList();
- 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" );
- transformer.setReceiver( mvelAction );
-
- 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() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- assertEquals( "example.OrderItem",
- list.get( 1 ).getClass().getName() );
-
- assertNotSame( list.get( 0 ),
- 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;
- }
- }
-}
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmookStatefulSessionTest.java (from rev 24647, 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/SmookStatefulSessionTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmookStatefulSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,163 @@
+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;
+
+import javax.xml.transform.stream.StreamSource;
+
+import junit.framework.TestCase;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+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.rule.FactHandle;
+import org.milyn.Smooks;
+import org.milyn.io.StreamUtils;
+
+public class SmookStatefulSessionTest extends TestCase {
+
+ public void testDirectRoot() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksDirectRoot.drl",
+ SmookStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ List list = new ArrayList();
+ 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.newSmooksFromSourceTransformer( smooks,
+ "orderItem" );
+ transformer.setReceiver( insertStage );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "SmooksDirectRoot.xml" ),
+ resultHandler );
+ ksession.fireAllRules();
+
+ Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
+
+ assertEquals( 1,
+ handles.size() );
+ assertEquals( 1,
+ list.size() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ }
+
+ public void testNestedIterable() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksNestedIterable.drl",
+ SmookStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ List list = new ArrayList();
+ 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.newSmooksFromSourceTransformer( smooks,
+ "root" );
+ transformer.setReceiver( expression );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ 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,
+ handles.size() );
+ assertEquals( 2,
+ list.size() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ assertEquals( "example.OrderItem",
+ list.get( 1 ).getClass().getName() );
+
+ 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;
+ }
+ }
+}
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmookStatelessSessionTest.java (from rev 24647, 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/SmookStatelessSessionTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmookStatelessSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,134 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.transform.stream.StreamSource;
+
+import junit.framework.TestCase;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatelessKnowledgeSession;
+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;
+import org.milyn.io.StreamUtils;
+
+public class SmookStatelessSessionTest extends TestCase {
+
+ public void testSmooksDirectRoot() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksDirectRoot.drl",
+ SmookStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
+ List list = new ArrayList();
+ 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.newSmooksFromSourceTransformer( smooks,
+ "orderItem" );
+ transformer.setReceiver( execute );
+
+ 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() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ }
+
+ public void testSmooksNestedIterable() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksNestedIterable.drl",
+ SmookStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
+ List list = new ArrayList();
+ 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.newSmooksFromSourceTransformer( smooks,
+ "root" );
+ transformer.setReceiver( mvelAction );
+
+ 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() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ assertEquals( "example.OrderItem",
+ list.get( 1 ).getClass().getName() );
+
+ assertNotSame( list.get( 0 ),
+ 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;
+ }
+ }
+}
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmooksGlobalTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmooksGlobalTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/java/org/drools/runtime/pipeline/impl/SmooksGlobalTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,107 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.transform.stream.StreamSource;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+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.ResultHandler;
+import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.rule.FactHandle;
+import org.milyn.Smooks;
+
+import com.thoughtworks.xstream.XStream;
+
+import junit.framework.TestCase;
+
+public class SmooksGlobalTest extends TestCase {
+ public void testGlobal() throws Exception {
+ String xml = "<org.drools.runtime.pipeline.impl.Root><children><example.OrderItem><price>8.9</price><productId>111</productId><quantity>2</quantity></example.OrderItem><example.OrderItem><price>5.2</price><productId>222</productId><quantity>7</quantity></example.OrderItem></children></org.drools.runtime.pipeline.impl.Root>";
+
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_SmooksNestedIterable.drl",
+ SmooksGlobalTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ KnowledgeRuntimeCommand setGlobalStage = PipelineFactory.newStatefulKnowledgeSessionSetGlobal( "root" );
+
+ Smooks smooks = new Smooks( getClass().getResourceAsStream( "smooks-config.xml" ) );
+
+ Transformer transformer = PipelineFactory.newSmooksFromSourceTransformer( smooks,
+ "root" );
+ transformer.setReceiver( setGlobalStage );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( new StreamSource( getClass().getResourceAsStream( "SmooksNestedIterable.xml" ) ),
+ resultHandler );
+
+ // now round trip that global
+
+ Action executeResult = PipelineFactory.newExecuteResultHandler();
+
+ Action assignAsResult = PipelineFactory.newAssignObjectAsResult();
+ assignAsResult.setReceiver( executeResult );
+
+ transformer = PipelineFactory.newSmooksToSourceTransformer( smooks );
+ transformer.setReceiver( assignAsResult );
+
+ pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ resultHandler = new ResultHandlerImpl();
+ pipeline.insert( ksession.getGlobal( "root" ),
+ resultHandler );
+
+ assertEquals( xml,
+ resultHandler.getObject() );
+ }
+
+ private static void assertEqualsIgnoreWhitespace(final String expected,
+ final String actual) {
+ final String cleanExpected = expected.replaceAll( "\\s+",
+ "" );
+ final String cleanActual = actual.replaceAll( "\\s+",
+ "" );
+ assertEquals( cleanExpected,
+ cleanActual );
+ }
+
+ 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/resources/org/drools/runtime/pipeline/impl/test_SmooksDirectRoot.drl
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksDirectRoot.drl 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksDirectRoot.drl 2009-01-13 05:26:47 UTC (rev 24657)
@@ -2,6 +2,8 @@
global java.util.List list;
+global org.drools.runtime.pipeline.impl.Root root
+
declare OrderItem
productId : long
quantity : Integer
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksNestedIterable.drl
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksNestedIterable.drl 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/test/resources/org/drools/runtime/pipeline/impl/test_SmooksNestedIterable.drl 2009-01-13 05:26:47 UTC (rev 24657)
@@ -2,6 +2,8 @@
global java.util.List list;
+global org.drools.runtime.pipeline.impl.Root root
+
declare OrderItem
productId : long
quantity : Integer
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlTransformer.java (from rev 24646, labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.java)
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlTransformer.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlTransformer.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,50 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import javax.xml.transform.Source;
+
+import org.drools.io.Resource;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.SmooksTransformerProvider;
+import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.pipeline.XStreamTransformerProvider;
+import org.drools.runtime.pipeline.impl.BaseEmitter;
+import com.thoughtworks.xstream.XStream;;
+
+public class XStreamFromXmlTransformer extends BaseEmitter
+ implements
+ Transformer {
+ private XStream xstream;
+
+ public XStreamFromXmlTransformer(XStream xstream) {
+ this.xstream = xstream;
+
+ }
+
+ public void receive(Object object,
+ PipelineContext context) {
+ this.xstream.setClassLoader( context.getClassLoader() );
+ Object result = null;
+ try {
+ if ( object instanceof String ) {
+ result = this.xstream.fromXML( ( String ) object );
+ } else if ( object instanceof Reader ) {
+ result = this.xstream.fromXML( ( Reader ) object );
+ } else if ( object instanceof InputStream ) {
+ result = this.xstream.fromXML( ( InputStream ) object );
+ } else if ( object instanceof Resource ) {
+ result = this.xstream.fromXML( (( Resource ) object).getReader() );
+ } else {
+ throw new IllegalArgumentException( "signal object must be instance of InputStream or Resource" );
+ }
+ } catch ( Exception e ) {
+ handleException( this,
+ object,
+ e );
+ }
+ emit( result,
+ context );
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlTransformer.java
___________________________________________________________________
Name: svn:mergeinfo
+
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlTransformer.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlTransformer.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,35 @@
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.Transformer;
+
+import com.thoughtworks.xstream.XStream;
+
+;
+
+public class XStreamToXmlTransformer extends BaseEmitter
+ implements
+ Transformer {
+ private XStream xstream;
+
+ public XStreamToXmlTransformer(XStream xstream) {
+ this.xstream = xstream;
+
+ }
+
+ public void receive(Object object,
+ PipelineContext context) {
+ this.xstream.setClassLoader( context.getClassLoader() );
+ Object result = null;
+ try {
+ result = this.xstream.toXML( object );
+ } catch ( Exception e ) {
+ handleException( this,
+ object,
+ e );
+ }
+ emit( result,
+ context );
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.java 2009-01-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,55 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.io.InputStream;
-import java.io.Reader;
-
-import javax.xml.transform.Source;
-
-import org.drools.io.Resource;
-import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.SmooksTransformerProvider;
-import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.XStreamTransformerProvider;
-import org.drools.runtime.pipeline.impl.BaseEmitter;
-import com.thoughtworks.xstream.XStream;;
-
-public class XStreamTransformer extends BaseEmitter
- implements
- Transformer {
- private XStream xstream;
-
- public XStreamTransformer(XStream xstream) {
- this.xstream = xstream;
-
- }
-
- public void receive(Object object,
- PipelineContext context) {
- this.xstream.setClassLoader( context.getClassLoader() );
- Object result = null;
- try {
- if ( object instanceof Reader ) {
- result = this.xstream.fromXML( ( Reader ) object );
- } else if ( object instanceof InputStream ) {
- result = this.xstream.fromXML( ( InputStream ) object );
- } else if ( object instanceof Resource ) {
- result = this.xstream.fromXML( (( Resource ) object).getReader() );
- } else {
- throw new IllegalArgumentException( "signal object must be instance of InputStream or Resource" );
- }
- } catch ( Exception e ) {
- handleException( this,
- object,
- e );
- }
- emit( result,
- context );
- }
-
- public static class XStreamTransformerProviderImpl implements XStreamTransformerProvider {
- public Transformer newXStreamTransformer(XStream xstream) {
- return new XStreamTransformer( xstream );
- }
- }
-
-}
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformerProviderImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformerProviderImpl.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformerProviderImpl.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,19 @@
+/**
+ *
+ */
+package org.drools.runtime.pipeline.impl;
+
+import org.drools.runtime.pipeline.Transformer;
+import org.drools.runtime.pipeline.XStreamTransformerProvider;
+
+import com.thoughtworks.xstream.XStream;
+
+public class XStreamTransformerProviderImpl implements XStreamTransformerProvider {
+ public Transformer newXStreamFromXmlTransformer(XStream xstream) {
+ return new XStreamFromXmlTransformer( xstream );
+ }
+
+ public Transformer newXStreamToXmlTransformer(XStream xstream) {
+ return new XStreamToXmlTransformer( xstream );
+ }
+}
\ No newline at end of file
Deleted: 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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatefulSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,144 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.transform.stream.StreamSource;
-
-import junit.framework.TestCase;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatefulKnowledgeSession;
-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.rule.FactHandle;
-
-import com.thoughtworks.xstream.XStream;
-
-public class DroolsXStreamStatefulSessionTest extends TestCase {
-
- public void testDirectRoot() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
- DroolsXStreamStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- List list = new ArrayList();
- 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( insertStage );
-
- 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,
- list.size() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- }
-
- public void testNestedIterable() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamNestedIterable.drl",
- DroolsXStreamStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- List list = new ArrayList();
- 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 );
- transformer.setReceiver( splitter );
-
- Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
- pipeline.setReceiver( transformer );
-
- ResultHandlerImpl resultHandler = new ResultHandlerImpl();
- pipeline.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ),
- resultHandler );
-
- Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
- ksession.fireAllRules();
-
- assertEquals( 2,
- handles.size() );
- assertEquals( 2,
- list.size() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- assertEquals( "example.OrderItem",
- list.get( 1 ).getClass().getName() );
-
- assertNotSame( list.get( 0 ),
- 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;
- }
- }
-
-}
Deleted: 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-13 04:05:49 UTC (rev 24656)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/DroolsXStreamStatelessSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -1,118 +0,0 @@
-package org.drools.runtime.pipeline.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatelessKnowledgeSession;
-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.ResultHandler;
-import org.drools.runtime.pipeline.Transformer;
-
-import com.thoughtworks.xstream.XStream;
-
-public class DroolsXStreamStatelessSessionTest extends TestCase {
-
- public void testXstreamDirectRoot() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
- DroolsXStreamStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
- List list = new ArrayList();
- ksession.setGlobal( "list",
- list );
-
- KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
-
- XStream xstream = new XStream();
- Transformer transformer = PipelineFactory.newXStreamTransformer( xstream );
- transformer.setReceiver( execute );
-
- Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
- pipeline.setReceiver( transformer );
-
- ResultHandlerImpl resultHandler = new ResultHandlerImpl();
- pipeline.insert( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ),
- resultHandler );
-
- assertEquals( 1,
- list.size() );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- }
-
- public void testXstreamNestedIterable() throws Exception {
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamNestedIterable.drl",
- DroolsXStreamStatefulSessionTest.class ),
- ResourceType.DRL );
-
- assertFalse( kbuilder.hasErrors() );
-
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
-
- StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
- List list = new ArrayList();
- 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 );
- transformer.setReceiver( mvelAction );
-
- Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
- pipeline.setReceiver( transformer );
-
- ResultHandlerImpl resultHandler = new ResultHandlerImpl();
- pipeline.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ),
- resultHandler );
-
- assertEquals( "example.OrderItem",
- list.get( 0 ).getClass().getName() );
- assertEquals( "example.OrderItem",
- list.get( 1 ).getClass().getName() );
-
- assertNotSame( list.get( 0 ),
- 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;
- }
- }
-}
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamFactTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamFactTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamFactTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,102 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+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.Transformer;
+import org.drools.runtime.pipeline.impl.XStreamStatefulSessionTest.ResultHandlerImpl;
+import org.drools.runtime.rule.FactHandle;
+
+import com.thoughtworks.xstream.XStream;
+
+import junit.framework.TestCase;
+
+public class XStreamFactTest extends TestCase {
+ public void testFact() throws Exception {
+ String xml = "";
+ xml += "<list>";
+ xml += "<example.OrderItem>";
+ xml += " <price>8.9</price>";
+ xml += " <productId>111</productId>";
+ xml += " <quantity>2</quantity>";
+ xml += "</example.OrderItem>";
+ xml += "</list>";
+
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
+ XStreamStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
+ XStream xstream = new XStream();
+ Transformer transformer = PipelineFactory.newXStreamFromXmlTransformer( xstream );
+ transformer.setReceiver( insertStage );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( xml,
+ resultHandler );
+
+ FactHandle factHandle = ( FactHandle ) ((Map)resultHandler.getObject()).keySet().iterator().next();
+ assertNotNull( factHandle );
+
+
+ // now round trip that global
+ Action executeResult = PipelineFactory.newExecuteResultHandler();
+
+ Action assignAsResult = PipelineFactory.newAssignObjectAsResult();
+ assignAsResult.setReceiver( executeResult );
+
+ transformer = PipelineFactory.newXStreamToXmlTransformer( xstream );
+ transformer.setReceiver( assignAsResult );
+
+ KnowledgeRuntimeCommand getObject = PipelineFactory.newStatefulKnowledgeSessionGetObject();
+ getObject.setReceiver( transformer );
+
+ pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( getObject );
+
+ resultHandler = new ResultHandlerImpl();
+ pipeline.insert( factHandle, resultHandler );
+
+ assertEqualsIgnoreWhitespace( xml, (String) resultHandler.getObject() );
+ }
+
+ private static void assertEqualsIgnoreWhitespace(final String expected,
+ final String actual) {
+ final String cleanExpected = expected.replaceAll( "\\s+",
+ "" );
+ final String cleanActual = actual.replaceAll( "\\s+",
+ "" );
+ assertEquals( cleanExpected,
+ cleanActual );
+ }
+}
Added: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamGlobalTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamGlobalTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamGlobalTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,96 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+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.Transformer;
+import org.drools.runtime.pipeline.impl.XStreamStatefulSessionTest.ResultHandlerImpl;
+import org.drools.runtime.rule.FactHandle;
+
+import com.thoughtworks.xstream.XStream;
+
+import junit.framework.TestCase;
+
+public class XStreamGlobalTest extends TestCase {
+ public void testGlobal() throws Exception {
+ String xml = "";
+ xml += "<list>";
+ xml += "<example.OrderItem>";
+ xml += " <price>8.9</price>";
+ xml += " <productId>111</productId>";
+ xml += " <quantity>2</quantity>";
+ xml += "</example.OrderItem>";
+ xml += "</list>";
+
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
+ XStreamStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+
+ KnowledgeRuntimeCommand setGlobalStage = PipelineFactory.newStatefulKnowledgeSessionSetGlobal( "list" );
+
+ XStream xstream = new XStream();
+ Transformer transformer = PipelineFactory.newXStreamFromXmlTransformer( xstream );
+ transformer.setReceiver( setGlobalStage );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( xml,
+ resultHandler );
+
+
+ // now round trip that global
+ Action executeResult = PipelineFactory.newExecuteResultHandler();
+
+ Action assignAsResult = PipelineFactory.newAssignObjectAsResult();
+ assignAsResult.setReceiver( executeResult );
+
+ transformer = PipelineFactory.newXStreamToXmlTransformer( xstream );
+ transformer.setReceiver( assignAsResult );
+
+ KnowledgeRuntimeCommand getGlobalStage = PipelineFactory.newStatefulKnowledgeSessionGetGlobal( );
+ getGlobalStage.setReceiver( transformer );
+
+ pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( getGlobalStage );
+
+ resultHandler = new ResultHandlerImpl();
+ pipeline.insert( "list", resultHandler );
+
+ assertEqualsIgnoreWhitespace( xml, (String) resultHandler.getObject() );
+ }
+
+ private static void assertEqualsIgnoreWhitespace(final String expected,
+ final String actual) {
+ final String cleanExpected = expected.replaceAll( "\\s+",
+ "" );
+ final String cleanActual = actual.replaceAll( "\\s+",
+ "" );
+ assertEquals( cleanExpected,
+ cleanActual );
+ }
+}
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatefulSessionTest.java (from rev 24647, 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/XStreamStatefulSessionTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatefulSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,144 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.transform.stream.StreamSource;
+
+import junit.framework.TestCase;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+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.rule.FactHandle;
+
+import com.thoughtworks.xstream.XStream;
+
+public class XStreamStatefulSessionTest extends TestCase {
+
+ public void testDirectRoot() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
+ XStreamStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ List list = new ArrayList();
+ ksession.setGlobal( "list",
+ list );
+
+ Action executeResultHandler = PipelineFactory.newExecuteResultHandler();
+
+ KnowledgeRuntimeCommand insertStage = PipelineFactory.newStatefulKnowledgeSessionInsert();
+ insertStage.setReceiver( executeResultHandler );
+
+ XStream xstream = new XStream();
+ Transformer transformer = PipelineFactory.newXStreamFromXmlTransformer( xstream );
+ transformer.setReceiver( insertStage );
+
+ 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,
+ list.size() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ }
+
+ public void testNestedIterable() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamNestedIterable.drl",
+ XStreamStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ List list = new ArrayList();
+ 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.newXStreamFromXmlTransformer( xstream );
+ transformer.setReceiver( splitter );
+
+ Pipeline pipeline = PipelineFactory.newStatefulKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ),
+ resultHandler );
+
+ Map<FactHandle, Object> handles = (Map<FactHandle, Object>) resultHandler.getObject();
+ ksession.fireAllRules();
+
+ assertEquals( 2,
+ handles.size() );
+ assertEquals( 2,
+ list.size() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ assertEquals( "example.OrderItem",
+ list.get( 1 ).getClass().getName() );
+
+ assertNotSame( list.get( 0 ),
+ 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;
+ }
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatefulSessionTest.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatelessSessionTest.java (from rev 24647, 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/XStreamStatelessSessionTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatelessSessionTest.java 2009-01-13 05:26:47 UTC (rev 24657)
@@ -0,0 +1,118 @@
+package org.drools.runtime.pipeline.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.runtime.StatelessKnowledgeSession;
+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.ResultHandler;
+import org.drools.runtime.pipeline.Transformer;
+
+import com.thoughtworks.xstream.XStream;
+
+public class XStreamStatelessSessionTest extends TestCase {
+
+ public void testXstreamDirectRoot() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamDirectRoot.drl",
+ XStreamStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
+ List list = new ArrayList();
+ ksession.setGlobal( "list",
+ list );
+
+ KnowledgeRuntimeCommand execute = PipelineFactory.newStatelessKnowledgeSessionExecute();
+
+ XStream xstream = new XStream();
+ Transformer transformer = PipelineFactory.newXStreamFromXmlTransformer( xstream );
+ transformer.setReceiver( execute );
+
+ Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamDirectRoot.xml" ),
+ resultHandler );
+
+ assertEquals( 1,
+ list.size() );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ }
+
+ public void testXstreamNestedIterable() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+
+ kbuilder.add( ResourceFactory.newClassPathResource( "test_XStreamNestedIterable.drl",
+ XStreamStatefulSessionTest.class ),
+ ResourceType.DRL );
+
+ assertFalse( kbuilder.hasErrors() );
+
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
+
+ StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
+ List list = new ArrayList();
+ 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.newXStreamFromXmlTransformer( xstream );
+ transformer.setReceiver( mvelAction );
+
+ Pipeline pipeline = PipelineFactory.newStatelessKnowledgeSessionPipeline( ksession );
+ pipeline.setReceiver( transformer );
+
+ ResultHandlerImpl resultHandler = new ResultHandlerImpl();
+ pipeline.insert( getClass().getResourceAsStream( "XStreamNestedIterable.xml" ),
+ resultHandler );
+
+ assertEquals( "example.OrderItem",
+ list.get( 0 ).getClass().getName() );
+ assertEquals( "example.OrderItem",
+ list.get( 1 ).getClass().getName() );
+
+ assertNotSame( list.get( 0 ),
+ 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;
+ }
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/test/java/org/drools/runtime/pipeline/impl/XStreamStatelessSessionTest.java
___________________________________________________________________
Name: svn:mergeinfo
+
More information about the jboss-svn-commits
mailing list