[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