[jboss-svn-commits] JBL Code SVN: r17310 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl: configuration and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Dec 18 22:29:02 EST 2007


Author: mark.proctor at jboss.com
Date: 2007-12-18 22:29:01 -0500 (Tue, 18 Dec 2007)
New Revision: 17310

Added:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeRegistry.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/ActionNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/EndNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/JoinNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/MilestoneNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/RuleSetNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SplitNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/StartNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SubFlowNodeConf.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/TaskNodeConf.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/RuleFlowProcessInstanceImpl.java
Log:
JBRULES-1394 RuleFlow Nodes should be pluggable

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,8 @@
+package org.drools.ruleflow.instance.impl;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+
+public interface PvmNodeConf {
+	RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance);
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeRegistry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeRegistry.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/PvmNodeRegistry.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,22 @@
+package org.drools.ruleflow.instance.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.ruleflow.core.Node;
+
+public class PvmNodeRegistry {
+	private Map<Class<? extends Node>, PvmNodeConf> registry;
+	
+	public PvmNodeRegistry() {
+		this.registry = new HashMap<Class<? extends Node>, PvmNodeConf>();
+	}
+	
+	public void  register(Class<? extends Node> cls, PvmNodeConf conf) {
+		this.registry.put(cls, conf);
+	}
+	
+	public PvmNodeConf getRuleFlowNodeConf(Node node) {
+		return this.registry.get( node.getClass() );
+	}
+}

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/RuleFlowProcessInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/RuleFlowProcessInstanceImpl.java	2007-12-19 03:20:27 UTC (rev 17309)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/RuleFlowProcessInstanceImpl.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -52,8 +52,25 @@
 import org.drools.ruleflow.core.StartNode;
 import org.drools.ruleflow.core.SubFlowNode;
 import org.drools.ruleflow.core.WorkItemNode;
+import org.drools.ruleflow.core.impl.ActionNodeImpl;
+import org.drools.ruleflow.core.impl.EndNodeImpl;
+import org.drools.ruleflow.core.impl.JoinImpl;
+import org.drools.ruleflow.core.impl.MilestoneNodeImpl;
+import org.drools.ruleflow.core.impl.RuleSetNodeImpl;
+import org.drools.ruleflow.core.impl.SplitImpl;
+import org.drools.ruleflow.core.impl.StartNodeImpl;
+import org.drools.ruleflow.core.impl.SubFlowNodeImpl;
 import org.drools.ruleflow.instance.RuleFlowNodeInstance;
 import org.drools.ruleflow.instance.RuleFlowProcessInstance;
