[jboss-svn-commits] JBL Code SVN: r31860 - in labs/jbossrules/branches/true_modify_20100215/drools-core/src: main/java/org/drools/util/debug and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Feb 27 11:01:38 EST 2010


Author: tirelli
Date: 2010-02-27 11:01:38 -0500 (Sat, 27 Feb 2010)
New Revision: 31860

Removed:
   labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/InstrumentedRuleTerminalNode.java
Modified:
   labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
   labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
   labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/util/debug/LeftInputAdapterNodeVisitor.java
   labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/ReteDslTestEngine.java
   labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java
Log:
JBRULES-2339: JBRULES-2340: fixing tests

Modified: labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java
===================================================================
--- labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java	2010-02-27 15:55:30 UTC (rev 31859)
+++ labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/LeftInputAdapterNode.java	2010-02-27 16:01:38 UTC (rev 31860)
@@ -20,17 +20,13 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 
-import org.drools.RuleBaseConfiguration;
 import org.drools.common.BaseNode;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
-import org.drools.common.NodeMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.RuleBasePartitionId;
-import org.drools.reteoo.RuleRemovalContext.CleanupAdapter;
 import org.drools.reteoo.builder.BuildContext;
 import org.drools.spi.PropagationContext;
-import org.drools.util.RightTupleList;
 
 /**
  * All asserting Facts must propagated into the right <code>ObjectSink</code> side of a BetaNode, if this is the first Pattern
@@ -44,8 +40,7 @@
  */
 public class LeftInputAdapterNode extends LeftTupleSource
     implements
