[jboss-svn-commits] JBL Code SVN: r19408 - in labs/jbossrules/trunk: drools-compiler/src/test/resources/org/drools/integrationtests and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 3 20:21:45 EDT 2008


Author: tirelli
Date: 2008-04-03 20:21:45 -0400 (Thu, 03 Apr 2008)
New Revision: 19408

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_DynamicNotNode.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java
Log:
JBRULES-1520: adding updateSink() to NotNode

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-04-03 23:54:32 UTC (rev 19407)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/DynamicRulesTest.java	2008-04-04 00:21:45 UTC (rev 19408)
@@ -13,6 +13,7 @@
 import org.drools.Cheese;
 import org.drools.FactA;
 import org.drools.FactB;
+import org.drools.FactHandle;
 import org.drools.Order;
 import org.drools.OrderItem;
 import org.drools.Person;
@@ -50,7 +51,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg1 );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         workingMemory.setGlobal( "total",
                                  new Integer( 0 ) );
@@ -88,7 +89,7 @@
         final Package pkg2 = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg2 );
 
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        //        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         assertEquals( 3,
                       list.size() );
 
@@ -106,7 +107,7 @@
         builder.addPackageFromDrl( reader );
         final Package pkg3 = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg3 );
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        //        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         // Package 3 has a rule working on Person instances.
         // As we added person instance in advance, rule should fire now
@@ -126,7 +127,7 @@
         builder.addPackageFromDrl( reader );
         final Package pkg4 = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg4 );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
 
         Assert.assertEquals( "Rule from package 4 should have been fired",
                              "Who likes Stilton ok",
@@ -153,11 +154,11 @@
         RuleBase ruleBase = getRuleBase();
         reteooRuleBase = (org.drools.reteoo.ReteooRuleBase) ruleBase;
         ruleBase.addPackage( pkg );
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        //        ruleBase    = SerializationHelper.serializeObject(ruleBase);
         final PackageBuilder builder2 = new PackageBuilder();
         builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic2.drl" ) ) );
         ruleBase.addPackage( SerializationHelper.serializeObject( builder2.getPackage() ) );
-//        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        //        ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -211,7 +212,7 @@
                       workingMemory.getAgenda().getActivations().length );
 
         reteooRuleBase.removePackage( "org.drools.test" );
-        reteooRuleBase    = SerializationHelper.serializeObject(reteooRuleBase);
+        reteooRuleBase = SerializationHelper.serializeObject( reteooRuleBase );
 
         assertEquals( 0,
                       workingMemory.getAgenda().getActivations().length );
@@ -232,7 +233,7 @@
         reteooRuleBase = (org.drools.reteoo.ReteooRuleBase) ruleBase;
 
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -268,7 +269,7 @@
 
         RuleBase ruleBase = getRuleBase();
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
         final List list = new ArrayList();
@@ -336,7 +337,7 @@
         RuleBase ruleBase = getRuleBase();
         final String packageName = builder.getPackage().getName();
         ruleBase.addPackage( SerializationHelper.serializeObject( builder.getPackage() ) );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
 
         WorkingMemory workingMemory = ruleBase.newStatefulSession();
 
@@ -349,8 +350,8 @@
         final PackageBuilder builder1 = new PackageBuilder();
         builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RemovePackage.drl" ) ) );
         ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
-        ruleBaseWM    = SerializationHelper.serializeObject(ruleBaseWM);
-        workingMemory = SerializationHelper.serializeObject(workingMemory);
+        ruleBaseWM = SerializationHelper.serializeObject( ruleBaseWM );
+        workingMemory = SerializationHelper.serializeObject( workingMemory );
         workingMemory.fireAllRules();
 
         ruleBaseWM.removePackage( packageName );
@@ -377,8 +378,8 @@
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRules.drl" ) ) );
         final Package pkg = builder.getPackage();
         ruleBase.addPackage( SerializationHelper.serializeObject( pkg ) );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        workingMemory    = SerializationHelper.serializeObject(workingMemory);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
+        workingMemory = SerializationHelper.serializeObject( workingMemory );
 
         workingMemory.fireAllRules();
     }
@@ -401,8 +402,8 @@
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRules2.drl" ) ) );
         final Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
-        workingMemory    = SerializationHelper.serializeObject(workingMemory);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
+        workingMemory = SerializationHelper.serializeObject( workingMemory );
 
         workingMemory.fireAllRules();
     }
