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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 28 19:51:03 EDT 2008


Author: KrisVerlaenen
Date: 2008-05-28 19:51:03 -0400 (Wed, 28 May 2008)
New Revision: 20203

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/impl/ConnectionImpl.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/NodeInstanceImpl.java
Log:
OSWorkflow implementation

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/impl/ConnectionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/impl/ConnectionImpl.java	2008-05-28 23:50:58 UTC (rev 20202)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/core/impl/ConnectionImpl.java	2008-05-28 23:51:03 UTC (rev 20203)
@@ -63,10 +63,6 @@
         if (toType == null) {
             throw new IllegalArgumentException("To type is null!");
         }
-        if (from.equals(to)) {
-            throw new IllegalArgumentException(
-                "To and from nodes are the same!");
-        }
         this.from = from;
         this.fromType = fromType;
         this.to = to;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/NodeInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/NodeInstanceImpl.java	2008-05-28 23:50:58 UTC (rev 20202)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/NodeInstanceImpl.java	2008-05-28 23:51:03 UTC (rev 20203)
@@ -23,6 +23,7 @@
 import org.drools.process.core.Context;
 import org.drools.process.instance.ContextInstance;
 import org.drools.process.instance.ContextInstanceContainer;
+import org.drools.workflow.core.Connection;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.impl.NodeImpl;
 import org.drools.workflow.instance.NodeInstance;
@@ -92,6 +93,20 @@
     
     public abstract void internalTrigger(NodeInstance from, String type);
     
+    protected void triggerCompleted(String type, boolean remove) {
+        if (remove) {
+            getNodeInstanceContainer().removeNodeInstance(this);
+        }
+        for (Connection connection: getNode().getOutgoingConnections(type)) {
+            triggerConnection(connection);
+        }
+    }
+    
+    protected void triggerConnection(Connection connection) {
+        getNodeInstanceContainer().getNodeInstance(connection.getTo())
+            .trigger(this, connection.getToType());
+    }
+    
     public Context resolveContext(String contextId, Object param) {
         return ((NodeImpl) getNode()).resolveContext(contextId, param);
     }




More information about the jboss-svn-commits mailing list