[jboss-svn-commits] JBL Code SVN: r24525 - in labs/jbossrules/trunk: drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jan 3 10:47:14 EST 2009
Author: mark.proctor at jboss.com
Date: 2009-01-03 10:47:14 -0500 (Sat, 03 Jan 2009)
New Revision: 24525
Modified:
labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbTransformer.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-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.java
labs/jbossrules/trunk/pom.xml
Log:
JBRULES-1903 Pipeline support for DataLoaders and Feeders
-refactored the term pipelineprovider to transformerprovider for transformers
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbTransformer.java 2009-01-03 12:07:11 UTC (rev 24524)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbTransformer.java 2009-01-03 15:47:14 UTC (rev 24525)
@@ -8,7 +8,8 @@
import javax.xml.bind.Unmarshaller;
import javax.xml.transform.Source;
-import org.drools.runtime.pipeline.JaxbPipelineProvider;
+import org.drools.io.Resource;
+import org.drools.runtime.pipeline.JaxbTransformerProvider;
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.Transformer;
import org.drools.runtime.pipeline.impl.BaseEmitter;
@@ -24,7 +25,7 @@
this.unmarshaller = unmarshaller;
}
- public void signal(Object object,
+ public void receive(Object object,
PipelineContext context) {
Object result = null;
try {
@@ -38,21 +39,26 @@
result = this.unmarshaller.unmarshal( (Source) object );
} else if ( object instanceof InputSource ) {
result = this.unmarshaller.unmarshal( (InputSource) object );
+ } else if ( object instanceof Resource ) {
+ result = this.unmarshaller.unmarshal( (( Resource ) object).getReader() );
+ } else {
+ throw new IllegalArgumentException( "signal object must be instance of File, InputStream, Reader, Source, InputSource or Resource" );
}
} catch ( Exception e ) {
handleException( this,
object,
e );
- if ( result instanceof JAXBElement ) {
- result = ((JAXBElement) object).getValue().getClass().getName();
- }
}
+
+ if ( result instanceof JAXBElement ) {
+ result = ((JAXBElement) object).getValue().getClass().getName();
+ }
+
emit( result,
context );
-
}
- public static class JaxbPipelineProviderImpl implements JaxbPipelineProvider {
+ public static class JaxbTransformerProviderImpl implements JaxbTransformerProvider {
public Transformer newJaxbTransformer(Unmarshaller unmarshaller) {
return new JaxbTransformer( unmarshaller );
}
Modified: 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-03 12:07:11 UTC (rev 24524)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-smooks/src/main/java/org/drools/runtime/pipeline/impl/SmooksTransformer.java 2009-01-03 15:47:14 UTC (rev 24525)
@@ -1,9 +1,14 @@
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.SmooksPipelineProvider;
+import org.drools.runtime.pipeline.SmooksTransformerProvider;
import org.drools.runtime.pipeline.Transformer;
import org.drools.runtime.pipeline.impl.BaseEmitter;
import org.milyn.Smooks;
@@ -23,7 +28,7 @@
}
- public void signal(Object object,
+ public void receive(Object object,
PipelineContext context) {
this.smooks.setClassLoader( context.getClassLoader() );
Object result = null;
@@ -31,10 +36,23 @@
JavaResult javaResult = new JavaResult();
ExecutionContext executionContext = this.smooks.createExecutionContext();
- this.smooks.filter( (Source) object,
+ 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,
@@ -45,7 +63,7 @@
context );
}
- public static class SmooksPipelineProviderImpl implements SmooksPipelineProvider {
+ public static class SmooksTransformerProviderImpl implements SmooksTransformerProvider {
public Transformer newSmooksTransformer(Smooks smooks,
String rootId) {
DroolsSmooksConfiguration conf = new DroolsSmooksConfiguration( rootId );
Modified: 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-03 12:07:11 UTC (rev 24524)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamTransformer.java 2009-01-03 15:47:14 UTC (rev 24525)
@@ -5,10 +5,11 @@
import javax.xml.transform.Source;
+import org.drools.io.Resource;
import org.drools.runtime.pipeline.PipelineContext;
-import org.drools.runtime.pipeline.SmooksPipelineProvider;
+import org.drools.runtime.pipeline.SmooksTransformerProvider;
import org.drools.runtime.pipeline.Transformer;
-import org.drools.runtime.pipeline.XStreamPipelineProvider;
+import org.drools.runtime.pipeline.XStreamTransformerProvider;
import org.drools.runtime.pipeline.impl.BaseEmitter;
import com.thoughtworks.xstream.XStream;;
@@ -22,7 +23,7 @@
}
- public void signal(Object object,
+ public void receive(Object object,
PipelineContext context) {
this.xstream.setClassLoader( context.getClassLoader() );
Object result = null;
@@ -31,7 +32,11 @@
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,
@@ -41,7 +46,7 @@
context );
}
- public static class XStreamPipelineProviderImpl implements XStreamPipelineProvider {
+ public static class XStreamTransformerProviderImpl implements XStreamTransformerProvider {
public Transformer newXStreamTransformer(XStream xstream) {
return new XStreamTransformer( xstream );
}
Modified: labs/jbossrules/trunk/pom.xml
===================================================================
--- labs/jbossrules/trunk/pom.xml 2009-01-03 12:07:11 UTC (rev 24524)
+++ labs/jbossrules/trunk/pom.xml 2009-01-03 15:47:14 UTC (rev 24525)
@@ -998,6 +998,12 @@
<artifactId>jxl</artifactId>
<version>2.4.2</version>
</dependency>
+
+ <dependency>
+ <groupId>net.sf.jxls</groupId>
+ <artifactId>jxls-reader</artifactId>
+ <version>0.9.6</version>
+ </dependency>
<!-- drools-server -->
<dependency>
More information about the jboss-svn-commits
mailing list