[jboss-svn-commits] JBL Code SVN: r18090 - in labs/jbossrules/branches/drools-spring: drools-spring and 26 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jan 24 21:49:38 EST 2008
Author: mark.proctor at jboss.com
Date: 2008-01-24 21:49:38 -0500 (Thu, 24 Jan 2008)
New Revision: 18090
Added:
labs/jbossrules/branches/drools-spring/drools-spring/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.classpath
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.project
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/pom.xml
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/RuleBaseBeanFactory.java
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/DroolsTransactionManager.java
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.java
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/WorkingMemoryHolder.java
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/resources/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/test/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/test/java/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/test/resources/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/RuleBaseBeanFactory.class
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/DroolsTransactionManager$DroolsTransactionObject.class
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/DroolsTransactionManager.class
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.class
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/WorkingMemoryHolder.class
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/test-classes/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.classpath
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.project
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/pom.xml
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/com/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/com/sample/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/com/sample/DroolsTest.java
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/org/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/org/drools/
labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/org/drools/benchmark/
labs/jbossrules/branches/drools-spring/drools-spring/pom.xml
labs/jbossrules/branches/drools-spring/drools-spring/src/
labs/jbossrules/branches/drools-spring/drools-spring/target/
labs/jbossrules/branches/drools-spring/drools-spring/target/mvn-eclipse-cache.properties
Modified:
labs/jbossrules/branches/drools-spring/pom.xml
Log:
JBRULES-1434 Drools Spring
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.classpath
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.classpath (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.classpath 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,23 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
+ <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-compiler/4.0.3/drools-compiler-4.0.3.jar" sourcepath="M2_REPO/org/drools/drools-compiler/4.0.3/drools-compiler-4.0.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/2.5/spring-tx-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-tx/2.5/spring-tx-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.10/mvel14-1.2.10.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/drools/drools-core/4.0.3/drools-core-4.0.3.jar" sourcepath="M2_REPO/org/drools/drools-core/4.0.3/drools-core-4.0.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/2.5/spring-core-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-core/2.5/spring-core-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/2.5/spring-context-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-context/2.5/spring-context-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/2.5/spring-beans-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-beans/2.5/spring-beans-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+</classpath>
\ No newline at end of file
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.project
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.project (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/.project 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,13 @@
+<projectDescription>
+ <name>drools-spring-core</name>
+ <comment>Drools spring core ... TODO</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/pom.xml
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/pom.xml (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/pom.xml 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <parent>
+ <artifactId>drools-spring</artifactId>
+ <groupId>org.drools.spring</groupId>
+ <version>4.1.0.SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>drools-spring-core</artifactId>
+ <name>Drools :: Spring core</name>
+ <description>Drools spring core ... TODO</description>
+ <repositories>
+ <repository>
+ <id>basedir</id>
+ <url>file://${basedir}/../../m2_repo</url>
+ </repository>
+ </repositories>
+ <dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-compiler</artifactId>
+ </dependency>
+
+ <!-- External dependencies -->
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-beans</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-tx</artifactId>
+ </dependency>
+ </dependencies>
+</project>
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/RuleBaseBeanFactory.java
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/RuleBaseBeanFactory.java (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/RuleBaseBeanFactory.java 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,100 @@
+package org.drools.spring.core;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.List;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseConfiguration;
+import org.drools.RuleBaseFactory;
+import org.drools.compiler.DroolsParserException;
+import org.drools.compiler.PackageBuilder;
+import org.drools.compiler.PackageBuilderConfiguration;
+import org.springframework.beans.factory.FactoryBean;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.core.io.Resource;
+import org.springframework.util.Assert;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class RuleBaseBeanFactory implements FactoryBean, InitializingBean {
+
+ private List<Resource> drlResourceList;
+
+ private RuleBase ruleBase;
+
+ private RuleBaseConfiguration ruleBaseConfiguration;
+
+ private int type;
+
+ private PackageBuilderConfiguration packageBuilderConfiguration;
+
+ public void setDrlResourceList(List<Resource> drlResourceList) {
+ this.drlResourceList = drlResourceList;
+ }
+
+ public void setRuleBaseConfiguration(RuleBaseConfiguration ruleBaseConfiguration) {
+ this.ruleBaseConfiguration = ruleBaseConfiguration;
+ }
+
+ public void setType(int type) {
+ this.type = type;
+ }
+
+ public void afterPropertiesSet() throws Exception {
+ Assert.notEmpty(drlResourceList, "drlResourceList must not be empty");
+ PackageBuilder builder = (packageBuilderConfiguration != null ? new PackageBuilder(packageBuilderConfiguration) : new PackageBuilder());
+ for (Resource resource : drlResourceList) {
+ // TODO Identify file type to get build or get the rule base
+ // DRL
+ builder.addPackageFromDrl(new InputStreamReader(resource.getInputStream())); // TODO will use default encoding which might not be wanted
+ // RFM
+ // XLS OR CSV
+ // URL use rule agent, if the type is an URL, use resource.getURL() to get it
+ }
+
+ if (ruleBaseConfiguration == null && type != 0) {
+ ruleBase = RuleBaseFactory.newRuleBase();
+ } else if (ruleBaseConfiguration != null && type == RuleBase.RETEOO) {
+ ruleBase = RuleBaseFactory.newRuleBase(RuleBase.RETEOO, ruleBaseConfiguration);
+ }else if (ruleBaseConfiguration != null && type == 0) {
+ ruleBase = RuleBaseFactory.newRuleBase(ruleBaseConfiguration);
+ } else if (ruleBaseConfiguration == null && type != 0 && type != RuleBase.RETEOO) {
+ ruleBase = RuleBaseFactory.newRuleBase(type);
+ }
+
+ if (ruleBaseConfiguration == null) {
+ if (type == 0) {
+ ruleBase = RuleBaseFactory.newRuleBase();
+ } else if (type == RuleBase.RETEOO || type != 0) {
+ ruleBase = RuleBaseFactory.newRuleBase(type);
+ }
+ } else {
+ if (type == 0) {
+ ruleBase = RuleBaseFactory.newRuleBase(ruleBaseConfiguration);
+ } else {
+ ruleBase = RuleBaseFactory.newRuleBase(type, ruleBaseConfiguration);
+ }
+ }
+
+ ruleBase.addPackage(builder.getPackage());
+ }
+
+
+ public RuleBase getObject() {
+ return ruleBase;
+ }
+
+ public Class getObjectType() {
+ return RuleBase.class;
+ }
+
+ public boolean isSingleton() {
+ return true;
+ }
+
+ public void setPackageBuilderConfiguration(PackageBuilderConfiguration packageBuilderConfiguration) {
+ this.packageBuilderConfiguration = packageBuilderConfiguration;
+ }
+}
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/DroolsTransactionManager.java
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/DroolsTransactionManager.java (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/DroolsTransactionManager.java 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,113 @@
+package org.drools.spring.core.aspects;
+
+import org.drools.WorkingMemory;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.transaction.TransactionDefinition;
+import org.springframework.transaction.TransactionException;
+import org.springframework.transaction.support.AbstractPlatformTransactionManager;
+import org.springframework.transaction.support.DefaultTransactionStatus;
+import org.springframework.transaction.support.SmartTransactionObject;
+import org.springframework.transaction.support.TransactionSynchronizationManager;
+import org.springframework.util.Assert;
+
+/**
+ * To execute drools operations within JTA transactions. In a standalone application or test suite.
+ *
+ */
+public class DroolsTransactionManager extends AbstractPlatformTransactionManager implements InitializingBean {
+
+ private WorkingMemory workingMemory;
+
+ /**
+ * Creates a DroolsTransactionManager instance.
+ */
+ public DroolsTransactionManager() {
+ }
+
+ /**
+ * Create a new DroolsTransactionManager instance.
+ *
+ * @param workingMemory working memory to manage transactions for
+ */
+ public DroolsTransactionManager(WorkingMemory workingMemory) {
+ this.workingMemory = workingMemory;
+ }
+
+ public void setWorkingMemory(WorkingMemory workingMemory) {
+ this.workingMemory = workingMemory;
+ }
+
+ public WorkingMemory getWorkingMemory() {
+ return workingMemory;
+ }
+
+ public void afterPropertiesSet() throws Exception {
+ Assert.notNull(getWorkingMemory(), "The working memory is required.");
+ }
+
+ @Override
+ protected void doBegin(Object transaction, TransactionDefinition definition)
+ throws TransactionException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void doCommit(DefaultTransactionStatus status)
+ throws TransactionException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected Object doGetTransaction() throws TransactionException {
+ DroolsTransactionObject txObject = new DroolsTransactionObject();
+ WorkingMemoryHolder wmHolder = (WorkingMemoryHolder) TransactionSynchronizationManager.getResource(getWorkingMemory());
+ txObject.setWorkingMemoryHolder(wmHolder);
+ return txObject;
+ }
+
+ @Override
+ protected void doRollback(DefaultTransactionStatus status)
+ throws TransactionException {
+ // TODO Auto-generated method stub
+
+ }
+
+ /**
+ * Internal transaction object.
+ *
+ * @see org.springframework.transaction.support.SmartTransactionObject
+ *
+ */
+ private static class DroolsTransactionObject implements SmartTransactionObject {
+
+ private WorkingMemoryHolder workingMemoryHolder;
+
+ public void setWorkingMemoryHolder(WorkingMemoryHolder workingMemoryHolder) {
+ this.workingMemoryHolder = workingMemoryHolder;
+ }
+
+ public WorkingMemoryHolder getWorkingMemoryHolder() {
+ return workingMemoryHolder;
+ }
+
+ public void setRollbackOnly() {
+ getWorkingMemoryHolder().setRollbackOnly();
+ }
+
+ public boolean isRollbackOnly() {
+ return getWorkingMemoryHolder().isRollbackOnly();
+ }
+
+ /**
+ * Db4o executes everything in a transaction.
+ * @return
+ */
+ public boolean hasTransaction() {
+ return (workingMemoryHolder != null);
+ }
+
+ }
+
+}
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.java
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.java (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.java 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,11 @@
+package org.drools.spring.core.aspects;
+
+import org.drools.StatefulSession;
+
+public class StatefulSessionCreationInterceptor {
+
+ private StatefulSession session;
+
+
+
+}
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/WorkingMemoryHolder.java
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/WorkingMemoryHolder.java (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/src/main/java/org/drools/spring/core/aspects/WorkingMemoryHolder.java 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,18 @@
+package org.drools.spring.core.aspects;
+
+import org.drools.WorkingMemory;
+import org.springframework.transaction.support.ResourceHolderSupport;
+
+public class WorkingMemoryHolder extends ResourceHolderSupport {
+
+ private final WorkingMemory workingMemory;
+
+ public WorkingMemoryHolder(WorkingMemory workingMemory) {
+ this.workingMemory = workingMemory;
+ }
+
+ public WorkingMemory getWorkingMemory() {
+ return workingMemory;
+ }
+
+}
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/RuleBaseBeanFactory.class
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/RuleBaseBeanFactory.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/DroolsTransactionManager$DroolsTransactionObject.class
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/DroolsTransactionManager$DroolsTransactionObject.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/DroolsTransactionManager.class
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/DroolsTransactionManager.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.class
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/StatefulSessionCreationInterceptor.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/WorkingMemoryHolder.class
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-core/target/classes/org/drools/spring/core/aspects/WorkingMemoryHolder.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.classpath
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.classpath (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.classpath 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/rules"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/2.5/spring-beans-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-beans/2.5/spring-beans-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/janino/janino/2.5.10/janino-2.5.10.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/2.5/spring-tx-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-tx/2.5/spring-tx-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel14/1.2.10/mvel14-1.2.10.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/2.5/spring-core-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-core/2.5/spring-core-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/core/3.2.3.v_686_R32x/core-3.2.3.v_686_R32x.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+ <classpathentry kind="src" path="/drools-spring-core"/>
+ <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/2.5/spring-context-2.5.jar" sourcepath="M2_REPO/org/springframework/spring-context/2.5/spring-context-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar" sourcepath="M2_REPO/xerces/xercesImpl/2.4.0/xercesImpl-2.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.0/antlr-runtime-3.0.jar"/>
+ <classpathentry kind="con" path="DROOLS/Drools"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.project
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.project (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/.project 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>drools-spring-examples</name>
+ <comment>Drools spring examples ... TODO</comment>
+ <projects>
+ <project>drools-spring-core</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.drools.eclipse.droolsbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/pom.xml
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/pom.xml (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/pom.xml 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,60 @@
+<?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>
+ <groupId>org.drools.spring</groupId>
+ <artifactId>drools-spring</artifactId>
+ <version>4.1.0.SNAPSHOT</version>
+ </parent>
+
+ <artifactId>drools-spring-examples</artifactId>
+ <packaging>jar</packaging>
+ <name>Drools :: Spring examples</name>
+ <description>
+ Drools spring examples ... TODO
+ </description>
+
+ <repositories>
+ <repository>
+ <id>basedir</id>
+ <url>file://${basedir}/../../m2_repo</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <configuration>
+ <executable>${JAVA_HOME}/bin/java</executable>
+ <arguments>
+ <argument>-Xmx128M</argument>
+ <!--<argument>-Xbatch</argument>-->
+ <argument>-server</argument>
+ <argument>-classpath</argument>
+ <classpath/>
+ <argument>${exec.mainClass}</argument>
+ <argument>${exec.programArgs}</argument><!-- Empty string by default -->
+ </arguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <dependencies>
+ <!-- Internal dependencies -->
+ <dependency>
+ <groupId>org.drools.spring</groupId>
+ <artifactId>drools-spring-core</artifactId>
+ </dependency>
+
+ <!-- External dependencies -->
+
+ </dependencies>
+
+</project>
Added: labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/com/sample/DroolsTest.java
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/com/sample/DroolsTest.java (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/drools-spring-examples/src/main/java/com/sample/DroolsTest.java 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,93 @@
+package com.sample;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+import org.drools.WorkingMemory;
+import org.drools.compiler.PackageBuilder;
+import org.drools.rule.Package;
+
+/**
+ * This is a sample file to launch a rule package from a rule source file.
+ */
+public class DroolsTest {
+
+ public static final void main(String[] args) {
+ try {
+
+ //load up the rulebase
+ RuleBase ruleBase = readRule();
+ WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ //go !
+ Message message = new Message();
+ message.setMessage( "Hello World" );
+ message.setStatus( Message.HELLO );
+ workingMemory.insert( message );
+ workingMemory.fireAllRules();
+
+
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+
+ /**
+ * Please note that this is the "low level" rule assembly API.
+ */
+ private static RuleBase readRule() throws Exception {
+ //read in the source
+ Reader source = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/Sample.drl" ) );
+
+ //optionally read in the DSL (if you are using it).
+ //Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
+
+ //Use package builder to build up a rule package.
+ //An alternative lower level class called "DrlParser" can also be used...
+
+ PackageBuilder builder = new PackageBuilder();
+
+ //this wil parse and compile in one step
+ //NOTE: There are 2 methods here, the one argument one is for normal DRL.
+ builder.addPackageFromDrl( source );
+
+ //Use the following instead of above if you are using a DSL:
+ //builder.addPackageFromDrl( source, dsl );
+
+ //get the compiled package (which is serializable)
+ Package pkg = builder.getPackage();
+
+ //add the package to a rulebase (deploy the rule package).
+ RuleBase ruleBase = RuleBaseFactory.newRuleBase();
+ ruleBase.addPackage( pkg );
+ return ruleBase;
+ }
+
+ public static class Message {
+ public static final int HELLO = 0;
+ public static final int GOODBYE = 1;
+
+ private String message;
+
+ private int status;
+
+ public String getMessage() {
+ return this.message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public int getStatus() {
+ return this.status;
+ }
+
+ public void setStatus( int status ) {
+ this.status = status;
+ }
+ }
+
+}
Added: labs/jbossrules/branches/drools-spring/drools-spring/pom.xml
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/pom.xml (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/pom.xml 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,66 @@
+<?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>
+ <groupId>org.drools</groupId>
+ <artifactId>drools</artifactId>
+ <version>4.1.0.SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.drools.spring</groupId>
+ <artifactId>drools-spring</artifactId>
+ <packaging>pom</packaging>
+ <name>Drools :: Spring parent</name>
+ <description>
+ Drools spring ... TODO
+ </description>
+
+ <repositories>
+ <repository>
+ <id>basedir</id>
+ <url>file://${basedir}/../m2_repo</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!-- Building -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ </plugins>
+ </build>
+
+ <modules>
+ <module>drools-spring-core</module>
+ <module>drools-spring-examples</module>
+ </modules>
+
+ <!-- Uncomment to depend on a stable release of drools-core and drools-compiler -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-core</artifactId>
+ <version>4.0.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.drools</groupId>
+ <artifactId>drools-compiler</artifactId>
+ <version>4.0.3</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+</project>
Added: labs/jbossrules/branches/drools-spring/drools-spring/target/mvn-eclipse-cache.properties
===================================================================
--- labs/jbossrules/branches/drools-spring/drools-spring/target/mvn-eclipse-cache.properties (rev 0)
+++ labs/jbossrules/branches/drools-spring/drools-spring/target/mvn-eclipse-cache.properties 2008-01-25 02:49:38 UTC (rev 18090)
@@ -0,0 +1,10 @@
+#Temporary index for unavailable sources and javadocs
+#Tue Jan 15 14:09:33 CST 2008
+org.mvel\:mvel14\:1.2.10\:sources=true
+org.mvel\:mvel14\:1.2.10\:javadoc=true
+janino\:janino\:2.5.10\:sources=true
+janino\:janino\:2.5.10\:javadoc=true
+org.eclipse.jdt\:core\:3.2.3.v_686_R32x\:sources=true
+org.eclipse.jdt\:core\:3.2.3.v_686_R32x\:javadoc=true
+org.antlr\:antlr-runtime\:3.0\:sources=true
+org.antlr\:antlr-runtime\:3.0\:javadoc=true
Modified: labs/jbossrules/branches/drools-spring/pom.xml
===================================================================
--- labs/jbossrules/branches/drools-spring/pom.xml 2008-01-25 02:42:56 UTC (rev 18089)
+++ labs/jbossrules/branches/drools-spring/pom.xml 2008-01-25 02:49:38 UTC (rev 18090)
@@ -618,6 +618,7 @@
<module>drools-ant</module>
<module>drools-repository</module>
<module>drools-jbrms</module>
+ <module>drools-spring</module>
<!--module>drools-examples</module-->
<!--module>drools-solver</module--><!-- Use the profile solver to add it -->
</modules>
More information about the jboss-svn-commits
mailing list