[jboss-svn-commits] JBL Code SVN: r31160 - in labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline: drools-camel/src/test/java/org/drools/camel/component and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 20 10:20:23 EST 2010


Author: lucazamador
Date: 2010-01-20 10:20:23 -0500 (Wed, 20 Jan 2010)
New Revision: 31160

Modified:
   labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJaxbDataFormat.java
   labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
   labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbFromXmlVsmTransformer.java
Log:
jaxb command translator added to vsm transformer

Modified: labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJaxbDataFormat.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJaxbDataFormat.java	2010-01-20 14:37:36 UTC (rev 31159)
+++ labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJaxbDataFormat.java	2010-01-20 15:20:23 UTC (rev 31160)
@@ -103,13 +103,11 @@
         ClassLoader cl = null;
         if (executor instanceof StatefulKnowledgeSessionImpl) {
             cl = ((ReteooRuleBase) ((StatefulKnowledgeSessionImpl) executor).getRuleBase()).getRootClassLoader();
-//            xstream.setClassLoader(cl);
         } else if (executor instanceof StatelessKnowledgeSessionImpl) {
             cl = ((ReteooRuleBase) ((StatelessKnowledgeSessionImpl) executor).getRuleBase()).getRootClassLoader();
         } else {
             throw new IllegalArgumentException("Unable to set ClassLoader on " + executor);
         }
-//        xstream.setClassLoader(cl);
         vsmContext.setClassLoader(cl);
         Object payload = null;
 //      this.unmarshaller.unmarshal(new DomReader(d));

Modified: labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java	2010-01-20 14:37:36 UTC (rev 31159)
+++ labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java	2010-01-20 15:20:23 UTC (rev 31160)
@@ -17,8 +17,6 @@
 import org.drools.runtime.ExecutionResults;
 import org.drools.runtime.StatefulKnowledgeSession;
 import org.drools.runtime.help.BatchExecutionHelper;
-import org.drools.runtime.pipeline.PipelineFactory;
-import org.drools.runtime.pipeline.Transformer;
 import org.drools.runtime.rule.FactHandle;
 
 import com.sun.tools.xjc.Language;

Modified: labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbFromXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbFromXmlVsmTransformer.java	2010-01-20 14:37:36 UTC (rev 31159)
+++ labs/jbossrules/branches/camel_jaxb_marshaller-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/JaxbFromXmlVsmTransformer.java	2010-01-20 15:20:23 UTC (rev 31160)
@@ -6,10 +6,12 @@
 import java.io.StringReader;
 
 import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Unmarshaller;
 import javax.xml.transform.Source;
 
+import org.drools.command.runtime.BatchExecutionCommand;
 import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.impl.StatelessKnowledgeSessionImpl;
 import org.drools.io.Resource;
@@ -26,13 +28,14 @@
  * @author Lucas Amador
  *
  */
-public class JaxbFromXmlVsmTransformer extends BaseEmitter implements Transformer {
+public class JaxbFromXmlVsmTransformer extends JaxbTransformer implements Transformer {
 	
+	private CommandTranslator cmdTranslator;
     private Unmarshaller unmarshaller;
-    private PipelineContext context;
     private Object payload;
 
     public JaxbFromXmlVsmTransformer(JAXBContext jaxbCtx) {
+    	super(jaxbCtx);
         try {
 			this.unmarshaller = jaxbCtx.createUnmarshaller();
 		} catch (JAXBException e) {
@@ -84,27 +87,22 @@
             } else {
                 throw new IllegalArgumentException( "signal object must be instance of File, InputStream, Reader, Source, InputSource, Resource, String" );
             }
-            this.context = context;
         } catch (Exception e) {
             handleException(this, object, e);
         }
-        return payload;
-    }
+        
+        if ( payload instanceof JAXBElement<?> ) {
+        	payload = ((JAXBElement<?>) payload).getValue();
+    	}
 
-    public Object getPayload() {
+    	if( payload instanceof BatchExecutionCommand ){
+    		if( cmdTranslator == null ){
+    			cmdTranslator = new CommandTranslator( this );
+    		}
+    		cmdTranslator.transform( (BatchExecutionCommand)payload );
+    	}
+        
         return payload;
     }
 
-    public void setPayload(Object payload) {
-        this.payload = payload;
-    }
-
-    public PipelineContext getContext() {
-        return context;
-    }
-
-    public void setContext(PipelineContext context) {
-        this.context = context;
-    }
-
 }



More information about the jboss-svn-commits mailing list