[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