[jboss-svn-commits] JBL Code SVN: r23222 - in labs/jbossrules/branches/drools-api-refactor-20080929: drools-api/src/main/java/org/drools and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 30 09:06:38 EDT 2008


Author: KrisVerlaenen
Date: 2008-09-30 09:06:38 -0400 (Tue, 30 Sep 2008)
New Revision: 23222

Added:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItem.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItemManager.java
Removed:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItem.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemHandler.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemManager.java
Modified:
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/.classpath
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessHumanTaskTest.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/HumanTaskNodeInstance.java
   labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java
Log:
JBRULES-1734: Drools API
 - migrated WorkItem stuff to drools-api

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/.classpath
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/.classpath	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/.classpath	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,12 +1,13 @@
-<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/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/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
-</classpath>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<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/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/jmock/jmock/2.5.0.1/jmock-2.5.0.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1.jar"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/StatefulRuleSession.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,7 +1,6 @@
 package org.drools;
 
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.concurrent.Future;
 
 import org.drools.time.SessionClock;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-api/src/main/java/org/drools/process/instance/ProcessInstance.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,6 +1,6 @@
 package org.drools.process.instance;
 
-public interface ProcessInstance  extends EventListener { 
+public interface ProcessInstance extends EventListener { 
 	
     int STATE_PENDING   = 0;
     int STATE_ACTIVE    = 1;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessActionTest.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -95,8 +95,7 @@
         assertEquals(InternalProcessInstance.STATE_COMPLETED, processInstance.getState());
     }
     
-    @SuppressWarnings("unchecked")
-	public void testActionContextJava() {
+    public void testActionContextJava() {
         PackageBuilder builder = new PackageBuilder();
         Reader source = new StringReader(
             "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
@@ -169,7 +168,6 @@
         assertEquals(InternalProcessInstance.STATE_COMPLETED, processInstance.getState());
     }
     
-	@SuppressWarnings("unchecked")
 	public void testActionContextMVEL() {
         PackageBuilder builder = new PackageBuilder();
         Reader source = new StringReader(

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessHumanTaskTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessHumanTaskTest.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessHumanTaskTest.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -2,11 +2,11 @@
 
 import java.io.Reader;
 import java.io.StringReader;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
+import junit.framework.TestCase;
+
 import org.drools.RuleBase;
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
@@ -17,8 +17,6 @@
 import org.drools.process.instance.WorkItemManager;
 import org.drools.rule.Package;
 
-import junit.framework.TestCase;
-
 public class ProcessHumanTaskTest extends TestCase {
     
     public void testHumanTask() {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -2,27 +2,30 @@
 
 import java.io.Reader;
 import java.io.StringReader;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
 import junit.framework.TestCase;
 
-import org.drools.RuleBase;
-import org.drools.RuleBaseFactory;
-import org.drools.WorkingMemory;
-import org.drools.compiler.PackageBuilder;
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.StatefulKnowledgeSession;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.knowledge.definitions.KnowledgePackage;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.InternalProcessInstance;
+import org.drools.process.instance.ProcessInstance;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.WorkItemHandler;
 import org.drools.process.instance.WorkItemManager;
 import org.drools.process.instance.context.variable.VariableScopeInstance;
-import org.drools.rule.Package;
 
 public class ProcessWorkItemTest extends TestCase {
     
     public void testWorkItem() {
-        PackageBuilder builder = new PackageBuilder();
+    	KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
         Reader source = new StringReader(
             "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
             "<process xmlns=\"http://drools.org/drools-4.0/process\"\n" +
@@ -76,37 +79,38 @@
             "  </connections>\n" +
             "\n" +
             "</process>");
-        builder.addRuleFlow(source);
-        Package pkg = builder.getPackage();
-        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
-        ruleBase.addPackage( pkg );
-        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        kbuilder.addProcessFromXml(source);
+        
+        Collection<KnowledgePackage> kpkgs = kbuilder.getKnowledgePackages();
+        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+        kbase.addKnowledgePackages( kpkgs );        
+        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+    	
         TestWorkItemHandler handler = new TestWorkItemHandler();
-        workingMemory.getWorkItemManager().registerWorkItemHandler("Human Task", handler);
-        InternalProcessInstance processInstance = ( InternalProcessInstance )
-            workingMemory.startProcess("org.drools.actions");
-        assertEquals(InternalProcessInstance.STATE_ACTIVE, processInstance.getState());
+        ksession.getWorkItemManager().registerWorkItemHandler("Human Task", handler);
+        ProcessInstance processInstance = ksession.startProcess("org.drools.actions");
+        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
         WorkItem workItem = handler.getWorkItem();
         assertNotNull(workItem);
         assertEquals("John Doe", workItem.getParameter("ActorId"));
-        workingMemory.getWorkItemManager().completeWorkItem(workItem.getId(), null);
-        assertEquals(InternalProcessInstance.STATE_COMPLETED, processInstance.getState());
+        ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
         
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("UserName", "Jane Doe");
         parameters.put("MyObject", "SomeString");
-        processInstance = ( InternalProcessInstance ) workingMemory.startProcess("org.drools.actions", parameters);
-        assertEquals(InternalProcessInstance.STATE_ACTIVE, processInstance.getState());
+        processInstance = ksession.startProcess("org.drools.actions", parameters);
+        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
         workItem = handler.getWorkItem();
         assertNotNull(workItem);
         assertEquals("Jane Doe", workItem.getParameter("ActorId"));
         assertEquals("SomeString", workItem.getParameter("Attachment"));
         Map<String, Object> results = new HashMap<String, Object>();
         results.put("Result", "SomeOtherString");
-        workingMemory.getWorkItemManager().completeWorkItem(workItem.getId(), results);
-        assertEquals(InternalProcessInstance.STATE_COMPLETED, processInstance.getState());
+        ksession.getWorkItemManager().completeWorkItem(workItem.getId(), results);
+        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
         VariableScopeInstance variableScope = (VariableScopeInstance)
-        	processInstance.getContextInstance(VariableScope.VARIABLE_SCOPE);
+        	((InternalProcessInstance) processInstance).getContextInstance(VariableScope.VARIABLE_SCOPE);
         assertEquals("SomeOtherString", variableScope.getVariable("MyObject"));
     }
     

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -31,7 +31,7 @@
 import org.drools.process.instance.ProcessInstance;
 import org.drools.process.instance.ProcessInstanceFactory;
 import org.drools.process.instance.ProcessInstanceManager;
-import org.drools.process.instance.WorkItemManager;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.process.instance.timer.TimerManager;
 import org.drools.reteoo.LIANodePropagation;
 import org.drools.reteoo.ObjectTypeConf;
@@ -455,7 +455,7 @@
         return null;
     }
 
-    public WorkItemManager getWorkItemManager() {
+    public InternalWorkItemManager getWorkItemManager() {
         // TODO Auto-generated method stub
         return null;
     }

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedTemporalWorkingMemoryContext.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -10,7 +10,7 @@
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventSupport;
 import org.drools.process.instance.ProcessInstanceFactory;
-import org.drools.process.instance.WorkItemManager;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.rule.TimeMachine;
 import org.drools.spi.FactHandleFactory;
 import org.drools.spi.GlobalResolver;

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/common/SharedWorkingMemoryContext.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -10,7 +10,7 @@
 import org.drools.event.RuleFlowEventSupport;
 import org.drools.event.WorkingMemoryEventSupport;
 import org.drools.process.instance.ProcessInstanceFactory;
-import org.drools.process.instance.WorkItemManager;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.rule.TimeMachine;
 import org.drools.spi.FactHandleFactory;
 import org.drools.spi.GlobalResolver;
@@ -39,7 +39,7 @@
 
     private int                                 processCounter;
 
-    private WorkItemManager                     workItemManager;
+    private InternalWorkItemManager                     workItemManager;
 
     private Map<String, ProcessInstanceFactory> processInstanceFactories;
 
@@ -68,11 +68,11 @@
         this.processInstances = processInstances;
     }
 
-    public WorkItemManager getWorkItemManager() {
+    public InternalWorkItemManager getWorkItemManager() {
         return workItemManager;
     }
 
-    public void setWorkItemManager(WorkItemManager workItemManager) {
+    public void setWorkItemManager(InternalWorkItemManager workItemManager) {
         this.workItemManager = workItemManager;
     }
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/InputMarshaller.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -31,6 +31,7 @@
 import org.drools.process.core.context.swimlane.SwimlaneContext;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.InternalProcessInstance;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.context.swimlane.SwimlaneContextInstance;
 import org.drools.process.instance.context.variable.VariableScopeInstance;
@@ -906,7 +907,7 @@
         ObjectInputStream stream = context.stream;
         while ( stream.readShort() == PersisterEnums.WORK_ITEM ) {
             WorkItem workItem = readWorkItem( context );
-            wm.getWorkItemManager().internalAddWorkItem( workItem );
+            ((InternalWorkItemManager) wm.getWorkItemManager()).internalAddWorkItem( workItem );
         }
     }
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/marshalling/OutputMarshaller.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -29,6 +29,7 @@
 import org.drools.process.core.context.swimlane.SwimlaneContext;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.InternalProcessInstance;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.process.instance.ProcessInstance;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.context.swimlane.SwimlaneContextInstance;
@@ -868,7 +869,8 @@
     public static void writeWorkItems(MarshallerWriteContext context) throws IOException {
         ObjectOutputStream stream = context.stream;
 
-        List<WorkItem> workItems = new ArrayList<WorkItem>( context.wm.getWorkItemManager().getWorkItems() );
+        List<WorkItem> workItems = new ArrayList<WorkItem>(
+    		((InternalWorkItemManager) context.wm.getWorkItemManager()).getWorkItems() );
         Collections.sort( workItems,
                           new Comparator<WorkItem>() {
                               public int compare(WorkItem o1,

Copied: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItem.java (from rev 23198, labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItem.java)
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItem.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItem.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -0,0 +1,24 @@
+package org.drools.process.instance;
+
+import java.util.Map;
+
+
+/**
+ * 
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface InternalWorkItem extends WorkItem {
+	
+	void setName(String name);
+	
+	void setParameter(String name, Object value);
+	
+	void setParameters(Map<String, Object> parameters);
+	
+	void setResults(Map<String, Object> results);
+	
+	void setState(int state);
+	
+	void setProcessInstanceId(long processInstanceId);
+	
+}


Property changes on: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItem.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItemManager.java (from rev 23198, labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemManager.java)
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItemManager.java	                        (rev 0)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItemManager.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -0,0 +1,21 @@
+package org.drools.process.instance;
+
+import java.util.Set;
+
+/**
+ *
+ * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
+ */
+public interface InternalWorkItemManager extends WorkItemManager {
+
+	void internalExecuteWorkItem(WorkItem workItem);
+	
+	void internalAddWorkItem(WorkItem workItem);
+	
+    void internalAbortWorkItem(long id);
+    
+	Set<WorkItem> getWorkItems();
+	
+	WorkItem getWorkItem(long id);
+
+}


Property changes on: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/InternalWorkItemManager.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Deleted: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItem.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItem.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItem.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,30 +0,0 @@
-package org.drools.process.instance;
-
-import java.util.Map;
-
-/**
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface WorkItem {
-	
-	int PENDING = 0;
-	int ACTIVE = 1;
-	int COMPLETED = 2;
-	int ABORTED = 3;
-
-    long getId();
-    
-    String getName();
-    
-    int getState();
-    
-    Object getParameter(String name);
-    Map<String, Object> getParameters();
-    
-    Object getResult(String name);
-    Map<String, Object> getResults();
-
-    long getProcessInstanceId();
-
-}

Deleted: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemHandler.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemHandler.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemHandler.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,13 +0,0 @@
-package org.drools.process.instance;
-
-/**
- * 
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface WorkItemHandler {
-    
-    void executeWorkItem(WorkItem workItem, WorkItemManager manager);
-    
-    void abortWorkItem(WorkItem workItem, WorkItemManager manager);
-
-}

Deleted: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemManager.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemManager.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/WorkItemManager.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,28 +0,0 @@
-package org.drools.process.instance;
-
-import java.util.Map;
-import java.util.Set;
-
-/**
- *
- * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
- */
-public interface WorkItemManager {
-
-	void internalExecuteWorkItem(WorkItem workItem);
-	
-	void internalAddWorkItem(WorkItem workItem);
-	
-    void internalAbortWorkItem(long id);
-    
-	Set<WorkItem> getWorkItems();
-	
-	WorkItem getWorkItem(long id);
-
-    void completeWorkItem(long id, Map<String, Object> results);
-
-    void abortWorkItem(long id);
-
-    void registerWorkItemHandler(String workItemName, WorkItemHandler handler);
-
-}

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManager.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -11,15 +11,16 @@
 
 import org.drools.WorkingMemory;
 import org.drools.process.instance.InternalProcessInstance;
+import org.drools.process.instance.InternalWorkItem;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.WorkItemHandler;
-import org.drools.process.instance.WorkItemManager;
 
 /**
  *
  * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
  */
-public class DefaultWorkItemManager implements WorkItemManager, Externalizable {
+public class DefaultWorkItemManager implements InternalWorkItemManager, Externalizable {
 
     private static final long serialVersionUID = 400L;
 
@@ -32,11 +33,12 @@
 	    this.workingMemory = workingMemory;
 	}
 
-    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+    @SuppressWarnings("unchecked")
+	public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         workItemCounter = in.readLong();
-        workItems   = (Map<Long, WorkItem>)in.readObject();
-        workingMemory   = (WorkingMemory)in.readObject();
-        workItemHandlers   = (Map<String, WorkItemHandler>)in.readObject();
+        workItems = (Map<Long, WorkItem>)in.readObject();
+        workingMemory = (WorkingMemory)in.readObject();
+        workItemHandlers = (Map<String, WorkItemHandler>) in.readObject();
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
@@ -84,7 +86,7 @@
 	}
 
     public void completeWorkItem(long id, Map<String, Object> results) {
-        WorkItemImpl workItem = (WorkItemImpl) workItems.get(new Long(id));
+        InternalWorkItem workItem = (InternalWorkItem) workItems.get(new Long(id));
         // work item may have been aborted
         if (workItem != null) {
             workItem.setResults(results);

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/DefaultWorkItemManagerFactory.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -6,12 +6,12 @@
 import java.io.ObjectOutput;
 
 import org.drools.WorkingMemory;
-import org.drools.process.instance.WorkItemManager;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.process.instance.WorkItemManagerFactory;
 
 public class DefaultWorkItemManagerFactory implements WorkItemManagerFactory, Externalizable {
 
-	public WorkItemManager createWorkItemManager(WorkingMemory workingMemory) {
+	public InternalWorkItemManager createWorkItemManager(WorkingMemory workingMemory) {
 		return new DefaultWorkItemManager(workingMemory);
 	}
 

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/process/instance/impl/WorkItemImpl.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -5,13 +5,13 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.drools.process.instance.WorkItem;
+import org.drools.process.instance.InternalWorkItem;
 
 /**
  * 
  * @author <a href="mailto:kris_verlaenen at hotmail.com">Kris Verlaenen</a>
  */
-public class WorkItemImpl implements WorkItem, Serializable {
+public class WorkItemImpl implements InternalWorkItem, Serializable {
 
     private static final long serialVersionUID = 400L;
     

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/HumanTaskNodeInstance.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/HumanTaskNodeInstance.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/HumanTaskNodeInstance.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -1,9 +1,9 @@
 package org.drools.workflow.instance.node;
 
 import org.drools.process.core.context.swimlane.SwimlaneContext;
+import org.drools.process.instance.InternalWorkItem;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.context.swimlane.SwimlaneContextInstance;
-import org.drools.process.instance.impl.WorkItemImpl;
 import org.drools.workflow.core.node.HumanTaskNode;
 import org.drools.workflow.core.node.WorkItemNode;
 
@@ -21,7 +21,7 @@
         WorkItem workItem = super.createWorkItem(workItemNode);
         String actorId = assignWorkItem(workItem);
         if (actorId != null) {
-            ((WorkItemImpl) workItem).setParameter("ActorId", actorId);
+            ((InternalWorkItem) workItem).setParameter("ActorId", actorId);
         }
         return workItem;
     }
@@ -63,7 +63,7 @@
         return this.swimlaneContextInstance;
     }
     
-    public void triggerCompleted(WorkItem workItem) {
+    public void triggerCompleted(InternalWorkItem workItem) {
         String swimlaneName = getHumanTaskNode().getSwimlane();
         SwimlaneContextInstance swimlaneContextInstance = getSwimlaneContextInstance(swimlaneName);
         if (swimlaneContextInstance != null) {

Modified: labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java
===================================================================
--- labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java	2008-09-30 11:13:17 UTC (rev 23221)
+++ labs/jbossrules/branches/drools-api-refactor-20080929/drools-core/src/main/java/org/drools/workflow/instance/node/WorkItemNodeInstance.java	2008-09-30 13:06:38 UTC (rev 23222)
@@ -27,6 +27,8 @@
 import org.drools.process.core.Work;
 import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.EventListener;
+import org.drools.process.instance.InternalWorkItem;
+import org.drools.process.instance.InternalWorkItemManager;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.context.variable.VariableScopeInstance;
 import org.drools.process.instance.impl.WorkItemImpl;
@@ -44,7 +46,7 @@
     private static final Pattern PARAMETER_MATCHER = Pattern.compile("#\\{(\\S+)\\}", Pattern.DOTALL);
     
     private long workItemId = -1;
-    private transient WorkItemImpl workItem;
+    private transient WorkItem workItem;
     
     protected WorkItemNode getWorkItemNode() {
         return (WorkItemNode) getNode();
@@ -52,8 +54,8 @@
     
     public WorkItem getWorkItem() {
     	if (workItem == null && workItemId >= 0) {
-    		workItem = (WorkItemImpl) getProcessInstance().getWorkingMemory()
-    			.getWorkItemManager().getWorkItem(workItemId);
+    		workItem = ((InternalWorkItemManager) getProcessInstance().getWorkingMemory()
+    			.getWorkItemManager()).getWorkItem(workItemId);
     	}
         return workItem;
     }
@@ -85,7 +87,7 @@
 		if (isInversionOfControl()) {
 		    getProcessInstance().getWorkingMemory().update(getProcessInstance().getWorkingMemory().getFactHandle(this), this);
 		} else {
-		    getProcessInstance().getWorkingMemory().getWorkItemManager().internalExecuteWorkItem(workItem);
+		    ((InternalWorkItemManager) getProcessInstance().getWorkingMemory().getWorkItemManager()).internalExecuteWorkItem(workItem);
 		}
         if (!workItemNode.isWaitForCompletion()) {
             triggerCompleted();
@@ -97,15 +99,15 @@
     protected WorkItem createWorkItem(WorkItemNode workItemNode) {
         Work work = workItemNode.getWork();
         workItem = new WorkItemImpl();
-        workItem.setName(work.getName());
-        workItem.setProcessInstanceId(getProcessInstance().getId());
-        workItem.setParameters(new HashMap<String, Object>(work.getParameters()));
+        ((InternalWorkItem) workItem).setName(work.getName());
+        ((InternalWorkItem) workItem).setProcessInstanceId(getProcessInstance().getId());
+        ((InternalWorkItem) workItem).setParameters(new HashMap<String, Object>(work.getParameters()));
         for (Iterator<Map.Entry<String, String>> iterator = workItemNode.getInMappings().entrySet().iterator(); iterator.hasNext(); ) {
             Map.Entry<String, String> mapping = iterator.next();
             VariableScopeInstance variableScopeInstance = (VariableScopeInstance)
                 resolveContextInstance(VariableScope.VARIABLE_SCOPE, mapping.getValue());
             if (variableScopeInstance != null) {
-                workItem.setParameter(mapping.getKey(), variableScopeInstance.getVariable(mapping.getValue()));
+            	((InternalWorkItem) workItem).setParameter(mapping.getKey(), variableScopeInstance.getVariable(mapping.getValue()));
             } else {
                 System.err.println("Could not find variable scope for variable " + mapping.getValue());
                 System.err.println("when trying to execute Work Item " + work.getName());
@@ -136,7 +138,7 @@
                 for (Map.Entry<String, String> replacement: replacements.entrySet()) {
                 	s = s.replace("#{" + replacement.getKey() + "}", replacement.getValue());
                 }
-                workItem.setParameter(entry.getKey(), s);
+                ((InternalWorkItem) workItem).setParameter(entry.getKey(), s);
         	}
         }
         return workItem;
@@ -165,7 +167,7 @@
     
     public void cancel() {
     	if (workItemId != -1) {
-    		getProcessInstance().getWorkingMemory().getWorkItemManager().internalAbortWorkItem(workItemId);
+    		((InternalWorkItemManager) getProcessInstance().getWorkingMemory().getWorkItemManager()).internalAbortWorkItem(workItemId);
     	}
         super.cancel();
     }




More information about the jboss-svn-commits mailing list