[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