@@ -416,14 +417,14 @@
         Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg );
         ruleBase.removePackage( pkg.getName() );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
 
         //add and remove again
         builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_Dynamic1.drl" ) ) );
         pkg = SerializationHelper.serializeObject( builder.getPackage() );
         ruleBase.addPackage( pkg );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
         ruleBase.removePackage( pkg.getName() );
     }
 
@@ -443,7 +444,7 @@
             RuleBase ruleBase = RuleBaseFactory.newRuleBase( rbconf );
             Package pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
-//            ruleBase    = SerializationHelper.serializeObject(ruleBase);
+            //            ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
             StatefulSession wm = ruleBase.newStatefulSession();
             wm.insert( cheeseClass.newInstance() );
@@ -462,7 +463,7 @@
             ruleBase = RuleBaseFactory.newRuleBase( rbconf );
             pkg = SerializationHelper.serializeObject( builder.getPackage() );
             ruleBase.addPackage( pkg );
-//            ruleBase    = SerializationHelper.serializeObject(ruleBase);
+            //            ruleBase    = SerializationHelper.serializeObject(ruleBase);
 
             wm = ruleBase.newStatefulSession();
             wm.insert( cheeseClass.newInstance() );
@@ -543,7 +544,7 @@
         builder2.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectDynamicRules2.drl" ) ) );
         final Package pkg2 = builder2.getPackage();
         ruleBase.addPackage( pkg2 );
-        ruleBase    = SerializationHelper.serializeObject(ruleBase);
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
 
         // fire all rules is automatic
         assertEquals( 1,
@@ -553,6 +554,59 @@
 
     }
 
