[jboss-svn-commits] JBL Code SVN: r33361 - in labs/jbossrules/trunk: drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans/persistence and 10 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Jun 5 01:07:16 EDT 2010
Author: mark.proctor at jboss.com
Date: 2010-06-05 01:07:15 -0400 (Sat, 05 Jun 2010)
New Revision: 33361
Added:
labs/jbossrules/trunk/drools-grid/drools-grid-core/.settings/
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJSonDataFormat.java
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/resources/META-INF/services/org/apache/camel/dataformat/drools-json
labs/jbossrules/trunk/drools-server/drools-server-app/.settings/
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java
Removed:
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java
Modified:
labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans/persistence/beans.xml
labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/testSpring.drl
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java
labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java
labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/rules/person2.drl
Log:
JBRULES-2537 JSon Marshaller
-Added drools-json support to Camel.
JBRULES-1434 Drools Spring
-Cleaned up some of the unit tests
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans/persistence/beans.xml
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans/persistence/beans.xml 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/beans/persistence/beans.xml 2010-06-05 05:07:15 UTC (rev 33361)
@@ -18,10 +18,10 @@
<drools:execution-node id="node1" connection="connection1" />
<drools:kbase id="kbProcessWorkItems" node="node1">
- <drools:resource type="PKG" source="file://${temp.dir}/processWorkItems.pkg" />
- <drools:resource type="PKG" source="file://${temp.dir}/processSubProcess.pkg" />
- <drools:resource type="PKG" source="file://${temp.dir}/processTimer.pkg" />
- <drools:resource type="PKG" source="file://${temp.dir}/processTimer2.pkg" />
+ <drools:resource type="PKG" source="file:///${temp.dir}/processWorkItems.pkg" />
+ <drools:resource type="PKG" source="file:///${temp.dir}/processSubProcess.pkg" />
+ <drools:resource type="PKG" source="file:///${temp.dir}/processTimer.pkg" />
+ <drools:resource type="PKG" source="file:///${temp.dir}/processTimer2.pkg" />
</drools:kbase>
<bean id="myEmf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
Modified: labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/testSpring.drl
===================================================================
--- labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/testSpring.drl 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-container/drools-spring/src/test/resources/org/drools/container/spring/testSpring.drl 2010-06-05 05:07:15 UTC (rev 33361)
@@ -8,5 +8,5 @@
when
$p : Person();
then
- list.add( $p );
+ list.add( $p );
end
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsEndpoint.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -29,22 +29,27 @@
public class DroolsEndpoint extends DefaultEndpoint {
- private String ksession;
- private String pipeline;
+ private String ksession;
+ private String pipeline;
private CommandExecutor executor;
- private ExecutionNode node;
+ private ExecutionNode node;
- public DroolsEndpoint(String endpointUri, String remaining, DroolsComponent component) throws URISyntaxException {
- super(endpointUri, component);
- configure(component, remaining);
+ public DroolsEndpoint(String endpointUri,
+ String remaining,
+ DroolsComponent component) throws URISyntaxException {
+ super( endpointUri,
+ component );
+ configure( component,
+ remaining );
}
public Consumer createConsumer(Processor processor) throws Exception {
- throw new RuntimeCamelException("Drools consumers not supported.");
+ throw new RuntimeCamelException( "Drools consumers not supported." );
}
public Producer createProducer() throws Exception {
- return new DroolsProducer(this, node);
+ return new DroolsProducer( this,
+ node );
}
public boolean isSingleton() {
@@ -75,43 +80,43 @@
return node;
}
- protected void configure(DroolsComponent component, String uri) {
- String smId = DroolsComponent.getSessionManagerId(uri);
- ksession = DroolsComponent.getKsessionId(uri);
+ protected void configure(DroolsComponent component,
+ String uri) {
+ String smId = DroolsComponent.getSessionManagerId( uri );
+ ksession = DroolsComponent.getKsessionId( uri );
- if (smId.length() > 0) {
+ if ( smId.length() > 0 ) {
// initialize the component if needed
node = component.getExecutionNode();
- if (node == null) {
+ if ( node == null ) {
// let's look it up
- node = component.getCamelContext().getRegistry().lookup(smId, ExecutionNode.class);
- if (node == null) {
- throw new RuntimeCamelException("Could not find ServiceManager with id=\""
- + smId + "\" in CamelContext. Check configuration.");
+ node = component.getCamelContext().getRegistry().lookup( smId,
+ ExecutionNode.class );
+ if ( node == null ) {
+ throw new RuntimeCamelException( "Could not find ServiceManager with id=\"" + smId + "\" in CamelContext. Check configuration." );
}
// use this ServiceManager
- component.setExecutionNodeId(smId);
- component.setExecutionNode(node);
- } else if (!smId.equals(component.getExecutionNodeId())) {
+ component.setExecutionNodeId( smId );
+ component.setExecutionNode( node );
+ } else if ( !smId.equals( component.getExecutionNodeId() ) ) {
// make sure we deal with the same ServiceManager.
// having multiple ServiceManagers instances in the same process is not supported
- throw new RuntimeCamelException("ServiceManager already initialized from id=\""
- + component.getExecutionNodeId() + "\" yet current endpoint requries id=\"" + smId + "\"");
+ throw new RuntimeCamelException( "ServiceManager already initialized from id=\"" + component.getExecutionNodeId() + "\" yet current endpoint requries id=\"" + smId + "\"" );
}
-
+
// if id is empty this endpoint is not attached to a CommandExecutor and will have to look it up at runtime.
- if (ksession.length() > 0) {
+ if ( ksession.length() > 0 ) {
// lookup command executor
- executor = node.get(DirectoryLookupFactoryService.class).lookup(ksession);
- if (executor == null) {
- throw new RuntimeCamelException("Failed to instantiate DroolsEndpoint. "
- + "Lookup of CommandExecutor with id=\"" + uri + "\" failed. Check configuration.");
+ executor = node.get( DirectoryLookupFactoryService.class ).lookup( ksession );
+ if ( executor == null ) {
+ throw new RuntimeCamelException( "Failed to instantiate DroolsEndpoint. " + "Lookup of CommandExecutor with id=\"" + uri + "\" failed. Check configuration." );
}
}
} else {
// this is a hanging entity, not attached to an SM
- executor = component.getCamelContext().getRegistry().lookup(ksession, CommandExecutor.class);
-
+ executor = component.getCamelContext().getRegistry().lookup( ksession,
+ CommandExecutor.class );
+
// TODO: test this scenario...
}
}
Added: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJSonDataFormat.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJSonDataFormat.java (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsJSonDataFormat.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009 salaboy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * under the License.
+ */
+
+package org.drools.camel.component;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.spi.DataFormat;
+import org.drools.builder.DirectoryLookupFactoryService;
+import org.drools.command.impl.CommandBasedStatefulKnowledgeSession;
+import org.drools.grid.ExecutionNode;
+import org.drools.impl.KnowledgeBaseImpl;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
+import org.drools.impl.StatelessKnowledgeSessionImpl;
+import org.drools.reteoo.ReteooRuleBase;
+import org.drools.runtime.CommandExecutor;
+import org.drools.runtime.help.BatchExecutionHelper;
+import org.drools.runtime.pipeline.PipelineContext;
+import org.drools.runtime.pipeline.impl.ExecutionNodePipelineContextImpl;
+import org.drools.runtime.pipeline.impl.XStreamResolverStrategy;
+
+import com.thoughtworks.xstream.XStream;
+
+/**
+ *
+ * @author salaboy
+ */
+public class DroolsJSonDataFormat extends DroolsXStreamDataFormat
+ implements
+ DataFormat {
+
+ public DroolsJSonDataFormat() {
+ xstreamStrategy = new XStreamResolverStrategy() {
+ public XStream lookup(String name) {
+ return BatchExecutionHelper.newJSonMarshaller();
+ }
+ };
+ }
+}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/java/org/drools/camel/component/DroolsXStreamDataFormat.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -19,6 +19,8 @@
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.apache.camel.Exchange;
import org.apache.camel.spi.DataFormat;
@@ -34,101 +36,95 @@
import org.drools.runtime.pipeline.PipelineContext;
import org.drools.runtime.pipeline.impl.ExecutionNodePipelineContextImpl;
import org.drools.runtime.pipeline.impl.XStreamResolverStrategy;
-import org.w3c.dom.Document;
import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.DomReader;
/**
*
* @author salaboy
*/
-public class DroolsXStreamDataFormat implements DataFormat {
- private XStreamResolverStrategy xstreamStrategy = null;
-// private final XStreamFromXmlVsmTransformer transformer;
- private String charset;
+public class DroolsXStreamDataFormat
+ implements
+ DataFormat {
+ protected XStreamResolverStrategy xstreamStrategy = null;
+ protected String charset;
+
+ protected static Pattern p = Pattern.compile( "[\"']?lookup[\"']?\\s*[:=]\\s*[\"']([^\"']+)[\"']" );
+
public DroolsXStreamDataFormat() {
xstreamStrategy = new XStreamResolverStrategy() {
public XStream lookup(String name) {
return BatchExecutionHelper.newXStreamMarshaller();
}
};
- //this.transformer = new XStreamFromXmlVsmTransformer(xstreamStrategy);
}
- public void marshal(Exchange exchange, Object graph, OutputStream stream)
- throws Exception {
+ public void marshal(Exchange exchange,
+ Object graph,
+ OutputStream stream) throws Exception {
- PipelineContext context = (PipelineContext) exchange.getProperty("drools-context");
- XStream xstream = (XStream) context.getProperties().get("xstream-instance");
- xstream.setClassLoader(context.getClassLoader());
+ PipelineContext context = (PipelineContext) exchange.getProperty( "drools-context" );
+ XStream xstream = (XStream) context.getProperties().get( "xstream-instance" );
+ xstream.setClassLoader( context.getClassLoader() );
String result = null;
-// try {
- result = xstream.toXML(exchange.getIn().getBody());
-// } catch (Exception e) {
-// handleException(this, object, e);
-// e.printStackTrace();
-// }
+ result = xstream.toXML( exchange.getIn().getBody() );
byte[] bytes;
- if (charset != null) {
- bytes = result.getBytes(charset);
+ if ( charset != null ) {
+ bytes = result.getBytes( charset );
} else {
bytes = result.getBytes();
}
- stream.write(bytes);
+ stream.write( bytes );
}
- public Object unmarshal(Exchange exchange, InputStream stream) throws Exception {
+ public Object unmarshal(Exchange exchange,
+ InputStream stream) throws Exception {
+ PipelineContext context = (PipelineContext) exchange.getProperty( "drools-context" );
+ String str = exchange.getIn().getBody( String.class );
- // this.transformer.processPayload(exchange.getIn().getBody(),
- // (PipelineContext)exchange.getProperty("drools-context"));
- // exchange.getOut().setBody(this.transformer.getPayload());
- // exchange.setProperty("drools-context",this.transformer.getContext()
- // );
+ Matcher m = p.matcher( str );
+ String name = null;
+ if ( m.find() ) {
+ name = m.group( 1 );
+ }
- try {
- PipelineContext context = (PipelineContext) exchange.getProperty("drools-context");
- Document d = exchange.getIn().getBody(Document.class);
- String name = d.getDocumentElement().getAttribute("lookup");
- XStream xstream = this.xstreamStrategy.lookup(name);
- if (xstream == null) {
- throw new IllegalArgumentException(
- "Unable to lookup XStream parser using name '" + name + "'");
- }
- ExecutionNodePipelineContextImpl executionNodeContext = (ExecutionNodePipelineContextImpl) exchange.getProperty("drools-context");
- ExecutionNode node = executionNodeContext.getExecutionNode();
- CommandExecutor executor = node.get(DirectoryLookupFactoryService.class).lookup(name);
- if (executor == null) {
- throw new IllegalArgumentException("Unable to lookup CommandExecutor using name '" + name + "'");
- }
- executionNodeContext.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();
- } else if (executor instanceof CommandBasedStatefulKnowledgeSession) {
- cl = ((ReteooRuleBase) ((KnowledgeBaseImpl)((CommandBasedStatefulKnowledgeSession) executor).getKnowledgeBase()).getRuleBase()).getRootClassLoader();
- } else {
- throw new IllegalArgumentException("Unable to set ClassLoader on " + executor);
- }
- xstream.setClassLoader(cl);
- executionNodeContext.setClassLoader(cl);
- Object payload = xstream.unmarshal(new DomReader(d));
+ XStream xstream = this.xstreamStrategy.lookup( name );
+ if ( xstream == null ) {
+ throw new IllegalArgumentException( "Unable to lookup XStream parser using name '" + name + "'" );
+ }
- executionNodeContext.getProperties().put("xstream-instance", xstream);
- exchange.setProperty("drools-context", executionNodeContext);
- return payload;
- } catch (Exception e) {
- e.printStackTrace();
- throw e;
- }
+ ExecutionNodePipelineContextImpl executionNodeContext = (ExecutionNodePipelineContextImpl) exchange.getProperty( "drools-context" );
+ ExecutionNode node = executionNodeContext.getExecutionNode();
+ CommandExecutor executor = node.get( DirectoryLookupFactoryService.class ).lookup( name );
+ if ( executor == null ) {
+ throw new IllegalArgumentException( "Unable to lookup CommandExecutor using name '" + name + "'" );
+ }
+ executionNodeContext.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();
+ } else if ( executor instanceof CommandBasedStatefulKnowledgeSession ) {
+ cl = ((ReteooRuleBase) ((KnowledgeBaseImpl) ((CommandBasedStatefulKnowledgeSession) executor).getKnowledgeBase()).getRuleBase()).getRootClassLoader();
+ } else {
+ throw new IllegalArgumentException( "Unable to set ClassLoader on " + executor );
+ }
+ xstream.setClassLoader( cl );
+ executionNodeContext.setClassLoader( cl );
+ Object payload = xstream.fromXML( str );
+
+ executionNodeContext.getProperties().put( "xstream-instance",
+ xstream );
+ exchange.setProperty( "drools-context",
+ executionNodeContext );
+ return payload;
}
}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/resources/META-INF/services/org/apache/camel/dataformat/drools-json
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/resources/META-INF/services/org/apache/camel/dataformat/drools-json (rev 0)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/main/resources/META-INF/services/org/apache/camel/dataformat/drools-json 2010-06-05 05:07:15 UTC (rev 33361)
@@ -0,0 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+class=org.drools.camel.component.DroolsJSonDataFormat
+
Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxWrapperCollectionTest.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -200,7 +200,7 @@
me.setName("Hadrian");
String rule = "";
- rule += "package org.drools \n";
+ rule += "package org.drools.pipeline.camel \n";
rule += "import org.drools.pipeline.camel.Person\n";
rule += "import org.drools.camel.component.CamelEndpointWithJaxWrapperCollectionTest.WrappedList\n";
rule += "global org.drools.camel.component.CamelEndpointWithJaxWrapperCollectionTest.WrappedList list\n";
Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbTest.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -298,7 +298,7 @@
me.setName("Hadrian");
String rule = "";
- rule += "package org.drools \n";
+ rule += "package org.drools.pipeline.camel \n";
rule += "import org.drools.pipeline.camel.Person \n";
rule += "global java.util.List list \n";
rule += "query persons \n";
Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithJaxbXSDModelTest.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -132,7 +132,7 @@
@Override
protected void configureDroolsContext() {
String rule = "";
- rule += "package org.drools \n";
+ rule += "package org.drools.pipeline.camel.test \n";
rule += "import org.drools.model.Person \n";
rule += "global java.util.List list \n";
rule += "query persons \n";
@@ -185,7 +185,7 @@
process1 += "<process xmlns=\"http://drools.org/drools-5.0/process\"\n";
process1 += " xmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\"\n";
process1 += " xs:schemaLocation=\"http://drools.org/drools-5.0/process drools-processes-5.0.xsd\"\n";
- process1 += " type=\"RuleFlow\" name=\"flow\" id=\"org.drools.actions\" package-name=\"org.drools\" version=\"1\" >\n";
+ process1 += " type=\"RuleFlow\" name=\"flow\" id=\"org.drools.actions\" package-name=\"org.drools.camel.pipeline.test\" version=\"1\" >\n";
process1 += "\n";
process1 += " <header>\n";
process1 += " <imports>\n";
Modified: labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-camel/src/test/java/org/drools/camel/component/CamelEndpointWithMarshallersTest.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -27,58 +27,83 @@
public class CamelEndpointWithMarshallersTest extends DroolsCamelTestSupport {
private String handle;
- public void testSimple(){
+ public void testSimple() {
}
public void testSessionInsert() throws Exception {
- String cmd = "" +
- "<batch-execution lookup=\"ksession1\">\n" +
- "<insert out-identifier=\"salaboy\">\n" +
- "<org.drools.pipeline.camel.Person>\n" +
- "<name>salaboy</name>\n" +
- "</org.drools.pipeline.camel.Person>\n" +
- "</insert>\n" +
- "<fire-all-rules/>\n" +
- "</batch-execution>\n";
+ String cmd = "";
+ cmd += "<batch-execution lookup=\"ksession1\">\n";
+ cmd += " <insert out-identifier=\"salaboy\">\n";
+ cmd += " <org.drools.pipeline.camel.Person>\n";
+ cmd += " <name>salaboy</name>\n";
+ cmd += " </org.drools.pipeline.camel.Person>\n";
+ cmd += " </insert>\n";
+ cmd += " <fire-all-rules/>\n";
+ cmd += "</batch-execution>\n";
- String outXml = new String((byte[])template.requestBody("direct:test-with-session", cmd));
+ String outXml = new String( (byte[]) template.requestBody( "direct:test-with-session",
+ cmd ) );
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(outXml);
- Person person = (Person) result.getValue("salaboy");
- assertEquals("salaboy", person.getName());
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( outXml );
+ Person person = (Person) result.getValue( "salaboy" );
+ assertEquals( "salaboy",
+ person.getName() );
- String expectedXml = "<execution-results>\n";
+ String expectedXml ="";
+ expectedXml += "<execution-results>\n";
expectedXml += " <result identifier=\"salaboy\">\n";
expectedXml += " <org.drools.pipeline.camel.Person>\n";
expectedXml += " <name>salaboy</name>\n";
expectedXml += " </org.drools.pipeline.camel.Person>\n";
expectedXml += " </result>\n";
- expectedXml += " <fact-handle identifier=\"salaboy\" externalForm=\"" + ((InternalFactHandle) result.getFactHandle("salaboy")).toExternalForm() + "\"/>\n";
+ expectedXml += " <fact-handle identifier=\"salaboy\" external-form=\"" + ((InternalFactHandle) result.getFactHandle( "salaboy" )).toExternalForm() + "\"/>\n";
expectedXml += "</execution-results>";
- assertEquals(expectedXml, outXml);
+ assertEquals( expectedXml,
+ outXml );
}
+
+ public void testJSonSessionInsert() throws Exception {
+ String inXml = "";
+ inXml += "{\"batch-execution\":{\"commands\":[";
+ inXml += "{\"insert\":{\"lookup\":\"ksession1\", ";
+ inXml += " \"object\":{\"org.drools.pipeline.camel.Person\":{\"name\":\"salaboy\"}}, \"out-identifier\":\"salaboy\" } }";
+ inXml += ", {\"fire-all-rules\":\"\"}";
+ inXml += "]}}";
+
+ String outXml = new String( (byte[]) template.requestBody( "direct:test-with-session-json",
+ inXml ) );
+
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newJSonMarshaller().fromXML( outXml );
+ Person person = (Person) result.getValue( "salaboy" );
+ assertEquals( "salaboy",
+ person.getName() );
+ }
+
public void testNoSessionInsert() throws Exception {
- String cmd = "" +
- "<batch-execution lookup=\"ksession1\">\n" +
- "<insert out-identifier=\"salaboy\">\n" +
- "<org.drools.pipeline.camel.Person>\n" +
- "<name>salaboy</name>\n" +
- "</org.drools.pipeline.camel.Person>\n" +
- "</insert>\n" +
- "<fire-all-rules/>\n" +
- "</batch-execution>\n";
+ String cmd = "";
+ cmd += "<batch-execution lookup=\"ksession1\">\n";
+ cmd += "<insert out-identifier=\"salaboy\">\n";
+ cmd += "<org.drools.pipeline.camel.Person>\n";
+ cmd += "<name>salaboy</name>\n";
+ cmd += "</org.drools.pipeline.camel.Person>\n";
+ cmd += "</insert>\n";
+ cmd += "<fire-all-rules/>\n";
+ cmd += "</batch-execution>\n";
- String outXml = new String((byte[])template.requestBodyAndHeader("direct:test-no-session", cmd,
- DroolsComponent.DROOLS_LOOKUP, "ksession1"));
+ String outXml = new String( (byte[]) template.requestBodyAndHeader( "direct:test-no-session",
+ cmd,
+ DroolsComponent.DROOLS_LOOKUP,
+ "ksession1" ) );
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(outXml);
- Person person = (Person) result.getValue("salaboy");
- assertEquals("salaboy", person.getName());
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( outXml );
+ Person person = (Person) result.getValue( "salaboy" );
+ assertEquals( "salaboy",
+ person.getName() );
String expectedXml = "<execution-results>\n";
expectedXml += " <result identifier=\"salaboy\">\n";
@@ -86,49 +111,48 @@
expectedXml += " <name>salaboy</name>\n";
expectedXml += " </org.drools.pipeline.camel.Person>\n";
expectedXml += " </result>\n";
- expectedXml += " <fact-handle identifier=\"salaboy\" externalForm=\"" + ((InternalFactHandle) result.getFactHandle("salaboy")).toExternalForm() + "\"/>\n";
+ expectedXml += " <fact-handle identifier=\"salaboy\" external-form=\"" + ((InternalFactHandle) result.getFactHandle( "salaboy" )).toExternalForm() + "\"/>\n";
expectedXml += "</execution-results>";
- assertEquals(expectedXml, outXml);
+ assertEquals( expectedXml,
+ outXml );
}
public void testSessionGetObject() throws Exception {
-// FactHandle factHandle = new DisconnectedFactHandle(handle);
-// GetObjectCommand cmd = (GetObjectCommand) CommandFactory.newGetObject(factHandle);
-// cmd.setOutIdentifier("rider");
+ String cmd = "";
+ cmd += "<batch-execution lookup=\"ksession1\">\n";
+ cmd += "<get-object out-identifier=\"rider\" fact-handle=\"" + this.handle + "\"/>\n";
+ cmd += "</batch-execution>\n";
- String cmd = "" +
- "<batch-execution lookup=\"ksession1\">\n" +
- "<get-object out-identifier=\"rider\" factHandle=\""+ handle +"\"/>\n" +
+ String outXml = new String( (byte[]) template.requestBody( "direct:test-with-session",
+ cmd ) );
- "</batch-execution>\n";
-
-
- String outXml = new String((byte[])template.requestBody("direct:test-with-session", cmd));
+ ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML( outXml );
+ Person person = (Person) result.getValue( "rider" );
+ assertEquals( "Hadrian",
+ person.getName() );
- ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(outXml);
- Person person = (Person) result.getValue("rider");
- assertEquals("Hadrian", person.getName());
+ String expectedXml = "";
+ expectedXml += "<execution-results>\n";
+ expectedXml += " <result identifier=\"rider\">\n";
+ expectedXml += " <org.drools.pipeline.camel.Person>\n";
+ expectedXml += " <name>Hadrian</name>\n";
+ expectedXml += " </org.drools.pipeline.camel.Person>\n";
+ expectedXml += " </result>\n";
+ expectedXml += "</execution-results>";
- String expectedXml = "<execution-results>\n" +
- " <result identifier=\"rider\">\n" +
- " <org.drools.pipeline.camel.Person>\n" +
- " <name>Hadrian</name>\n" +
- " </org.drools.pipeline.camel.Person>\n" +
- " </result>\n" +
- "</execution-results>";
+ assertEquals( expectedXml,
+ outXml );
- assertEquals(expectedXml, outXml);
-
-
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- from("direct:test-with-session").to("drools:sm/ksession1?dataFormat=drools-xstream");
- from("direct:test-no-session").to("drools:sm?dataFormat=drools-xstream");
+ from( "direct:test-with-session" ).to( "drools:sm/ksession1?dataFormat=drools-xstream" );
+ from( "direct:test-with-session-json" ).to( "drools:sm/ksession1?dataFormat=drools-json" );
+ from( "direct:test-no-session" ).to( "drools:sm?dataFormat=drools-xstream" );
}
};
}
@@ -136,13 +160,14 @@
@Override
protected void configureDroolsContext() {
Person me = new Person();
- me.setName("Hadrian");
+ me.setName( "Hadrian" );
- StatefulKnowledgeSession ksession = registerKnowledgeRuntime("ksession1", null);
- InsertObjectCommand cmd = new InsertObjectCommand(me);
- cmd.setOutIdentifier("camel-rider");
- cmd.setReturnObject(false);
- ExecutionResults results = ksession.execute(cmd);
- handle = ((FactHandle)results.getFactHandle("camel-rider")).toExternalForm();
+ StatefulKnowledgeSession ksession = registerKnowledgeRuntime( "ksession1",
+ null );
+ InsertObjectCommand cmd = new InsertObjectCommand( me );
+ cmd.setOutIdentifier( "camel-rider" );
+ cmd.setReturnObject( false );
+ ExecutionResults results = ksession.execute( cmd );
+ handle = ((FactHandle) results.getFactHandle( "camel-rider" )).toExternalForm();
}
}
Modified: labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-pipeline/drools-transformer-xstream/pom.xml 2010-06-05 05:07:15 UTC (rev 33361)
@@ -25,7 +25,7 @@
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
- </dependency>
+ </dependency>
<dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
@@ -37,6 +37,11 @@
<artifactId>drools-grid-core</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.2</version>
+ </dependency>
</dependencies>
<repositories>
<repository>
Deleted: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -1,49 +0,0 @@
-package org.drools.pipeline.camel;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- *
- * @author salaboy
- */
- at XmlRootElement
-public class Person {
- private String name;
- private Integer age;
-
- public Person() {
- }
-
- public Person(String name) {
- super();
- this.name = name;
- }
-
- public Person(String name, int age) {
- super();
- this.name = name;
- this.age = age;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public void setAge(Integer age) {
- this.age = age;
- }
-
- public Integer getAge() {
- return age;
- }
-
- @Override
- public String toString() {
- return "Person [age=" + age + ", name=" + name + "]";
- }
-
-}
Copied: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java (from rev 33339, labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java)
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java (rev 0)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/server/Person.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -0,0 +1,49 @@
+package org.drools.pipeline.camel.server;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ *
+ * @author salaboy
+ */
+ at XmlRootElement
+public class Person {
+ private String name;
+ private Integer age;
+
+ public Person() {
+ }
+
+ public Person(String name) {
+ super();
+ this.name = name;
+ }
+
+ public Person(String name, int age) {
+ super();
+ this.name = name;
+ this.age = age;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public void setAge(Integer age) {
+ this.age = age;
+ }
+
+ public Integer getAge() {
+ return age;
+ }
+
+ @Override
+ public String toString() {
+ return "Person [age=" + age + ", name=" + name + "]";
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java 2010-06-05 05:07:15 UTC (rev 33361)
@@ -30,14 +30,14 @@
String cmd = "";
cmd += "<batch-execution lookup='ksession2'>\n";
cmd += " <insert out-identifier='baunax'>\n";
- cmd += " <org.drools.pipeline.camel.Person>\n";
+ cmd += " <org.drools.pipeline.camel.server.Person>\n";
cmd += " <name>baunax</name>\n";
- cmd += " </org.drools.pipeline.camel.Person>\n";
+ cmd += " </org.drools.pipeline.camel.server.Person>\n";
cmd += " </insert>\n";
cmd += " <insert out-identifier='lucaz'>\n";
- cmd += " <org.drools.pipeline.camel.Person>\n";
+ cmd += " <org.drools.pipeline.camel.server.Person>\n";
cmd += " <name>lucaz</name>\n";
- cmd += " </org.drools.pipeline.camel.Person>\n";
+ cmd += " </org.drools.pipeline.camel.server.Person>\n";
cmd += " </insert>\n";
cmd += " <query name='persons' out-identifier='persons'/>\n";
cmd += " <fire-all-rules/>\n";
Modified: labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/rules/person2.drl
===================================================================
--- labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/rules/person2.drl 2010-06-05 04:39:40 UTC (rev 33360)
+++ labs/jbossrules/trunk/drools-server/drools-server-app/src/test/resources/rules/person2.drl 2010-06-05 05:07:15 UTC (rev 33361)
@@ -1,6 +1,6 @@
package org.drools.test.model
-import org.drools.pipeline.camel.Person;
+import org.drools.pipeline.camel.server.Person;
query persons
$p : Person(name != null)
More information about the jboss-svn-commits
mailing list