[jboss-svn-commits] JBL Code SVN: r35064 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/process/instance and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 8 09:04:13 EDT 2010


Author: KrisVerlaenen
Date: 2010-09-08 09:04:13 -0400 (Wed, 08 Sep 2010)
New Revision: 35064

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/definitions/rule/impl/RuleImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/WorkItemManagerFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
Log:
JBRULES-2679: Mdularize Drools Flow
 - refactoring flow to be able to run independently

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/definitions/rule/impl/RuleImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/definitions/rule/impl/RuleImpl.java	2010-09-08 13:03:14 UTC (rev 35063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/definitions/rule/impl/RuleImpl.java	2010-09-08 13:04:13 UTC (rev 35064)
@@ -55,6 +55,10 @@
     public Map<String, Object> getMetaData() {
         return this.rule.getMetaData();
     }
+    
+    public Rule getRule() {
+    	return rule;
+    }
 
     public int hashCode() {
         return ((rule == null) ? 37 : rule.hashCode());

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/WorkItemManagerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/WorkItemManagerFactory.java	2010-09-08 13:03:14 UTC (rev 35063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/WorkItemManagerFactory.java	2010-09-08 13:04:13 UTC (rev 35064)
@@ -16,10 +16,10 @@
 
 package org.drools.process.instance;
 
-import org.drools.WorkingMemory;
+import org.drools.common.InternalKnowledgeRuntime;
 
 public interface WorkItemManagerFactory {
 	
-	WorkItemManager createWorkItemManager(WorkingMemory workingMemory);
+	WorkItemManager createWorkItemManager(InternalKnowledgeRuntime kruntime);
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java	2010-09-08 13:03:14 UTC (rev 35063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java	2010-09-08 13:04:13 UTC (rev 35064)
@@ -26,10 +26,10 @@
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.drools.WorkingMemory;
-import org.drools.runtime.process.ProcessInstance;
+import org.drools.common.InternalKnowledgeRuntime;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.WorkItemManager;
+import org.drools.runtime.process.ProcessInstance;
 import org.drools.runtime.process.WorkItemHandler;
 
 /**
@@ -42,25 +42,25 @@
 
     private long workItemCounter;
 	private Map<Long, WorkItem> workItems = new ConcurrentHashMap<Long, WorkItem>();
-	private WorkingMemory workingMemory;
+	private InternalKnowledgeRuntime kruntime;
 	private Map<String, WorkItemHandler> workItemHandlers = new HashMap<String, WorkItemHandler>();
 
-    public DefaultWorkItemManager(WorkingMemory workingMemory) {
-	    this.workingMemory = workingMemory;
+    public DefaultWorkItemManager(InternalKnowledgeRuntime kruntime) {
+	    this.kruntime = kruntime;
 	}
 
     @SuppressWarnings("unchecked")
 	public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         workItemCounter = in.readLong();
-        workItems = (Map<Long, WorkItem>)in.readObject();
-        workingMemory = (WorkingMemory)in.readObject();
+        workItems = (Map<Long, WorkItem>) in.readObject();
+        kruntime = (InternalKnowledgeRuntime) in.readObject();
         workItemHandlers = (Map<String, WorkItemHandler>) in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
         out.writeLong(workItemCounter);
         out.writeObject(workItems);
-        out.writeObject(workingMemory);
+        out.writeObject(kruntime);
         out.writeObject(workItemHandlers);
     }
 
@@ -110,14 +110,13 @@
         // work item may have been aborted
         if (workItem != null) {
             ((org.drools.process.instance.WorkItem) workItem).setResults(results);
-            ProcessInstance processInstance = ( ProcessInstance ) workingMemory.getProcessInstance(workItem.getProcessInstanceId());
+            ProcessInstance processInstance = kruntime.getProcessInstance(workItem.getProcessInstanceId());
             ((org.drools.process.instance.WorkItem) workItem).setState(WorkItem.COMPLETED);
             // process instance may have finished already
             if (processInstance != null) {
                 processInstance.signalEvent("workItemCompleted", workItem);
             }
             workItems.remove(new Long(id));
-            workingMemory.fireAllRules();
         }
     }
 
@@ -125,14 +124,13 @@
         WorkItemImpl workItem = (WorkItemImpl) workItems.get(new Long(id));
         // work item may have been aborted
         if (workItem != null) {
-            ProcessInstance processInstance = ( ProcessInstance ) workingMemory.getProcessInstance(workItem.getProcessInstanceId());
+            ProcessInstance processInstance = kruntime.getProcessInstance(workItem.getProcessInstanceId());
             workItem.setState(WorkItem.ABORTED);
             // process instance may have finished already
             if (processInstance != null) {
                 processInstance.signalEvent("workItemAborted", workItem);
             }
             workItems.remove(new Long(id));
-            workingMemory.fireAllRules();
         }
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java	2010-09-08 13:03:14 UTC (rev 35063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java	2010-09-08 13:04:13 UTC (rev 35064)
@@ -21,14 +21,14 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 
-import org.drools.WorkingMemory;
+import org.drools.common.InternalKnowledgeRuntime;
 import org.drools.process.instance.WorkItemManager;
 import org.drools.process.instance.WorkItemManagerFactory;
 
 public class DefaultWorkItemManagerFactory implements WorkItemManagerFactory, Externalizable {
 
-	public WorkItemManager createWorkItemManager(WorkingMemory workingMemory) {
-		return new DefaultWorkItemManager(workingMemory);
+	public WorkItemManager createWorkItemManager(InternalKnowledgeRuntime kruntime) {
+		return new DefaultWorkItemManager(kruntime);
 	}
 
 	public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java	2010-09-08 13:03:14 UTC (rev 35063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java	2010-09-08 13:04:13 UTC (rev 35064)
@@ -25,9 +25,11 @@
 
 import org.drools.common.EventFactHandle;
 import org.drools.common.InternalFactHandle;
+import org.drools.common.InternalKnowledgeRuntime;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.WorkingMemoryAction;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.marshalling.impl.MarshallerWriteContext;
 import org.drools.reteoo.RightTuple;
 import org.drools.spi.PropagationContext;
@@ -330,6 +332,10 @@
                                         workingMemory );
         }
 
+        public void execute(InternalKnowledgeRuntime kruntime) {
+        	execute(((StatefulKnowledgeSessionImpl) kruntime).getInternalWorkingMemory());
+        }
+        
         public void write(MarshallerWriteContext context) throws IOException {
             // TODO Auto-generated method stub
 

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java	2010-09-08 13:03:14 UTC (rev 35063)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/ReteooWorkingMemoryTest.java	2010-09-08 13:04:13 UTC (rev 35064)
@@ -34,9 +34,11 @@
 import org.drools.StatefulSession;
 import org.drools.base.MapGlobalResolver;
 import org.drools.common.EqualityKey;
+import org.drools.common.InternalKnowledgeRuntime;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.common.TruthMaintenanceSystem;
 import org.drools.common.WorkingMemoryAction;
+import org.drools.impl.StatefulKnowledgeSessionImpl;
 import org.drools.marshalling.impl.MarshallerWriteContext;
 import org.drools.spi.GlobalResolver;
 
@@ -169,6 +171,9 @@
             workingMemory.executeQueuedActions();
             assertEquals( 0, counter.get() );
         }
+        public void execute(InternalKnowledgeRuntime kruntime) {
+        	execute(((StatefulKnowledgeSessionImpl) kruntime).getInternalWorkingMemory());
+        }
     }
     
     private static class FinalAction extends ReentrantAction {
@@ -182,7 +187,5 @@
             workingMemory.executeQueuedActions();
         }
     }
-    
 
-
 }



More information about the jboss-svn-commits mailing list