[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