+    public void testDynamicNotNode() throws Exception {
+        final PackageBuilder builderInit = new PackageBuilder();
+        builderInit.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_CollectDynamicRules1.drl" ) ) );
+        final Package pkgInit = builderInit.getPackage();
+
+        RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkgInit );
+
+        WorkingMemory workingMemory = ruleBase.newStatefulSession();
+        List results = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 results );
+
+        final Cheese a = new Cheese( "stilton",
+                                     10 );
+        final Cheese b = new Cheese( "stilton",
+                                     15 );
+        final Cheese c = new Cheese( "stilton",
+                                     20 );
+        workingMemory.insert( a );
+        FactHandle handle = workingMemory.insert( b );
+        workingMemory.insert( c );
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicNotNode.drl" ) ) );
+        final Package pkg = builder.getPackage();
+        ruleBase.addPackage( SerializationHelper.serializeObject( pkg ) );
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
+        workingMemory = SerializationHelper.serializeObject( workingMemory );
+        results = (List) workingMemory.getGlobal( "results" );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( 0,
+                      results.size() );
+
+        ruleBase.removePackage( "org.drools" );
+
+        workingMemory.retract( handle );
+
+        final PackageBuilder builder1 = new PackageBuilder();
+        builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicNotNode.drl" ) ) );
+        final Package pkg1 = builder.getPackage();
+        ruleBase.addPackage( SerializationHelper.serializeObject( pkg1 ) );
+        ruleBase = SerializationHelper.serializeObject( ruleBase );
+        workingMemory = SerializationHelper.serializeObject( workingMemory );
+        results = (List) workingMemory.getGlobal( "results" );
+        workingMemory.fireAllRules();
+
+        assertEquals( 1,
+                      results.size() );
+    }
+
     public void testDynamicRulesAddRemove() {
         try {
             RuleBase ruleBase = RuleBaseFactory.newRuleBase();
@@ -563,22 +617,34 @@
 
             StatefulSession session = ruleBase.newStatefulSession();
             List results = new ArrayList();
-            session.setGlobal( "results", results );
+            session.setGlobal( "results",
+                               results );
 
-            InternalFactHandle h1 = (InternalFactHandle) session.insert( new Person( "tom", 1 ) );
-            InternalFactHandle h2 = (InternalFactHandle) session.insert( new Person( "fred", 2 ) );
-            InternalFactHandle h3 = (InternalFactHandle) session.insert( new Person( "harry", 3 ) );
-            InternalFactHandle h4 = (InternalFactHandle) session.insert( new Person( "fred", 4 ) );
-            InternalFactHandle h5 = (InternalFactHandle) session.insert( new Person( "ed", 5 ) );
-            InternalFactHandle h6 = (InternalFactHandle) session.insert( new Person( "tom", 6 ) );
-            InternalFactHandle h7 = (InternalFactHandle) session.insert( new Person( "sreeni", 7 ) );
-            InternalFactHandle h8 = (InternalFactHandle) session.insert( new Person( "jill", 8 ) );
-            InternalFactHandle h9 = (InternalFactHandle) session.insert( new Person( "ed", 9 ) );
-            InternalFactHandle h10 = (InternalFactHandle) session.insert( new Person( "tom", 10 ) );
+            InternalFactHandle h1 = (InternalFactHandle) session.insert( new Person( "tom",
+                                                                                     1 ) );
+            InternalFactHandle h2 = (InternalFactHandle) session.insert( new Person( "fred",
+                                                                                     2 ) );
+            InternalFactHandle h3 = (InternalFactHandle) session.insert( new Person( "harry",
+                                                                                     3 ) );
+            InternalFactHandle h4 = (InternalFactHandle) session.insert( new Person( "fred",
+                                                                                     4 ) );
+            InternalFactHandle h5 = (InternalFactHandle) session.insert( new Person( "ed",
+                                                                                     5 ) );
+            InternalFactHandle h6 = (InternalFactHandle) session.insert( new Person( "tom",
+                                                                                     6 ) );
+            InternalFactHandle h7 = (InternalFactHandle) session.insert( new Person( "sreeni",
+                                                                                     7 ) );
+            InternalFactHandle h8 = (InternalFactHandle) session.insert( new Person( "jill",
+                                                                                     8 ) );
+            InternalFactHandle h9 = (InternalFactHandle) session.insert( new Person( "ed",
+                                                                                     9 ) );
+            InternalFactHandle h10 = (InternalFactHandle) session.insert( new Person( "tom",
+                                                                                      10 ) );
 
             session.fireAllRules();
 
-            assertEquals( 3, results.size() );
+            assertEquals( 3,
+                          results.size() );
             assertTrue( results.contains( h1.getObject() ) );
             assertTrue( results.contains( h6.getObject() ) );
             assertTrue( results.contains( h10.getObject() ) );
@@ -588,7 +654,8 @@
             fredBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesFred.drl" ) ) );
             ruleBase.addPackage( fredBuilder.getPackage() );
 
-            assertEquals( 2, results.size() );
+            assertEquals( 2,
+                          results.size() );
             assertTrue( results.contains( h2.getObject() ) );
             assertTrue( results.contains( h4.getObject() ) );
             results.clear();
@@ -599,20 +666,23 @@
             edBuilder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesEd.drl" ) ) );
             ruleBase.addPackage( edBuilder.getPackage() );
 
-            assertEquals( 2, results.size() );
+            assertEquals( 2,
+                          results.size() );
             assertTrue( results.contains( h5.getObject() ) );
             assertTrue( results.contains( h9.getObject() ) );
             results.clear();
 
             ((Person) h3.getObject()).setName( "ed" );
-            session.update( h3, h3.getObject() );
+            session.update( h3,
+                            h3.getObject() );
             session.fireAllRules();
 
-            assertEquals( 1, results.size() );
+            assertEquals( 1,
+                          results.size() );
             assertTrue( results.contains( h3.getObject() ) );
-        } catch( Exception e ) {
+        } catch ( Exception e ) {
             e.printStackTrace();
-            fail( "Should not raise any exception: "+e.getMessage() );
+            fail( "Should not raise any exception: " + e.getMessage() );
         }
     }
 
@@ -639,23 +709,39 @@
 
         Order order = new Order();
 
-        OrderItem item1 = new OrderItem(order, 1, "Adventure Guide Brazil", OrderItem.TYPE_BOOK, 24);
-        order.addItem(item1);
-        workingMemory.insert(item1);
+        OrderItem item1 = new OrderItem( order,
+                                         1,
+                                         "Adventure Guide Brazil",
+                                         OrderItem.TYPE_BOOK,
+                                         24 );
+        order.addItem( item1 );
+        workingMemory.insert( item1 );
 
-        OrderItem item2 = new OrderItem(order, 2, "Prehistoric Britain", OrderItem.TYPE_BOOK, 15);
-        order.addItem(item2);
-        workingMemory.insert(item2);
+        OrderItem item2 = new OrderItem( order,
+                                         2,
+                                         "Prehistoric Britain",
+                                         OrderItem.TYPE_BOOK,
+                                         15 );
+        order.addItem( item2 );
+        workingMemory.insert( item2 );
 
-        OrderItem item3 = new OrderItem(order, 3, "Holiday Music", OrderItem.TYPE_CD, 9);
-        order.addItem(item3);
-        workingMemory.insert(item3);
+        OrderItem item3 = new OrderItem( order,
+                                         3,
+                                         "Holiday Music",
+                                         OrderItem.TYPE_CD,
+                                         9 );
+        order.addItem( item3 );
+        workingMemory.insert( item3 );
 