+import org.drools.ruleflow.instance.impl.configuration.ActionNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.EndNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.JoinNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.MilestoneNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.RuleSetNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.SplitNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.StartNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.SubFlowNodeConf;
+import org.drools.ruleflow.instance.impl.configuration.TaskNodeConf;
 
 /**
  * Default implementation of a RuleFlow process instance.
@@ -114,62 +131,34 @@
     
     public WorkingMemory getWorkingMemory() {
     	return this.workingMemory;
+    }    
+    
+    private static PvmNodeRegistry nodeRegistry = new PvmNodeRegistry();
+    static {
+    	nodeRegistry.register(RuleSetNodeImpl.class, new RuleSetNodeConf() );
+    	nodeRegistry.register(SplitImpl.class, new SplitNodeConf() );
+    	nodeRegistry.register(JoinImpl.class, new JoinNodeConf() );
+    	nodeRegistry.register(StartNodeImpl.class, new StartNodeConf() );
+    	nodeRegistry.register(EndNodeImpl.class, new EndNodeConf() );
+    	nodeRegistry.register(MilestoneNodeImpl.class, new MilestoneNodeConf() );    	    
+    	nodeRegistry.register(SubFlowNodeImpl.class, new SubFlowNodeConf() );
+    	nodeRegistry.register(ActionNodeImpl.class, new ActionNodeConf() );
+    	nodeRegistry.register(WorkItemNode.class, new TaskNodeConf() );
+    	
     }
 
     public RuleFlowNodeInstance getNodeInstance(final Node node) {
-        if ( node instanceof RuleSetNode ) {
-            final RuleFlowNodeInstance result = (RuleFlowNodeInstance) getAgenda().getRuleFlowGroup( ((RuleSetNode) node).getRuleFlowGroup() );
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        } else if ( node instanceof Split ) {
-            RuleFlowNodeInstance result = getFirstNodeInstance( node.getId() );
-            if ( result == null ) {
-                result = new RuleFlowSplitInstanceImpl();
-                result.setNodeId( node.getId() );
-                addNodeInstance( result );
-            }
-            return result;
-        } else if ( node instanceof Join ) {
-            RuleFlowNodeInstance result = getFirstNodeInstance( node.getId() );
-            if ( result == null ) {
-                result = new RuleFlowJoinInstanceImpl();
-                result.setNodeId( node.getId() );
-                addNodeInstance( result );
-            }
-            return result;
-        } else if ( node instanceof StartNode ) {
-            final RuleFlowNodeInstance result = new StartNodeInstanceImpl();
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        } else if ( node instanceof EndNode ) {
-            final RuleFlowNodeInstance result = new EndNodeInstanceImpl();
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        } else if ( node instanceof MilestoneNode ) {
-            final RuleFlowNodeInstance result = new MilestoneNodeInstanceImpl();
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        } else if ( node instanceof SubFlowNode ) {
-            final RuleFlowNodeInstance result = new SubFlowNodeInstanceImpl();
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        } else if ( node instanceof ActionNode ) {
-            final RuleFlowNodeInstance result = new ActionNodeInstanceImpl();
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        } else if ( node instanceof WorkItemNode ) {
-            final RuleFlowNodeInstance result = new TaskNodeInstanceImpl();
-            result.setNodeId( node.getId() );
-            addNodeInstance( result );
-            return result;
-        }
-        throw new IllegalArgumentException( "Illegal node type: " + node.getClass() );
+    	PvmNodeConf conf = this.nodeRegistry.getRuleFlowNodeConf( node );
+    	if ( conf == null ) {
+    		throw new IllegalArgumentException( "Illegal node type: " + node.getClass() );
+    	}
+    	
+    	RuleFlowNodeInstance nodeInstance = conf.getNodeInstance( node, this );
+    	
+    	if  ( nodeInstance == null ) {
+    		throw new IllegalArgumentException( "Illegal node type: " + node.getClass() );
+    	}
+    	return nodeInstance;    	
     }
 
     public void start() {

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/ActionNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/ActionNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/ActionNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,24 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.ActionNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.MilestoneNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+import org.drools.ruleflow.instance.impl.StartNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.SubFlowNodeInstanceImpl;
+
+public class ActionNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        final RuleFlowNodeInstance result = new ActionNodeInstanceImpl();
+        result.setNodeId( node.getId() );
+        processInstance.addNodeInstance( result );
+        return result;
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/EndNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/EndNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/EndNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,22 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.EndNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+import org.drools.ruleflow.instance.impl.StartNodeInstanceImpl;
+
+public class EndNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        final RuleFlowNodeInstance result = new EndNodeInstanceImpl();
+        result.setNodeId( node.getId() );
+        processInstance.addNodeInstance( result );
+        return result;
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/JoinNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/JoinNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/JoinNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,23 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+
+public class JoinNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        RuleFlowNodeInstance result = processInstance.getFirstNodeInstance( node.getId() );
+        if ( result == null ) {
+            result = new RuleFlowJoinInstanceImpl();
+            result.setNodeId( node.getId() );
+            processInstance.addNodeInstance( result );
+        }
+        return result;		
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/MilestoneNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/MilestoneNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/MilestoneNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,22 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.MilestoneNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+import org.drools.ruleflow.instance.impl.StartNodeInstanceImpl;
+
+public class MilestoneNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        final RuleFlowNodeInstance result = new MilestoneNodeInstanceImpl();
+        result.setNodeId( node.getId() );
+        processInstance.addNodeInstance( result );
+        return result;
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/RuleSetNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/RuleSetNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/RuleSetNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,18 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+
+public class RuleSetNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {
+        final RuleFlowNodeInstance result = (RuleFlowNodeInstance) processInstance.getAgenda().getRuleFlowGroup( ((RuleSetNode) node).getRuleFlowGroup() );
+    	result.setNodeId( node.getId() );
+    	processInstance.addNodeInstance( result );
+    	return result;
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SplitNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SplitNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SplitNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,22 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+
+public class SplitNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	
+        RuleFlowNodeInstance result = processInstance.getFirstNodeInstance( node.getId() );
+        if ( result == null ) {
+            result = new RuleFlowSplitInstanceImpl();
+            result.setNodeId( node.getId() );
+            processInstance.addNodeInstance( result );
+        }
+        return result;    	
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/StartNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/StartNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/StartNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,21 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+import org.drools.ruleflow.instance.impl.StartNodeInstanceImpl;
+
+public class StartNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        final RuleFlowNodeInstance result = new StartNodeInstanceImpl();
+        result.setNodeId( node.getId() );
+        processInstance.addNodeInstance( result );
+        return result;	
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SubFlowNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SubFlowNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/SubFlowNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,23 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.MilestoneNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+import org.drools.ruleflow.instance.impl.StartNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.SubFlowNodeInstanceImpl;
+
+public class SubFlowNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        final RuleFlowNodeInstance result = new SubFlowNodeInstanceImpl();
+        result.setNodeId( node.getId() );
+        processInstance.addNodeInstance( result );
+        return result;
+	}
+
+}

Added: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/TaskNodeConf.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/TaskNodeConf.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/ruleflow/instance/impl/configuration/TaskNodeConf.java	2007-12-19 03:29:01 UTC (rev 17310)
@@ -0,0 +1,24 @@
+package org.drools.ruleflow.instance.impl.configuration;
+
+import org.drools.ruleflow.core.Node;
+import org.drools.ruleflow.core.RuleSetNode;
+import org.drools.ruleflow.instance.RuleFlowNodeInstance;
+import org.drools.ruleflow.instance.impl.MilestoneNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.PvmNodeConf;
+import org.drools.ruleflow.instance.impl.RuleFlowJoinInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowProcessInstanceImpl;
+import org.drools.ruleflow.instance.impl.RuleFlowSplitInstanceImpl;
+import org.drools.ruleflow.instance.impl.StartNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.SubFlowNodeInstanceImpl;
+import org.drools.ruleflow.instance.impl.TaskNodeInstanceImpl;
+
+public class TaskNodeConf implements PvmNodeConf {
+
+	public RuleFlowNodeInstance getNodeInstance(Node node, RuleFlowProcessInstanceImpl processInstance ) {    	  	
+        final RuleFlowNodeInstance result = new TaskNodeInstanceImpl();
+        result.setNodeId( node.getId() );
+        processInstance.addNodeInstance( result );
+        return result;
+	}
+
+}




More information about the jboss-svn-commits mailing list