[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