-        OrderItem item4 = new OrderItem(order, 4, "Very Best of Mick Jagger", OrderItem.TYPE_CD, 11);
-        order.addItem(item4);
-        workingMemory.insert(item4);
+        OrderItem item4 = new OrderItem( order,
+                                         4,
+                                         "Very Best of Mick Jagger",
+                                         OrderItem.TYPE_CD,
+                                         11 );
+        order.addItem( item4 );
+        workingMemory.insert( item4 );
 
-        workingMemory.insert(order);
+        workingMemory.insert( order );
 
         assertEquals( 11,
                       workingMemory.getAgenda().getActivations().length );
@@ -668,8 +754,11 @@
         reteooRuleBase.removeRule( "org.drools",
                                    "like book" );
 
-        final OrderItem item5 = new OrderItem(order, 5, "Sinatra : Vegas", OrderItem.TYPE_CD,
-                                             5 );
+        final OrderItem item5 = new OrderItem( order,
+                                               5,
+                                               "Sinatra : Vegas",
+                                               OrderItem.TYPE_CD,
+                                               5 );
         assertEquals( 8,
                       workingMemory.getAgenda().getActivations().length );
 
@@ -723,7 +812,6 @@
         }
     }
 
-
     public void testRemovePackageSubNetwork() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_DynamicRulesWithSubnetwork.drl" ) ) );
@@ -734,15 +822,36 @@
 
         final WorkingMemory workingMemory = ruleBase.newStatefulSession();
         List results = new ArrayList();
-        workingMemory.setGlobal( "results", results );
+        workingMemory.setGlobal( "results",
+                                 results );
 
         Order order = new Order();
 
-        OrderItem item1 = new OrderItem(order, 1, "Adventure Guide Brazil", OrderItem.TYPE_BOOK, 24);
-        OrderItem item2 = new OrderItem(order, 2, "Prehistoric Britain", OrderItem.TYPE_BOOK, 15);
-        OrderItem item3 = new OrderItem(order, 3, "Holiday Music", OrderItem.TYPE_CD, 9);
-        OrderItem item4 = new OrderItem(order, 4, "Very Best of Mick Jagger", OrderItem.TYPE_CD, 11);
-        OrderItem item5 = new OrderItem(order, 5, "The Master and Margarita", OrderItem.TYPE_BOOK, 29);
+        OrderItem item1 = new OrderItem( order,
+                                         1,
+                                         "Adventure Guide Brazil",
+                                         OrderItem.TYPE_BOOK,
+                                         24 );
+        OrderItem item2 = new OrderItem( order,
+                                         2,
+                                         "Prehistoric Britain",
+                                         OrderItem.TYPE_BOOK,
+                                         15 );
+        OrderItem item3 = new OrderItem( order,
+                                         3,
+                                         "Holiday Music",
+                                         OrderItem.TYPE_CD,
+                                         9 );
+        OrderItem item4 = new OrderItem( order,
+                                         4,
+                                         "Very Best of Mick Jagger",
+                                         OrderItem.TYPE_CD,
+                                         11 );
+        OrderItem item5 = new OrderItem( order,
+                                         5,
+                                         "The Master and Margarita",
+                                         OrderItem.TYPE_BOOK,
+                                         29 );
 
         order.addItem( item1 );
         order.addItem( item2 );
@@ -752,8 +861,10 @@
 
         workingMemory.insert( order );
         workingMemory.fireAllRules();
-        assertEquals( 1, results.size() );
-        assertEquals( 3, ((List) results.get(0)).size() );
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( 3,
+                      ((List) results.get( 0 )).size() );
         results.clear();
 
         final RuleBase ruleBaseWM = workingMemory.getRuleBase();
@@ -763,24 +874,29 @@
         ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
         workingMemory.fireAllRules();
         results = (List) workingMemory.getGlobal( "results" );
-        assertEquals( 1, results.size() );
-        assertEquals( 3, ((List) results.get(0)).size() );
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( 3,
+                      ((List) results.get( 0 )).size() );
         results.clear();
 
         ruleBaseWM.removePackage( packageName );
         ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
-        assertEquals( 1, results.size() );
-        assertEquals( 3, ((List) results.get(0)).size() );
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( 3,
+                      ((List) results.get( 0 )).size() );
         results.clear();
 
         ruleBaseWM.removePackage( packageName );
         ruleBaseWM.addPackage( SerializationHelper.serializeObject( builder1.getPackage() ) );
