[jboss-svn-commits] JBL Code SVN: r30359 - labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Nov 26 15:56:45 EST 2009
Author: salaboy21
Date: 2009-11-26 15:56:45 -0500 (Thu, 26 Nov 2009)
New Revision: 30359
Modified:
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java
Log:
JBRULES-2347 Drools Pipeline integration with Camel
- changes to BaseEmitters in xstrem to support camel calls
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java 2009-11-26 20:55:20 UTC (rev 30358)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamFromXmlVsmTransformer.java 2009-11-26 20:56:45 UTC (rev 30359)
@@ -20,59 +20,70 @@
Transformer {
private XStreamResolverStrategy strategy;
-
+ private Object payload;
+ private PipelineContext context;
+
public XStreamFromXmlVsmTransformer(XStreamResolverStrategy strategy) {
this.strategy = strategy;
}
-
+
public void receive(Object object,
PipelineContext context) {
- Object payload = null;
+ this.payload = processPayload(object, context);
+ emit( this.payload,
+ context );
+ }
+
+ public Object processPayload(Object object, PipelineContext context) {
+
try {
- Document d = ( Document ) object;
-
- String name = d.getDocumentElement().getAttribute( "lookup" );
-
- XStream xstream = this.strategy.lookup( name );
-
- if ( xstream == null ) {
- throw new IllegalArgumentException( "Unable to lookup XStream parser using name '" + name + "'" );
+ Document d = (Document) object;
+ String name = d.getDocumentElement().getAttribute("lookup");
+ XStream xstream = this.strategy.lookup(name);
+ if (xstream == null) {
+ throw new IllegalArgumentException("Unable to lookup XStream parser using name '" + name + "'");
}
-
- ServiceManagerPipelineContextImpl vsmContext = ( ServiceManagerPipelineContextImpl ) context;
+ ServiceManagerPipelineContextImpl vsmContext = (ServiceManagerPipelineContextImpl) context;
ServiceManager sm = vsmContext.getServiceManager();
- CommandExecutor executor = sm.lookup( name );
-
- if ( executor == null ) {
- throw new IllegalArgumentException( "Unable to lookup CommandExecutor using name '" + name + "'" );
- }
-
- vsmContext.setCommandExecutor( executor );
-
+ CommandExecutor executor = sm.lookup(name);
+ if (executor == null) {
+ throw new IllegalArgumentException("Unable to lookup CommandExecutor using name '" + name + "'");
+ }
+ vsmContext.setCommandExecutor(executor);
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();
-
+ 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 );
+ throw new IllegalArgumentException("Unable to set ClassLoader on " + executor);
}
-
- xstream.setClassLoader( cl );
- vsmContext.setClassLoader( cl );
-
- payload = xstream.unmarshal( new DomReader( d ) );
-
- context.getProperties().put( "xstream-instance", xstream );
-
- } catch ( Exception e ) {
- handleException( this,
- object,
- e );
+ xstream.setClassLoader(cl);
+ vsmContext.setClassLoader(cl);
+ payload = xstream.unmarshal(new DomReader(d));
+ context.getProperties().put("xstream-instance", xstream);
+ this.context = context;
+ } catch (Exception e) {
+ handleException(this, object, e);
}
- emit( payload,
- context );
+ return payload;
}
+
+ public Object getPayload() {
+ return payload;
+ }
+
+ public void setPayload(Object payload) {
+ this.payload = payload;
+ }
+
+ public PipelineContext getContext() {
+ return context;
+ }
+
+ public void setContext(PipelineContext context) {
+ this.context = context;
+ }
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java 2009-11-26 20:55:20 UTC (rev 30358)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/src/main/java/org/drools/runtime/pipeline/impl/XStreamToXmlVsmTransformer.java 2009-11-26 20:56:45 UTC (rev 30359)
@@ -18,22 +18,33 @@
public class XStreamToXmlVsmTransformer extends BaseEmitter
implements
Transformer {
-
+ Object result = null;
public void receive(Object object,
PipelineContext context) {
- XStream xstream = ( XStream ) context.getProperties().get( "xstream-instance" );
- xstream.setClassLoader( context.getClassLoader() );
+ this.result = transform(context, object);
+ emit( result,
+ context );
+ }
+
+ public Object transform(PipelineContext context, Object object) {
+ XStream xstream = (XStream) context.getProperties().get( "xstream-instance" );
+ xstream.setClassLoader(context.getClassLoader());
Object result = null;
try {
- result = xstream.toXML( object );
- } catch ( Exception e ) {
- handleException( this,
- object,
- e );
+ result = xstream.toXML(object);
+ } catch (Exception e) {
+ handleException(this, object, e);
}
-
- emit( result,
- context );
+ return result;
}
+
+ public Object getResult() {
+ return result;
+ }
+
+ public void setResult(Object result) {
+ this.result = result;
+ }
+
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list