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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 25 06:53:47 EST 2007


Author: tirelli
Date: 2007-01-25 06:53:47 -0500 (Thu, 25 Jan 2007)
New Revision: 9017

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactA.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactB.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactC.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
Log:
JBRULES-612: fixing cache rebuild

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactA.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactA.java	2007-01-25 09:42:32 UTC (rev 9016)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactA.java	2007-01-25 11:53:47 UTC (rev 9017)
@@ -4,6 +4,10 @@
     String field1;
     Integer field2;
     Float field3;
+    
+    public FactA() {
+    }
+    
     public FactA(String f1, Integer f2, Float f3) {
         field1 = f1;
         field2 = f2;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactB.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactB.java	2007-01-25 09:42:32 UTC (rev 9016)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactB.java	2007-01-25 11:53:47 UTC (rev 9017)
@@ -4,6 +4,10 @@
     String f1;
     Integer f2;
     Float f3;
+    
+    public FactB() {
+    }
+    
     public FactB(String a, Integer b, Float c) {
         f1 = a;
         f2 = b;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactC.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactC.java	2007-01-25 09:42:32 UTC (rev 9016)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/FactC.java	2007-01-25 11:53:47 UTC (rev 9017)
@@ -4,6 +4,7 @@
     String f1;
     Integer f2;
     Float f3;
+    
     public FactC(String a, Integer b, Float c) {
         f1 = a;
         f2 = b;

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java	2007-01-25 09:42:32 UTC (rev 9016)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/Rete.java	2007-01-25 11:53:47 UTC (rev 9017)
@@ -146,14 +146,23 @@
         } else {
             cachedNodes  = (ObjectTypeNode[]) memory.get( object.getClass() );
         }
-//        // //@todo this  is a hack, we really  don't want to be doing instanceof here 
-//        if ( object instanceof ShadowProxy ){
-//        	
-//        } else {
-//        	cachedNodes = (ObjectTypeNode[]) memory.get( object.getClass() );	
-//        }
          
+        // cached might have been cleared, so recalculate matching nodes
         if ( cachedNodes == null ) {
+            cachedNodes = getMatchingNodes( object );
+            Object key = null;
+
+            if ( object.getClass() == FactImpl.class ) {
+                key = ((Fact) object).getFactTemplate().getName();
+            } else {
+                key = object.getClass();
+            }
+            memory.put( key,
+                        cachedNodes,
+                        false );
+        }
+
+        if ( cachedNodes == null ) {
             // it is  possible that there are no ObjectTypeNodes for an  object being retracted
             return;
         }




More information about the jboss-svn-commits mailing list