-        assertEquals( 1, results.size() );
-        assertEquals( 3, ((List) results.get(0)).size() );
+        assertEquals( 1,
+                      results.size() );
+        assertEquals( 3,
+                      ((List) results.get( 0 )).size() );
         results.clear();
     }
 
-
     public void testRuleBaseAddRemoveSubNetworks() throws Exception {
         try {
             RuleBase ruleBase = RuleBaseFactory.newRuleBase();
@@ -800,11 +916,10 @@
             ruleBase.removePackage( pkg.getName() );
         } catch ( Exception e ) {
             e.printStackTrace();
-            fail("Should not raise any exception");
+            fail( "Should not raise any exception" );
         }
     }
 
-
     public class SubvertedClassLoader extends URLClassLoader {
 
         private static final long serialVersionUID = 400L;

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_DynamicNotNode.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_DynamicNotNode.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_DynamicNotNode.drl	2008-04-04 00:21:45 UTC (rev 19408)
@@ -0,0 +1,12 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "dynamic not node"
+	when
+        a: Cheese( $type : type, price == 10 );
+        not Cheese( type == $type, price == 15 );
+        c: Cheese( type == $type, price == 20 );
+	then
+	    results.add( c );
+end
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java	2008-04-03 23:54:32 UTC (rev 19407)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BaseNode.java	2008-04-04 00:21:45 UTC (rev 19408)
@@ -95,7 +95,7 @@
 
     /**
      * Removes the node from teh network. Usually from the parent <code>ObjectSource</code> or <code>TupleSource</code>
-     * @param builder TODO
+     * @param builder 
      *
      */
     protected abstract void doRemove(RuleRemovalContext context,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-04-03 23:54:32 UTC (rev 19407)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-04-04 00:21:45 UTC (rev 19408)
@@ -173,9 +173,9 @@
                     blockedPrevious.setBlockedPrevious( leftTuple );
                 }
                 rightTuple.setBlocked( leftTuple );
-                
+
                 // this is now blocked so remove from memory
-                memory.getLeftTupleMemory().remove( leftTuple );                
+                memory.getLeftTupleMemory().remove( leftTuple );
 
                 this.sink.propagateRetractLeftTuple( leftTuple,
                                                      context,
@@ -249,7 +249,7 @@
                 this.sink.propagateAssertLeftTuple( leftTuple,
                                                     context,
                                                     workingMemory,
-                                                    this.tupleMemoryEnabled  );
+                                                    this.tupleMemoryEnabled );
             }
 
             leftTuple = temp;
@@ -308,14 +308,13 @@
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
 
         final Iterator tupleIter = memory.getLeftTupleMemory().iterator();
-        // @todo
-        //        for ( LeftTuple leftTuple = (LeftTuple) tupleIter.next(); leftTuple != null; leftTuple = (LeftTuple) tupleIter.next() ) {
-        //            if ( leftTuple.getMatch() == null ) {
-        //                sink.assertLeftTuple( new LeftTuple( leftTuple ),
-        //                                      context,
-        //                                      workingMemory );
-        //            }
-        //        }
+        for ( LeftTuple leftTuple = (LeftTuple) tupleIter.next(); leftTuple != null; leftTuple = (LeftTuple) tupleIter.next() ) {
+            sink.assertLeftTuple( new LeftTuple( leftTuple,
+                                                 sink,
+                                                 this.tupleMemoryEnabled ),
+                                  context,
+                                  workingMemory );
+        }
     }
 
     public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2008-04-03 23:54:32 UTC (rev 19407)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java	2008-04-04 00:21:45 UTC (rev 19408)
@@ -438,8 +438,6 @@
     }
 
     public void ruleAttached() {
-        // TODO Auto-generated method stub
-
     }
 
     public void attach() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java	2008-04-03 23:54:32 UTC (rev 19407)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Consequence.java	2008-04-04 00:21:45 UTC (rev 19408)
@@ -31,9 +31,7 @@
     /**
      * Execute the consequence for the supplied matching <code>Tuple</code>.
      * 
-     * @param activation
-     *            TODO
-     * @param workingMemory TODO
+     * @param knowledgeHelper
      * @param workingMemory
      *            The working memory session.
      * @throws ConsequenceException

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java	2008-04-03 23:54:32 UTC (rev 19407)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java	2008-04-04 00:21:45 UTC (rev 19408)
@@ -72,7 +72,7 @@
     /**
      * This method will extract the value from the object1 using the 
      * extractor and compare it with the object2.
-     * @param workingMemory TODO
+     * @param workingMemory 
      * @param extractor 
      *        The extractor used to get the source value from the object
      * @param object1




More information about the jboss-svn-commits mailing list