[jboss-svn-commits] JBL Code SVN: r32413 - in labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server: drools-server-app and 39 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 5 11:28:37 EDT 2010


Author: lucazamador
Date: 2010-04-05 11:28:36 -0400 (Mon, 05 Apr 2010)
New Revision: 32413

Added:
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/pom.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/resources/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/resources/META-INF/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/configuration.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/core.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/services.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/sessions.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/web.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/index.jsp
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/examples/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-1.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-2.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/configuration-test.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/core-test.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/model/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/model/person.xsd
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person.drl
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person2.drl
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/services-test.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/sessions-test.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/pom.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/server/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/resources/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/resources/META-INF/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/configuration.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/web.xml
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/index.jsp
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/java/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/model/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/model/person.xsd
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person.drl
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person2.drl
Removed:
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.classpath
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.project
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/jboss.identity
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/
Modified:
   labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/pom.xml
Log:
new drools server with spring configuration

Deleted: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.classpath
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.classpath	2010-04-05 14:23:51 UTC (rev 32412)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.classpath	2010-04-05 15:28:36 UTC (rev 32413)
@@ -1,31 +0,0 @@
-<classpath>
-  <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
-  <classpathentry kind="src" path="src/test/resources" output="target/test-classes" including="**" excluding="**/*.java"/>
-  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
-  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
-  <classpathentry kind="output" path="target/classes"/>
-  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.3/antlr-runtime-3.1.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/apache/jasper/springsource/com.springsource.org.apache.jasper.org.eclipse.jdt.springsource/6.0.20.S2-r5956/com.springsource.org.apache.jasper.org.eclipse.jdt.springsource-6.0.20.S2-r5956.jar"/>
-  <classpathentry kind="src" path="/drools-api"/>
-  <classpathentry kind="src" path="/drools-compiler"/>
-  <classpathentry kind="src" path="/drools-core"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/gunit/3.1.3/gunit-3.1.3.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.15/janino-2.5.15.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0.1/jettison-1.0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jmock/jmock/2.5.1/jmock-2.5.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/jmock/jmock-legacy/2.5.1/jmock-legacy-2.5.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/junit/junit/4.6/junit-4.6.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/stax/stax/1.2.0/stax-1.2.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.2/stringtemplate-3.2.jar"/>
-  <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar"/>
-  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-</classpath>
\ No newline at end of file

