[jboss-svn-commits] JBL Code SVN: r18468 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 12 17:41:00 EST 2008


Author: KrisVerlaenen
Date: 2008-02-12 17:41:00 -0500 (Tue, 12 Feb 2008)
New Revision: 18468

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/JoinInstance.java
Log:
Join instance should not directly link to process nodes but rather use id

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/JoinInstance.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/JoinInstance.java	2008-02-12 19:49:32 UTC (rev 18467)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/node/JoinInstance.java	2008-02-12 22:41:00 UTC (rev 18468)
@@ -35,7 +35,7 @@
 
     private static final long serialVersionUID = 400L;
     
-    private final Map<Node, Integer> triggers = new HashMap<Node, Integer>();
+    private final Map<Long, Integer> triggers = new HashMap<Long, Integer>();
     
     protected Join getJoin() {
         return (Join) getNode();
@@ -53,13 +53,13 @@
                 break;
             case Join.TYPE_AND :
                 Node node = getNodeInstanceContainer().getNodeContainer().getNode( from.getNodeId() );
-                Integer count = (Integer) this.triggers.get( node );
+                Integer count = (Integer) this.triggers.get( node.getId() );
                 if ( count == null ) {
-                    this.triggers.put( node,
-                                       new Integer( 1 ) );
+                    this.triggers.put( node.getId(),
+                                       1 );
                 } else {
-                    this.triggers.put( node,
-                                       new Integer( count.intValue() + 1 ) );
+                    this.triggers.put( node.getId(),
+                                       count.intValue() + 1 );
                 }
                 if (checkAllActivated()) {
                     decreaseAllTriggers();
@@ -69,7 +69,7 @@
             case Join.TYPE_DISCRIMINATOR :
                 boolean triggerCompleted = triggers.isEmpty();
                 node = getNodeInstanceContainer().getNodeContainer().getNode( from.getNodeId() );
-                triggers.put( node, new Integer( 1 ) );
+                triggers.put( node.getId(), new Integer( 1 ) );
                 if (checkAllActivated()) {
                     resetAllTriggers();
                 }
@@ -86,7 +86,7 @@
         // check whether all parent nodes have been triggered 
         for ( final Iterator<Connection> it = getJoin().getDefaultIncomingConnections().iterator(); it.hasNext(); ) {
             final Connection connection = it.next();
-            if ( this.triggers.get( connection.getFrom() ) == null ) {
+            if ( this.triggers.get( connection.getFrom().getId() ) == null ) {
                 return false;
             }
         }
@@ -97,12 +97,12 @@
         // decrease trigger count for all incoming connections
         for ( final Iterator<Connection> it = getJoin().getDefaultIncomingConnections().iterator(); it.hasNext(); ) {
             final Connection connection = it.next();
-            final Integer count = (Integer) this.triggers.get( connection.getFrom() );
+            final Integer count = (Integer) this.triggers.get( connection.getFrom().getId() );
             if ( count.intValue() == 1 ) {
-                this.triggers.remove( connection.getFrom() );
+                this.triggers.remove( connection.getFrom().getId() );
             } else {
-                this.triggers.put( connection.getFrom(),
-                                   new Integer( count.intValue() - 1 ) );
+                this.triggers.put( connection.getFrom().getId(),
+                                   count.intValue() - 1 );
             }
         }
     }




More information about the jboss-svn-commits mailing list