[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