Deleted: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.project
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.project	2010-04-05 14:23:51 UTC (rev 32412)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/.project	2010-04-05 15:28:36 UTC (rev 32413)
@@ -1,28 +0,0 @@
-<projectDescription>
-  <name>drools-server</name>
-  <comment>A rule production system</comment>
-  <projects>
-    <project>drools-api</project>
-    <project>drools-compiler</project>
-    <project>drools-core</project>
-  </projects>
-  <buildSpec>
-    <buildCommand>
-      <name>org.eclipse.wst.common.modulecore.ComponentStructuralBuilder</name>
-    </buildCommand>
-    <buildCommand>
-      <name>org.eclipse.jdt.core.javabuilder</name>
-    </buildCommand>
-    <buildCommand>
-      <name>org.eclipse.wst.validation.validationbuilder</name>
-    </buildCommand>
-    <buildCommand>
-      <name>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</name>
-    </buildCommand>
-  </buildSpec>
-  <natures>
-    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-    <nature>org.eclipse.jdt.core.javanature</nature>
-    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-  </natures>
-</projectDescription>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app
___________________________________________________________________
Name: svn:ignore
   + target


Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/pom.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/pom.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <artifactId>drools</artifactId>
+      <groupId>org.drools</groupId>
+      <version>5.1.0.SNAPSHOT</version>
+   </parent>
+   <artifactId>drools-server-app</artifactId>
+   <packaging>war</packaging>
+   <name>Drools :: Server App</name>
+   <build>
+      <finalName>drools-server-app</finalName>
+   </build>
+   
+   <dependencies>
+	<dependency>
+		<groupId>org.drools</groupId>
+		<artifactId>drools-camel</artifactId>
+		<version>${project.version}</version>
+		<exclusions>
+			<exclusion>
+				<groupId>xml-apis</groupId>
+				<artifactId>xml-apis</artifactId>
+			</exclusion>
+		</exclusions>
+	</dependency>
+	<dependency>
+		<groupId>org.drools</groupId>
+		<artifactId>drools-vsm</artifactId>
+		<exclusions>
+			<exclusion>
+				<groupId>org.drools</groupId>
+				<artifactId>drools-process-task</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>xml-apis</groupId>
+				<artifactId>xml-apis</artifactId>
+			</exclusion>
+		</exclusions>
+	</dependency>
+	<dependency>
+		<groupId>org.drools</groupId>
+		<artifactId>drools-compiler</artifactId>
+	</dependency>
+	<dependency>
+		<groupId>org.drools</groupId>
+		<artifactId>drools-server-spring</artifactId>
+		<version>${project.version}</version>
+	</dependency>
+	<dependency>
+		<groupId>org.drools</groupId>
+		<artifactId>drools-spring</artifactId>
+	</dependency>
+    <!-- CXF deps -->
+	<dependency>
+		<groupId>org.apache.cxf</groupId>
+		<artifactId>cxf-rt-frontend-jaxws</artifactId>
+		<version>2.2.6</version>
+	</dependency>
+	<dependency>
+		<groupId>org.apache.cxf</groupId>
+		<artifactId>cxf-bundle-jaxrs</artifactId>
+		<version>2.2.6</version>
+		<exclusions>
+			<exclusion>
+				<groupId>xerces</groupId>
+				<artifactId>xercesImpl</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>xerces</groupId>
+				<artifactId>xmlParserAPIs</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>xml-apis</groupId>
+				<artifactId>xml-apis</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>org.apache.geronimo.specs</groupId>
+				<artifactId>geronimo-servlet_2.5_spec</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>jaxen</groupId>
+				<artifactId>jaxen</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>org.apache.xmlbeans</groupId>
+				<artifactId>xmlbeans</artifactId>
+			</exclusion>
+		</exclusions>
+	</dependency>
+
+	<dependency>
+		<groupId>commons-httpclient</groupId>
+		<artifactId>commons-httpclient</artifactId>
+		<version>3.1</version>
+		<scope>test</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.springframework</groupId>
+		<artifactId>spring-test</artifactId>
+		<version>2.5.6</version>
+		<scope>test</scope>  
+	</dependency>  
+
+	<dependency>
+		<groupId>org.jboss</groupId>
+		<artifactId>jboss-vfs</artifactId>
+		<version>2.1.3.GA</version>
+		<scope>provided</scope>
+	</dependency>
+
+	<dependency>
+		<groupId>junit</groupId>
+		<artifactId>junit</artifactId>
+		<version>4.4</version>
+		<scope>test</scope>  
+	</dependency> 
+
+	<!-- web app deps -->
+	<dependency>
+		<groupId>javax.servlet</groupId>
+		<artifactId>servlet-api</artifactId>
+	</dependency>
+	  
+   </dependencies>
+   
+</project>


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/pom.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,81 @@
+package org.apache.camel.jboss;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.Set;
+
+import org.apache.camel.impl.DefaultPackageScanClassResolver;
+import org.apache.camel.spi.PackageScanFilter;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.virtual.VisitorAttributes;
+import org.jboss.virtual.plugins.vfs.helpers.AbstractVirtualFileVisitor;
+
+/**
+ * JBoss specific package scan classloader to be used when Camel is running
+ * inside JBoss Application Server.
+ */
+public class JBossPackageScanClassResolver extends DefaultPackageScanClassResolver {
+
+    @Override
+    protected void find(PackageScanFilter test, String packageName, ClassLoader loader, Set<Class<?>> classes) {
+        if (log.isTraceEnabled()) {
+            log.trace("Searching for: " + test + " in package: " + packageName
+                    + " using classloader: " + loader.getClass().getName());
+        }
+
+        Enumeration<URL> urls;
+        try {
+            urls = getResources(loader, packageName);
+            if (!urls.hasMoreElements()) {
+                log.trace("No URLs returned by classloader");
+            }
+        }
+        catch (IOException ioe) {
+            log.warn("Could not read package: " + packageName, ioe);
+            return;
+        }
+
+        while (urls.hasMoreElements()) {
+            URL url = null;
+            try {
+                url = urls.nextElement();
+                if (log.isTraceEnabled()) {
+                    log.trace("URL from classloader: " + url);
+                }
+                VirtualFile root = VFS.getRoot(url);
+                root.visit(new MatchingClassVisitor(test, classes));
+            }
+            catch (IOException ioe) {
+                log.warn("Could not read entries in url: " + url, ioe);
+            }
+        }
+    }
+
+    private class MatchingClassVisitor extends AbstractVirtualFileVisitor {
+        private PackageScanFilter filter;
+        private Set<Class<?>> classes;
+
+        private MatchingClassVisitor(PackageScanFilter filter, Set<Class<?>> classes) {
+            super(VisitorAttributes.RECURSE_LEAVES_ONLY);
+            this.filter = filter;
+            this.classes = classes;
+        }
+
+        public void visit(VirtualFile file) {
+            if (file.getName().endsWith(".class")) {
+                String fqn = file.getPathName();
+                String qn;
+                if (fqn.indexOf("jar/") != -1) {
+                    qn = fqn.substring(fqn.indexOf("jar/") + 4);
+                } else {
+                    qn = fqn.substring(fqn.indexOf("/") + 1);
+                }
+
+                addIfMatching(filter, qn, classes);
+            }
+        }
+    }
+
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/apache/camel/jboss/JBossPackageScanClassResolver.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,55 @@
+package org.drools.server.service;
+
+import javax.ws.rs.FormParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+import javax.ws.rs.core.Response.Status;
+
+import org.drools.CheckedDroolsException;
+import org.drools.server.KnowledgeService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * RestWS interface to execute commands
+ * @author Lucas Amador
+ *
+ */
+ at Path("/rest")
+public class KnowledgeServiceRest {
+	
+	private static Logger logger = LoggerFactory.getLogger(KnowledgeServiceRest.class);
+	private KnowledgeService service;
+	
+	@POST()
+	@Path("/execute")
+	public Response execute(@FormParam("command") String command) {
+		if (command==null || command.length()==0) {
+			logger.error("Invalid or null command " + command);			
+			return Response.status(Status.BAD_REQUEST).build();
+		}
+		String response;
+		try {
+			response = getService().executeCommand(command);
+		} catch (CheckedDroolsException e) {
+			logger.error(e.getMessage());
+			return Response.status(Status.BAD_REQUEST).build();
+		} catch (Exception e) {
+			logger.error(e.getMessage());
+			return Response.status(Status.CONFLICT).build();
+		}
+		ResponseBuilder builder = Response.ok(response, "application/xml");
+        return builder.build();
+	}
+
+	public void setService(KnowledgeService service) {
+		this.service = service;
+	}
+
+	public KnowledgeService getService() {
+		return service;
+	}
+	
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceRest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,13 @@
+package org.drools.server.service;
+
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+import org.drools.CheckedDroolsException;
+
+ at WebService
+public interface KnowledgeServiceSoap {
+
+	String execute(@WebParam(name="command") String command) throws CheckedDroolsException;
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,34 @@
+package org.drools.server.service;
+
+import javax.jws.WebService;
+
+import org.drools.CheckedDroolsException;
+import org.drools.server.KnowledgeService;
+
+ at WebService(endpointInterface = "org.drools.server.service.KnowledgeServiceSoap", serviceName = "knowledgeService")
+public class KnowledgeServiceSoapImpl implements KnowledgeServiceSoap {
+
+	private KnowledgeService service;
+	
+	public String execute(String command) throws CheckedDroolsException {
+		if (command==null || command.length()==0) {
+			throw new CheckedDroolsException("Invalid or null command");
+		}
+		String response = null;
+		try {
+			response = getService().executeCommand(command);
+		} catch (Exception e) {
+			throw new CheckedDroolsException(e.getMessage());
+		}
+        return response;
+	}
+
+	public void setService(KnowledgeService service) {
+		this.service = service;
+	}
+
+	public KnowledgeService getService() {
+		return service;
+	}
+
+}
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/configuration.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/configuration.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/configuration.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
+    default-autowire="byName">
+
+	<import resource="sessions.xml" />
+	<import resource="services.xml" />
+	<import resource="core.xml" />
+
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/configuration.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/core.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/core.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/core.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:cxf="http://cxf.apache.org/core"
+    xmlns:jaxws="http://cxf.apache.org/jaxws"
+    xmlns:jaxrs="http://cxf.apache.org/jaxrs"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+        http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+        http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"
+    default-autowire="byName">
+
+    <!-- Load CXF modules from cxf.jar -->
+    <import resource="classpath:META-INF/cxf/cxf.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
+    
+    <!-- Here are defined the REST/SOAP services endpoint. You don't need to modify this -->
+    
+    <bean id="knowledgeServiceSoapImpl" class="org.drools.server.service.KnowledgeServiceSoapImpl">
+    	<property name="service">
+			<ref bean="service" />
+		</property>
+    </bean>
+
+    <!-- Service endpoint -->
+    <jaxws:endpoint id="knowledgeServiceSoap"
+            implementorClass="org.drools.server.service.KnowledgeServiceSoapImpl"
+            implementor="#knowledgeServiceSoapImpl"
+            address="/soap">
+    </jaxws:endpoint>
+    
+    <jaxrs:server id="knowledgeServiceRest" address="/">
+        <jaxrs:serviceBeans>
+            <ref bean="knowledgeServiceRestImpl" />
+        </jaxrs:serviceBeans>
+    </jaxrs:server>
+
+    <bean id="knowledgeServiceRestImpl" class="org.drools.server.service.KnowledgeServiceRest" >
+    	<property name="service">
+			<ref bean="service" />
+		</property>
+    </bean>
+    
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/core.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/services.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/services.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/services.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:camel="http://camel.apache.org/schema/spring"
+    xmlns:drools-service="http://drools.org/schema/drools-service-spring"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+		http://drools.org/schema/drools-service-spring http://drools.org/schema/drools-service-spring.xsd
+		http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"
+    default-autowire="byName">
+
+	<!-- Only needed when deployed on JBoss AS 5.X -->    
+<!--    <bean id="jbossResolver" class="org.apache.camel.jboss.JBossPackageScanClassResolver"/>-->
+    
+    <!-- This camel context bean is required -->
+	<camelContext id="executionContext" xmlns="http://camel.apache.org/schema/spring" />
+
+	<!-- Example service configuration  
+	<drools-service:configuration id="service-conf-2" marshaller="XSTREAM" session="ksession2" />
+	-->
+
+	<!-- If you change the service definition id you MUST change this in the core.xml file -->
+	<drools-service:definition id="service" smId="sm1" camelContext="executionContext">
+		<!-- Here you can add your service configuration	
+		<drools-service:configuration marshaller="JAXB" session="ksession1">
+			<drools-service:class>org.drools.model.Person</drools-service:class>
+		</drools-service:configuration> -->
+		<!--  or add a reference to an external configuration definition
+		<drools-service:configuration-ref id="service-conf-2" />
+		 -->
+	</drools-service:definition>
+	
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/services.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/sessions.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/sessions.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/sessions.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:drools="http://drools.org/schema/drools-spring"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+		http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd"
+    default-autowire="byName">
+
+	<!-- Service Manager bean is required -->
+    <bean id="sm1" class="org.drools.vsm.local.ServiceManagerLocalClient" />
+
+	<!-- Here you define your knowledge base, adding resources and, optionally, an XSD model definition
+	<drools:kbase id="kbase1" serviceManager="sm1">
+		<drools:resource source="classpath:changesets/change-set-1.xml" type="CHANGE_SET" />
+		<drools:model source="classpath:model/person.xsd" />
+	</drools:kbase>
+
+	<drools:kbase id="kbase2" serviceManager="sm1">
+		<drools:resource source="classpath:changesets/change-set-2.xml" type="CHANGE_SET" />
+	</drools:kbase>
+
+	and create your own stateless/stateful knowledge sessions
+	
+	<drools:ksession id="ksession1" type="stateful"  kbase="kbase1" serviceManager="sm1"/>
+
+	<drools:ksession id="ksession2" type="stateless" kbase="kbase2" serviceManager="sm1"/>
+	-->
+	
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/sessions.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/web.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/web.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+
+	<display-name>JBoss Drools Execution Server</display-name>
+
+	<context-param>
+		<param-name>contextConfigLocation</param-name>
+		<param-value>/WEB-INF/configuration.xml</param-value>
+	</context-param>
+	
+	<listener>
+		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+	</listener>
+	
+	<servlet>
+		<servlet-name>knowledgeService</servlet-name>
+		<servlet-class>org.drools.server.KnowledgeServiceServlet</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>CXFServlet</servlet-name>
+		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
+	</servlet>
+	
+	<servlet-mapping>
+		<servlet-name>knowledgeService</servlet-name>
+		<url-pattern>/servlet/*</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>CXFServlet</servlet-name>
+		<url-pattern>/services/*</url-pattern>
+	</servlet-mapping>
+
+	<session-config>
+		<session-timeout>10</session-timeout>
+	</session-config>
+
+</web-app>


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/index.jsp
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/index.jsp	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/index.jsp	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,9 @@
+<%@ page contentType="text/html; charset=UTF-8" %>
+<html>
+	<head>
+		<title>Drools execution server</title>
+	</head>
+	<body>
+		<h1>Execution server is running</h1>
+	</body>
+</html>


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/main/webapp/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,49 @@
+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 + "]";
+	}
+	
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/pipeline/camel/Person.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,48 @@
+package org.drools.server;
+
+import junit.framework.TestCase;
+
+public abstract class KnowledgeServiceBaseTest extends TestCase {
+
+	public String getJaxbCommand() throws Exception {
+		String cmd = "";
+		cmd += "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
+		cmd += "<batch-execution lookup='ksession1' xmlns:ns2='http://drools.org/model'>\n";
+		cmd += "    <insert out-identifier='lucaz'>\n";
+		cmd += "        <object xsi:type='ns2:person' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n";
+		cmd += "            <ns2:name>lucaz</ns2:name>\n";
+		cmd += "            <ns2:age>25</ns2:age>\n";
+		cmd += "        </object>\n";
+		cmd += "    </insert>\n";
+		cmd += "    <insert out-identifier='baunax'>\n";
+		cmd += "        <object xsi:type='ns2:person' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>\n";
+		cmd += "            <ns2:name>baunax</ns2:name>\n";
+		cmd += "            <ns2:age>21</ns2:age>\n";
+		cmd += "        </object>\n";
+		cmd += "    </insert>\n";
+		cmd += "    <query name='persons' out-identifier='persons'/>\n";
+		cmd += "    <fire-all-rules max='-1'/>\n";
+		cmd += "</batch-execution>\n";
+		return cmd;
+	}
+	
+	public String getXStreamCommand() {
+		String cmd = "";
+		cmd += "<batch-execution lookup='ksession2'>\n";
+		cmd += "   <insert out-identifier='baunax'>\n";
+		cmd += "      <org.drools.pipeline.camel.Person>\n";
+		cmd += "         <name>baunax</name>\n";
+		cmd += "      </org.drools.pipeline.camel.Person>\n";
+		cmd += "   </insert>\n";
+		cmd += "   <insert out-identifier='lucaz'>\n";
+		cmd += "      <org.drools.pipeline.camel.Person>\n";
+		cmd += "         <name>lucaz</name>\n";
+		cmd += "      </org.drools.pipeline.camel.Person>\n";
+		cmd += "   </insert>\n";
+		cmd += "   <query name='persons' out-identifier='persons'/>\n";
+		cmd += "   <fire-all-rules/>\n";
+		cmd += "</batch-execution>\n";
+		return cmd;
+	}
+	
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/KnowledgeServiceBaseTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,98 @@
+package org.drools.server.service;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.help.BatchExecutionHelper;
+import org.drools.runtime.rule.impl.FlatQueryResults;
+import org.drools.server.KnowledgeServiceBaseTest;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+ at RunWith(SpringJUnit4ClassRunner.class)
+ at ContextConfiguration(locations = { "classpath:configuration-test.xml" })
+public class KnowledgeServiceRestTest extends KnowledgeServiceBaseTest {
+
+	@Autowired
+	@Qualifier("knowledgeServiceRestImpl")
+	protected KnowledgeServiceRest proxy;
+
+	@Test
+	public void testInvalidCommand() throws Exception {
+		Response response = proxy.execute("asdsad");
+		assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+	}
+
+	@Test
+	public void testInvalidProfile() throws Exception {
+		Response response = proxy.execute("unknow profile");
+		assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+	}
+
+	@Test
+	public void testJaxbInsertCommand() throws Exception {
+		String cmd = getJaxbCommand();
+
+		Response response = proxy.execute(cmd);
+
+		assertEquals(200, response.getStatus());
+
+		String XMLoutput = (String) response.getEntity();
+
+		assertTrue(XMLoutput.indexOf("<ns2:name>santa</ns2:name>") > -1);
+		assertTrue(XMLoutput.indexOf("<item key=\"lucaz\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+		assertTrue(XMLoutput.indexOf("<item key=\"baunax\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+	}
+
+	@Test
+	public void testXStreamInsertCommand() throws Exception {
+		String cmd = getXStreamCommand();
+		Response response = proxy.execute(cmd);
+		assertEquals(200, response.getStatus());
+
+		String XMLoutput = (String) response.getEntity();
+
+		ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(XMLoutput);
+
+		assertNotNull(result.getFactHandle("lucaz"));
+
+		FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
+		assertEquals(2, personsQuery.size());
+	}
+
+	@Test
+	public void testBothsessions() throws Exception {
+		String cmd = getJaxbCommand();
+
+		Response response = proxy.execute(cmd);
+
+		assertEquals(200, response.getStatus());
+
+		String XMLoutput = (String) response.getEntity();
+
+		assertTrue(XMLoutput.indexOf("<ns2:name>santa</ns2:name>") > -1);
+		assertTrue(XMLoutput.indexOf("<item key=\"lucaz\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+		assertTrue(XMLoutput.indexOf("<item key=\"baunax\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+
+		cmd = getXStreamCommand();
+
+		response = proxy.execute(cmd);
+
+		assertEquals(200, response.getStatus());
+
+		XMLoutput = (String) response.getEntity();
+
+		ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(XMLoutput);
+
+		assertNotNull(result.getFactHandle("lucaz"));
+
+		FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
+		assertEquals(2, personsQuery.size());
+	}
+
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,68 @@
+package org.drools.server.service;
+
+import org.drools.runtime.ExecutionResults;
+import org.drools.runtime.help.BatchExecutionHelper;
+import org.drools.runtime.rule.impl.FlatQueryResults;
+import org.drools.server.KnowledgeServiceBaseTest;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+ at RunWith(SpringJUnit4ClassRunner.class)
+ at ContextConfiguration(locations = { "classpath:configuration-test.xml" })
+public class KnowledgeServiceSoapTest extends KnowledgeServiceBaseTest {
+
+	@Autowired
+	@Qualifier("knowledgeServiceSoapImpl")
+	protected KnowledgeServiceSoap proxy;
+
+	@Test
+	public void testJaxbInsertCommand() throws Exception {
+		String cmd = getJaxbCommand();
+
+		String response = proxy.execute(cmd);
+
+		assertTrue(response.indexOf("<ns2:name>santa</ns2:name>") > -1);
+		assertTrue(response.indexOf("<item key=\"lucaz\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+		assertTrue(response.indexOf("<item key=\"baunax\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+	}
+
+	@Test
+	public void testXStreamInsertCommand() throws Exception {
+		String cmd = getXStreamCommand();
+		String response = proxy.execute(cmd);
+
+		ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(response);
+
+		assertNotNull(result.getFactHandle("lucaz"));
+
+		FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
+		assertEquals(2, personsQuery.size());
+	}
+
+	@Test
+	public void testBothsessions() throws Exception {
+		String cmd = getJaxbCommand();
+
+		String response = proxy.execute(cmd);
+
+		assertTrue(response.indexOf("<ns2:name>santa</ns2:name>") > -1);
+		assertTrue(response.indexOf("<item key=\"lucaz\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+		assertTrue(response.indexOf("<item key=\"baunax\">\n            <value xsi:type=\"disconnectedFactHandle\"") > -1);
+
+		cmd = getXStreamCommand();
+
+		response = proxy.execute(cmd);
+
+		ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(response);
+
+		assertNotNull(result.getFactHandle("lucaz"));
+
+		FlatQueryResults personsQuery = (FlatQueryResults) result.getValue("persons");
+		assertEquals(2, personsQuery.size());
+	}
+
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-1.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-1.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-1.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,7 @@
+<change-set xmlns='http://drools.org/drools-5.0/change-set'
+            xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
+            xs:schemaLocation='http://drools.org/drools-5.0/change-set.xsd' >
+   <add>
+      <resource source='classpath:rules/person.drl' type='DRL' />
+   </add>
+</change-set>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-1.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-2.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-2.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-2.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,7 @@
+<change-set xmlns='http://drools.org/drools-5.0/change-set'
+		xmlns:xs='http://www.w3.org/2001/XMLSchema-instance' 
+		xs:schemaLocation='http://drools.org/drools-5.0/change-set.xsd'>
+	<add>
+		<resource source='classpath:rules/person2.drl' type='DRL' />
+	</add>
+</change-set>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/changesets/change-set-2.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/configuration-test.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/configuration-test.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/configuration-test.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
+    default-autowire="byName">
+
+	<import resource="classpath:sessions-test.xml" />
+	<import resource="classpath:services-test.xml" />
+	<import resource="classpath:core-test.xml" />
+
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/configuration-test.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/core-test.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/core-test.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/core-test.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:cxf="http://cxf.apache.org/core"
+    xmlns:jaxws="http://cxf.apache.org/jaxws"
+    xmlns:jaxrs="http://cxf.apache.org/jaxrs"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+        http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+        http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd"
+    default-autowire="byName">
+
+    <!-- Load CXF modules from cxf.jar -->
+    <import resource="classpath:META-INF/cxf/cxf.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
+    
+    <bean id="knowledgeServiceSoapImpl" class="org.drools.server.service.KnowledgeServiceSoapImpl">
+    	<property name="service">
+			<ref bean="service" />
+		</property>
+    </bean>
+
+    <!-- Service endpoint -->
+    <jaxws:endpoint id="knowledgeServiceSoap"
+            implementorClass="org.drools.server.service.KnowledgeServiceSoapImpl"
+            implementor="#knowledgeServiceSoapImpl"
+            address="/soap">
+    </jaxws:endpoint>
+    
+    <jaxrs:server id="knowledgeServiceRest" address="/">
+        <jaxrs:serviceBeans>
+            <ref bean="knowledgeServiceRestImpl" />
+        </jaxrs:serviceBeans>
+    </jaxrs:server>
+
+    <bean id="knowledgeServiceRestImpl" class="org.drools.server.service.KnowledgeServiceRest" >
+    	<property name="service">
+			<ref bean="service" />
+		</property>
+    </bean>
+    
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/core-test.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/model/person.xsd
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/model/person.xsd	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/model/person.xsd	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,15 @@
+<xsd:schema 
+	xmlns:person="http://drools.org/model" 
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://drools.org/model" 
+	elementFormDefault="qualified"
+>
+
+	<xsd:complexType name="person">
+		<xsd:sequence>
+			<xsd:element name="name" type="xsd:string" />
+			<xsd:element name="age" type="xsd:integer" />
+		</xsd:sequence>
+	</xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/model/person.xsd
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person.drl
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person.drl	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person.drl	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,14 @@
+package org.drools.test.model
+
+import org.drools.model.Person;
+
+query persons
+	$p : Person(name != null)
+end
+
+rule "Test Rule 1"
+	when
+		$p : Person()
+	then 
+		System.out.println("fired " + $p.getName());
+end
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person.drl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person2.drl
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person2.drl	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person2.drl	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,14 @@
+package org.drools.test.model
+
+import org.drools.pipeline.camel.Person;
+
+query persons
+	$p : Person(name != null)
+end
+
+rule "Test Rule 2"
+	when
+		$p : Person()
+	then 
+		System.out.println("fired " + $p.getName());
+end


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/rules/person2.drl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/services-test.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/services-test.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/services-test.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:camel="http://camel.apache.org/schema/spring"
+    xmlns:drools-service="http://drools.org/schema/drools-service-spring"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+		http://drools.org/schema/drools-service-spring http://drools.org/schema/drools-service-spring.xsd
+		http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"
+    default-autowire="byName">
+    
+	<!-- Only needed to deploy on JBoss AS 5.X -->    
+<!--    <bean id="jbossResolver" class="org.apache.camel.jboss.JBossPackageScanClassResolver"/>-->
+    
+    <!-- This camel context bean is required -->
+	<camelContext id="executionContext" xmlns="http://camel.apache.org/schema/spring" />
+
+	<drools-service:configuration id="service-conf-2" marshaller="XSTREAM" session="ksession2" />
+	
+	<drools-service:definition id="service" smId="sm1" camelContext="executionContext">
+		<drools-service:configuration marshaller="JAXB" session="ksession1">
+			<drools-service:class>org.drools.model.Person</drools-service:class>
+			<drools-service:startup-command>
+				<![CDATA[
+				<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+				<batch-execution lookup="ksession1" xmlns:ns2="http://drools.org/model">
+				    <insert out-identifier="santa">
+				        <object xsi:type="ns2:person" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+				            <ns2:name>santa</ns2:name>
+				            <ns2:age>99</ns2:age>
+				        </object>
+				    </insert>
+				</batch-execution>
+	  	   		]]>
+			</drools-service:startup-command>
+		</drools-service:configuration>
+		<drools-service:configuration-ref id="service-conf-2" />
+	</drools-service:definition>
+	
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/services-test.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/sessions-test.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/sessions-test.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/sessions-test.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:drools="http://drools.org/schema/drools-spring"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+		http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd"
+    default-autowire="byName">
+
+    <bean id="sm1" class="org.drools.vsm.local.ServiceManagerLocalClient" />
+
+	<drools:kbase id="kbase1" serviceManager="sm1">
+		<drools:resource source="classpath:changesets/change-set-1.xml" type="CHANGE_SET" />
+		<drools:model source="classpath:model/person.xsd" />
+	</drools:kbase>
+
+	<drools:kbase id="kbase2" serviceManager="sm1">
+		<drools:resource source="classpath:changesets/change-set-2.xml" type="CHANGE_SET" />
+	</drools:kbase>
+
+	<drools:ksession id="ksession1" type="stateful"  kbase="kbase1" serviceManager="sm1"/>
+
+	<drools:ksession id="ksession2" type="stateless" kbase="kbase2" serviceManager="sm1"/>
+
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-app/src/test/resources/sessions-test.xml
___________________________________________________________________
Name: svn:eol-style
   + native


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring
___________________________________________________________________
Name: svn:ignore
   + .settings
target


Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/pom.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/pom.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <artifactId>drools</artifactId>
+      <groupId>org.drools</groupId>
+      <version>5.1.0.SNAPSHOT</version>
+   </parent>
+   <artifactId>drools-server-spring</artifactId>
+   <packaging>jar</packaging>
+   <name>Drools :: Server Spring</name>
+   <build>
+      <finalName>drools-server-spring</finalName>
+   </build>
+   
+   <dependencies>
+	<dependency>
+		<groupId>org.drools</groupId>
+		<artifactId>drools-camel</artifactId>
+		<version>${project.version}</version>
+		<exclusions>
+			<exclusion>
+				<groupId>xml-apis</groupId>
+				<artifactId>xml-apis</artifactId>
+			</exclusion>
+		</exclusions>
+	</dependency>
+	
+	<dependency>
+		<groupId>junit</groupId>
+		<artifactId>junit</artifactId>
+		<version>4.4</version>
+		<scope>test</scope>  
+	</dependency> 
+	  
+   </dependencies>
+   
+</project>


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/pom.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,128 @@
+package org.drools.server;
+
+import java.io.StringReader;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.drools.CheckedDroolsException;
+import org.drools.server.profile.KnowledgeServiceConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+/**
+ * Service to execute commands
+ * @author Lucas Amador
+ *
+ */
+public class KnowledgeServiceImpl implements KnowledgeService {
+
+	private static final Logger LOG = LoggerFactory.getLogger(KnowledgeServiceImpl.class);
+
+	private CamelContext camelContext;
+	private ProducerTemplate template;
+	private Map<String, KnowledgeServiceConfiguration> configurations;
+	private String smId;
+
+	public KnowledgeServiceImpl(CamelContext camelContext, Map<String, KnowledgeServiceConfiguration> configs, String smId) throws Exception {
+		this.camelContext = camelContext;
+		this.configurations = configs;
+		this.smId = smId;
+		this.template = camelContext.createProducerTemplate();
+		for (String key : configurations.keySet()) {
+			createCamelRoutes(configurations.get(key));
+		}
+		this.camelContext.start();
+		for (String key : configurations.keySet()) {
+			executeCommands(configurations.get(key).getCommands());
+		}
+	}
+
+	private void executeCommands(List<String> commands) throws CheckedDroolsException {
+		for (String command : commands) {
+			executeCommand(command);
+		}
+	}
+
+	public String executeCommand(String cmd) throws CheckedDroolsException {
+		String lookup = getLookup(cmd);
+		if (lookup==null || lookup.length()==0) {
+			LOG.error("Unable to get command lookup attribute: " + lookup);
+			throw new CheckedDroolsException("Unable to get command lookup attribute: " + lookup);
+		}
+		KnowledgeServiceConfiguration serviceConfiguration = configurations.get(lookup);
+		if (serviceConfiguration==null) {
+			LOG.error("Unable to lookup session: " + lookup);
+			throw new CheckedDroolsException("Unable to lookup session: " + lookup);
+		}
+		if ("JAXB".equals(serviceConfiguration.getMarshaller())) {
+			JAXBContext jaxbContext = serviceConfiguration.getContext();
+			return new String((byte[])template.requestBodyAndHeader("direct:with-session-jaxb", cmd, "jaxb-context", jaxbContext));
+		}
+		else if ("XSTREAM".equals(serviceConfiguration.getMarshaller())) {
+			return new String((byte[])template.requestBody("direct:with-session-xstream", cmd));
+		}
+		return null;
+	}
+
+	private void createCamelRoutes(KnowledgeServiceConfiguration configuration) throws Exception {
+		RouteBuilder rb = new RouteBuilder() {
+			public void configure() throws Exception {
+			}
+		};
+		if ("JAXB".equals(configuration.getMarshaller())) {
+			rb.from("direct:with-session-jaxb").to("drools:" + smId + "/" + configuration.getSessionId() + "?dataFormat=drools-jaxb");
+		}
+		else if ("XSTREAM".equals(configuration.getMarshaller())) {
+			rb.from("direct:with-session-xstream").to("drools:" + smId + "/" + configuration.getSessionId() + "?dataFormat=drools-xstream");
+		}
+		else {
+			throw new IllegalArgumentException("Invalid marshaller value on camel routes creation: " + configuration.getMarshaller());
+		}
+		camelContext.addRoutes(rb);
+	}
+
+	private String getLookup(String xml) throws CheckedDroolsException {
+		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+		InputSource source = new InputSource(new StringReader(xml));
+		Document d = null;
+		try {
+			d = factory.newDocumentBuilder().parse(source);
+		} catch (Exception e) {
+			throw new CheckedDroolsException("Error getting lookup: " + e.getMessage(), e);
+		}
+		return d.getDocumentElement().getAttribute("lookup");
+	}
+
+	public void setCamelContext(CamelContext camelContext) {
+		this.camelContext = camelContext;
+	}
+
+	public CamelContext getCamelContext() {
+		return camelContext;
+	}
+
+	public void setTemplate(ProducerTemplate template) {
+		this.template = template;
+	}
+
+	public ProducerTemplate getTemplate() {
+		return template;
+	}
+
+	public void setSmId(String smId) {
+		this.smId = smId;
+	}
+
+	public String getSmId() {
+		return smId;
+	}
+
+}


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/java/org/drools/server/KnowledgeServiceImpl.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/configuration.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/configuration.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/configuration.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:cxf="http://cxf.apache.org/core"
+    xmlns:jaxws="http://cxf.apache.org/jaxws"
+    xmlns:jaxrs="http://cxf.apache.org/jaxrs"
+    xmlns:drools="http://drools.org/schema/drools-spring"
+    xmlns:camel="http://camel.apache.org/schema/spring"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
+        http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+        http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
+        http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
+		http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+		http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd"
+    default-autowire="byName">
+
+    <!-- Load CXF modules from cxf.jar -->
+    <import resource="classpath:META-INF/cxf/cxf.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
+    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
+    
+    <bean id="knowledgeServiceSoapImpl" class="org.drools.server.service.KnowledgeServiceSoapImpl">
+    	<property name="service">
+			<ref local="knowledgeService" />
+		</property>
+    </bean>
+
+    <!-- Service endpoint -->
+    <jaxws:endpoint id="knowledgeServiceSoap"
+            implementorClass="org.drools.server.service.KnowledgeServiceSoapImpl"
+            implementor="#knowledgeServiceSoapImpl"
+            address="/soap">
+    </jaxws:endpoint>
+    
+    <jaxrs:server id="knowledgeServiceRest" address="/">
+        <jaxrs:serviceBeans>
+            <ref bean="knowledgeServiceRestImpl" />
+        </jaxrs:serviceBeans>
+    </jaxrs:server>
+
+    <bean id="knowledgeServiceRestImpl" class="org.drools.server.service.KnowledgeServiceRest" >
+    	<property name="service">
+			<ref local="service" />
+		</property>
+    </bean>
+    
+    <
+<!--	<bean id="jbossResolver" class="org.apache.camel.jboss.JBossPackageScanClassResolver" />-->
+    
+    <camelContext id="executionContext" xmlns="http://camel.apache.org/schema/spring" />
+    
+</beans>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/configuration.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/web.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/web.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+
+	<display-name>JBoss Drools Execution Server</display-name>
+
+	<context-param>
+		<param-name>contextConfigLocation</param-name>
+		<param-value>/WEB-INF/configuration.xml</param-value>
+	</context-param>
+	
+	<listener>
+		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+	</listener>
+	
+	<servlet>
+		<servlet-name>knowledgeService</servlet-name>
+		<servlet-class>org.drools.server.KnowledgeServiceServlet</servlet-class>
+	</servlet>
+	<servlet>
+		<servlet-name>CXFServlet</servlet-name>
+		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
+	</servlet>
+	
+	<servlet-mapping>
+		<servlet-name>knowledgeService</servlet-name>
+		<url-pattern>/servlet/*</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>CXFServlet</servlet-name>
+		<url-pattern>/services/*</url-pattern>
+	</servlet-mapping>
+
+	<session-config>
+		<session-timeout>10</session-timeout>
+	</session-config>
+
+</web-app>


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/index.jsp
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/index.jsp	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/index.jsp	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,9 @@
+<%@ page contentType="text/html; charset=UTF-8" %>
+<html>
+	<head>
+		<title>Drools execution server</title>
+	</head>
+	<body>
+		<h1>Execution server is running</h1>
+	</body>
+</html>


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/main/webapp/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/model/person.xsd
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/model/person.xsd	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/model/person.xsd	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,15 @@
+<xsd:schema 
+	xmlns:person="http://drools.org/model" 
+	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://drools.org/model" 
+	elementFormDefault="qualified"
+>
+
+	<xsd:complexType name="person">
+		<xsd:sequence>
+			<xsd:element name="name" type="xsd:string" />
+			<xsd:element name="age" type="xsd:integer" />
+		</xsd:sequence>
+	</xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/model/person.xsd
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person.drl
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person.drl	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person.drl	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,14 @@
+package org.drools.test.model
+
+import org.drools.model.Person;
+
+query persons
+	$p : Person(name != null)
+end
+
+rule "Test Rule 1"
+	when
+		$p : Person()
+	then 
+		System.out.println("fired " + $p.getName());
+end
\ No newline at end of file


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person.drl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person2.drl
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person2.drl	                        (rev 0)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person2.drl	2010-04-05 15:28:36 UTC (rev 32413)
@@ -0,0 +1,14 @@
+package org.drools.test.model
+
+import org.drools.pipeline.camel.Person;
+
+query persons
+	$p : Person(name != null)
+end
+
+rule "Test Rule 2"
+	when
+		$p : Person()
+	then 
+		System.out.println("fired " + $p.getName());
+end


Property changes on: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/drools-server-spring/src/test/resources/rules/person2.drl
___________________________________________________________________
Name: svn:eol-style
   + native

Deleted: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/jboss.identity
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/jboss.identity	2010-04-05 14:23:51 UTC (rev 32412)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/jboss.identity	2010-04-05 15:28:36 UTC (rev 32413)
@@ -1 +0,0 @@
-73e4b32acf5b3b94xa9ae05x10c723b5dd1x-7ffe645
\ No newline at end of file

Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/pom.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/pom.xml	2010-04-05 14:23:51 UTC (rev 32412)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/pom.xml	2010-04-05 15:28:36 UTC (rev 32413)
@@ -1,123 +1,20 @@
-<?xml version="1.0" encoding="utf-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
-   <modelVersion>4.0.0</modelVersion>
-   <parent>
-      <artifactId>drools</artifactId>
-      <groupId>org.drools</groupId>
-      <version>5.1.0.SNAPSHOT</version>
-   </parent>
-   <artifactId>drools-server</artifactId>
-   <packaging>war</packaging>
-   <name>Drools :: Server</name>
-   <build>
-      <finalName>drools-server</finalName>
-   </build>
-   
-   <dependencies>
-	<dependency>
-		<groupId>org.drools</groupId>
-		<artifactId>drools-camel</artifactId>
-		<version>${project.version}</version>
-		<exclusions>
-			<exclusion>
-				<groupId>xml-apis</groupId>
-				<artifactId>xml-apis</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-	<dependency>
-		<groupId>org.drools</groupId>
-		<artifactId>drools-vsm</artifactId>
-		<version>${project.version}</version>
-		<exclusions>
-			<exclusion>
-				<groupId>org.drools</groupId>
-				<artifactId>drools-process-task</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>xml-apis</groupId>
-				<artifactId>xml-apis</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
-	<dependency>
-		<groupId>org.drools</groupId>
-		<artifactId>drools-compiler</artifactId>
-	</dependency>
-    <!-- CXF deps -->
-	<dependency>
-		<groupId>org.apache.cxf</groupId>
-		<artifactId>cxf-rt-frontend-jaxws</artifactId>
-		<version>2.2.6</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.cxf</groupId>
-		<artifactId>cxf-bundle-jaxrs</artifactId>
-		<version>2.2.6</version>
-		<exclusions>
-			<exclusion>
-				<groupId>xerces</groupId>
-				<artifactId>xercesImpl</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>xerces</groupId>
-				<artifactId>xmlParserAPIs</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>xml-apis</groupId>
-				<artifactId>xml-apis</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.geronimo.specs</groupId>
-				<artifactId>geronimo-servlet_2.5_spec</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>jaxen</groupId>
-				<artifactId>jaxen</artifactId>
-			</exclusion>
-			<exclusion>
-				<groupId>org.apache.xmlbeans</groupId>
-				<artifactId>xmlbeans</artifactId>
-			</exclusion>
-		</exclusions>
-	</dependency>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>drools</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.1.0.SNAPSHOT</version>
+  </parent>
 
-	<dependency>
-		<groupId>commons-httpclient</groupId>
-		<artifactId>commons-httpclient</artifactId>
-		<version>3.1</version>
-		<scope>test</scope>
-	</dependency>
-	
-	<dependency>
-		<groupId>org.springframework</groupId>
-		<artifactId>spring-test</artifactId>
-		<version>2.5.6</version>
-		<scope>test</scope>  
-	</dependency>  
-	
-	<dependency>
-		<groupId>junit</groupId>
-		<artifactId>junit</artifactId>
-		<version>4.4</version>
-		<scope>test</scope>  
-	</dependency> 
-
-	<dependency>
-		<groupId>org.jboss</groupId>
-		<artifactId>jboss-vfs</artifactId>
-		<version>2.1.3.GA</version>
-		<scope>provided</scope>
-	</dependency>
-
-	<!-- web app deps -->
-	<dependency>
-		<groupId>javax.servlet</groupId>
-		<artifactId>servlet-api</artifactId>
-	</dependency>
-	  
-   </dependencies>
-   
-</project>
+  <artifactId>drools-server</artifactId>
+  <packaging>pom</packaging>
+  <name>Drools :: Server</name>
+  
+  <modules>
+      <module>drools-server-spring</module>
+      <module>drools-server-app</module>
+  </modules>
+  
+</project>
\ No newline at end of file



More information about the jboss-svn-commits mailing list