-    ObjectSinkNode,
-    NodeMemory {
+    ObjectSinkNode {
 
     /**
      *
@@ -180,11 +175,6 @@
         if ( !node.isInUse() ) {
             removeTupleSink( (LeftTupleSink) node );
         }
-        if ( !this.isInUse() ) {
-            for ( int i = 0, length = workingMemories.length; i < length; i++ ) {
-                workingMemories[i].clearNodeMemory( this );
-            }
-        }
         this.objectSource.remove( context,
                                   builder,
                                   this,
@@ -245,10 +235,6 @@
         return this.objectSource.equals( other.objectSource );
     }
 
-    public Object createMemory(final RuleBaseConfiguration config) {
-        return new RightTupleList();
-    }
-
     /**
      * Used with the updateSink method, so that the parent ObjectSource
      * can  update the  TupleSink

Modified: labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2010-02-27 15:55:30 UTC (rev 31859)
+++ labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2010-02-27 16:01:38 UTC (rev 31860)
@@ -21,7 +21,6 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 
-import org.drools.RuleBaseConfiguration;
 import org.drools.common.AgendaItem;
 import org.drools.common.BaseNode;
 import org.drools.common.EventFactHandle;
@@ -30,7 +29,6 @@
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalRuleFlowGroup;
 import org.drools.common.InternalWorkingMemory;
-import org.drools.common.NodeMemory;
 import org.drools.common.PropagationContextImpl;
 import org.drools.common.ScheduledAgendaItem;
 import org.drools.event.rule.ActivationCancelledCause;
@@ -53,7 +51,6 @@
 public class RuleTerminalNode extends BaseNode
     implements
     LeftTupleSinkNode,
-    NodeMemory,
     TerminalNode,
     Externalizable {
     // ------------------------------------------------------------
@@ -393,6 +390,9 @@
                                  builder,
                                  this,
                                  workingMemories );
+        for( InternalWorkingMemory workingMemory : workingMemories ) {
+            workingMemory.executeQueuedActions();
+        }
         context.setCleanupAdapter( adapter );
     }
 
@@ -465,10 +465,6 @@
         return NodeTypeEnums.RuleTerminalNode;
     }
 
-    public Object createMemory(RuleBaseConfiguration config) {
-        throw new UnsupportedOperationException( "RuleTerminalNodes do not have memory" );
-    }
-
     public static class RTNCleanupAdapter implements CleanupAdapter {
         private RuleTerminalNode node;
         
@@ -478,6 +474,10 @@
 
         public void cleanUp(final LeftTuple leftTuple,
                             final InternalWorkingMemory workingMemory) {
+            if( leftTuple.getLeftTupleSink() != node ) {
+                return;
+            }
+            
             final Activation activation = leftTuple.getActivation();
 
             if ( activation.isActivated() ) {

Modified: labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/util/debug/LeftInputAdapterNodeVisitor.java
===================================================================
--- labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/util/debug/LeftInputAdapterNodeVisitor.java	2010-02-27 15:55:30 UTC (rev 31859)
+++ labs/jbossrules/branches/true_modify_20100215/drools-core/src/main/java/org/drools/util/debug/LeftInputAdapterNodeVisitor.java	2010-02-27 16:01:38 UTC (rev 31860)
@@ -3,13 +3,11 @@
 import java.util.Stack;
 
 import org.drools.common.NetworkNode;
-import org.drools.reteoo.LeftInputAdapterNode;
-import org.drools.util.RightTupleList;
 
 public class LeftInputAdapterNodeVisitor extends AbstractNetworkNodeVisitor {
-    
+
     public static final LeftInputAdapterNodeVisitor INSTANCE = new LeftInputAdapterNodeVisitor();
-    
+
     protected LeftInputAdapterNodeVisitor() {
     }
 
@@ -17,12 +15,8 @@
     protected void doVisit(NetworkNode node,
                            Stack<NetworkNode> nodeStack,
                            StatefulKnowledgeSessionInfo info) {
-        LeftInputAdapterNode an = (LeftInputAdapterNode) node;
         DefaultNodeInfo ni = (DefaultNodeInfo) info.getNodeInfo( node );
-        final RightTupleList memory = (RightTupleList) info.getSession().getNodeMemory( an );
-        
-        ni.setMemoryEnabled( true );
-        ni.setFactMemorySize( memory.size() );
+        ni.setMemoryEnabled( false );
     }
 
 }

Modified: labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/ReteDslTestEngine.java
===================================================================
--- labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/ReteDslTestEngine.java	2010-02-27 15:55:30 UTC (rev 31859)
+++ labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/ReteDslTestEngine.java	2010-02-27 16:01:38 UTC (rev 31860)
@@ -462,52 +462,10 @@
                                   InternalWorkingMemory wm) {
         try {
             List<String[]> cmds = step.getCommands();
-            List<InternalFactHandle> handles = (List<InternalFactHandle>) context.get( "Handles" );
+            //List<InternalFactHandle> handles = (List<InternalFactHandle>) context.get( "Handles" );
 
-            Set<LeftTuple> memory = (Set<LeftTuple>) wm.getNodeMemory( node );
             for ( String[] cmd : cmds ) {
-                if ( cmd[0].equals( "leftMemory" ) ) {
-                    String args = cmd[1];
-                    String listString = args.replaceAll( "h(\\d+)",
-                                                         "h[$1]" );
-                    Map<String, Object> vars = new HashMap<String, Object>();
-                    vars.put( "h",
-                              handles );
-                    List< ? > expectedLeftTuples = (List< ? >) MVEL.eval( listString,
-                                                                          vars );
-
-                    if ( expectedLeftTuples.isEmpty() && memory.size() != 0 ) {
-                        throw new AssertionError( "line " + step.getLine() + ": left Memory expected [] actually " + memory );
-                    } else if ( expectedLeftTuples.isEmpty() && memory.size() == 0 ) {
-                        return;
-                    }
-
-                    // we always lookup from the first element, in case it's indexed
-                    List<InternalFactHandle> first = (List<InternalFactHandle>) expectedLeftTuples.get( 0 );
-                    LeftTuple firstTuple = new LeftTuple( first.get( 0 ),
-                                                          null,
-                                                          false );
-                    for ( int i = 1; i < first.size(); i++ ) {
-                        firstTuple = new LeftTuple( firstTuple,
-                                                    null,
-                                                    false );
-                    }
-
-                    List<LeftTuple> leftTuples = new ArrayList<LeftTuple>( memory );
-
-                    List<List<InternalFactHandle>> actualLeftTuples = new ArrayList<List<InternalFactHandle>>( leftTuples.size() );
-                    for ( LeftTuple leftTuple : leftTuples ) {
-                        List<InternalFactHandle> tupleHandles = Arrays.asList( leftTuple.toFactHandles() );
-                        actualLeftTuples.add( tupleHandles );
-                    }
-
-                    if ( !expectedLeftTuples.equals( actualLeftTuples ) ) {
-                        throw new AssertionError( "line " + step.getLine() + ": left Memory expected " + expectedLeftTuples + " actually " + actualLeftTuples );
-                    }
-
-                } else {
-                    throw new IllegalArgumentException( "line " + step.getLine() + ": command does not exist " + Arrays.toString( cmd ) );
-                }
+                throw new IllegalArgumentException( "line " + step.getLine() + ": command does not exist " + Arrays.toString( cmd ) );
             }
         } catch ( Exception e ) {
             throw new IllegalArgumentException( "line " + step.getLine() + ": unable to execute step " + step,
@@ -515,6 +473,7 @@
         }
     }
 
+    @SuppressWarnings("unchecked")
     private void assertObject(DslStep step,
                               Map<String, Object> context,
                               InternalWorkingMemory wm) {

Deleted: labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/InstrumentedRuleTerminalNode.java
===================================================================
--- labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/InstrumentedRuleTerminalNode.java	2010-02-27 15:55:30 UTC (rev 31859)
+++ labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/InstrumentedRuleTerminalNode.java	2010-02-27 16:01:38 UTC (rev 31860)
@@ -1,75 +0,0 @@
-/*
- * Copyright 2008 Red Hat
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.drools.reteoo.test.dsl;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.drools.RuleBaseConfiguration;
-import org.drools.common.InternalWorkingMemory;
-import org.drools.reteoo.LeftTuple;
-import org.drools.reteoo.LeftTupleSource;
-import org.drools.reteoo.RuleTerminalNode;
-import org.drools.reteoo.builder.BuildContext;
-import org.drools.rule.GroupElement;
-import org.drools.rule.Rule;
-import org.drools.spi.PropagationContext;
-
-public class InstrumentedRuleTerminalNode extends RuleTerminalNode {
-
-    public InstrumentedRuleTerminalNode(final int id,
-                                        final LeftTupleSource source,
-                                        final Rule rule,
-                                        final GroupElement subrule,
-                                        final BuildContext context) {
-        super( id,
-               source,
-               rule,
-               subrule,
-               context );
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public void assertLeftTuple(LeftTuple leftTuple,
-                                PropagationContext context,
-                                InternalWorkingMemory workingMemory) {
-        Set<LeftTuple> set = (Set<LeftTuple>) workingMemory.getNodeMemory( this );
-        set.add( leftTuple );
-        super.assertLeftTuple( leftTuple,
-                               context,
-                               workingMemory );
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public void retractLeftTuple(LeftTuple leftTuple,
-                                 PropagationContext context,
-                                 InternalWorkingMemory workingMemory) {
-        Set<LeftTuple> set = (Set<LeftTuple>) workingMemory.getNodeMemory( this );
-        set.remove( leftTuple );
-        super.retractLeftTuple( leftTuple,
-                                context,
-                                workingMemory );
-    }
-
-    @Override
-    public Object createMemory(RuleBaseConfiguration config) {
-        return new LinkedHashSet<LeftTuple>();
-    }
-
-}
\ No newline at end of file

Modified: labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java
===================================================================
--- labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java	2010-02-27 15:55:30 UTC (rev 31859)
+++ labs/jbossrules/branches/true_modify_20100215/drools-core/src/test/java/org/drools/reteoo/test/dsl/RuleTerminalNodeStep.java	2010-02-27 16:01:38 UTC (rev 31860)
@@ -53,11 +53,11 @@
 
             Rule rule = new Rule( name );
 
-            final RuleTerminalNode rtn = new InstrumentedRuleTerminalNode( buildContext.getNextId(),
-                                                                           leftTupleSource,
-                                                                           rule,
-                                                                           null,
-                                                                           buildContext );
+            final RuleTerminalNode rtn = new RuleTerminalNode( buildContext.getNextId(),
+                                                               leftTupleSource,
+                                                               rule,
+                                                               null,
+                                                               buildContext );
             Consequence consequence = new Consequence() {
                 public void evaluate(KnowledgeHelper knowledgeHelper,
                                      WorkingMemory workingMemory) throws Exception {



More information about the jboss-svn-commits mailing list