[jboss-svn-commits] JBL Code SVN: r7164 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: base/evaluators spi util

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 26 21:56:38 EDT 2006


Author: tirelli
Date: 2006-10-26 21:56:21 -0400 (Thu, 26 Oct 2006)
New Revision: 7164

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
Log:
JBRULES-527: adding primitive support to indexing

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ArrayFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -101,11 +101,12 @@
             return ((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -159,11 +160,12 @@
             return !((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -212,11 +214,12 @@
                                         value ) != -1;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value = extractor.getValue( object2 );
-            final Object[] array = (Object[]) extractor.getValue( object1 );
+            final Object value = extractor2.getValue( object2 );
+            final Object[] array = (Object[]) extractor1.getValue( object1 );
 
             return Arrays.binarySearch( array,
                                         value ) != -1 ; 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigDecimalFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -103,11 +103,12 @@
             return ((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -161,11 +162,12 @@
             return !((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -208,11 +210,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) < 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigDecimal comp = (BigDecimal) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) < 0;
+            final BigDecimal comp = (BigDecimal) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) < 0;
         }
         
         public String toString() {
@@ -251,11 +254,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) <= 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigDecimal comp = (BigDecimal) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) <= 0;
+            final BigDecimal comp = (BigDecimal) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) <= 0;
         }
         
         public String toString() {
@@ -294,11 +298,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) > 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigDecimal comp = (BigDecimal) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) > 0;
+            final BigDecimal comp = (BigDecimal) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) > 0;
         }
         
         public String toString() {
@@ -337,11 +342,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) >= 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigDecimal comp = (BigDecimal) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) >= 0;
+            final BigDecimal comp = (BigDecimal) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) >= 0;
         }
         
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BigIntegerFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -103,11 +103,12 @@
             return ((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -160,11 +161,12 @@
             return !((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -207,11 +209,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) < 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigInteger comp = (BigInteger) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) < 0;
+            final BigInteger comp = (BigInteger) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) < 0;
         }
         
         public String toString() {
@@ -250,11 +253,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) <= 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigInteger comp = (BigInteger) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) <= 0;
+            final BigInteger comp = (BigInteger) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) <= 0;
         }
         
         public String toString() {
@@ -293,11 +297,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) > 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigInteger comp = (BigInteger) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) > 0;
+            final BigInteger comp = (BigInteger) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) > 0;
         }
         
         public String toString() {
@@ -336,11 +341,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) >= 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final BigInteger comp = (BigInteger) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) >= 0;
+            final BigInteger comp = (BigInteger) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) >= 0;
         }
         
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/BooleanFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -80,10 +80,11 @@
             return context.extractor.getBooleanValue( object2 ) == ((BooleanVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getBooleanValue( object1 ) == extractor.getBooleanValue( object2 );
+            return extractor1.getBooleanValue( object1 ) == extractor2.getBooleanValue( object2 );
         }
 
         public String toString() {
@@ -120,10 +121,11 @@
             return context.extractor.getBooleanValue( object2 ) != ((BooleanVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getBooleanValue( object1 ) != extractor.getBooleanValue( object2 );
+            return extractor1.getBooleanValue( object1 ) != extractor1.getBooleanValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ByteFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -88,10 +88,11 @@
             return ((LongVariableContextEntry) context).left == context.extractor.getByteValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getByteValue( object1 ) == extractor.getByteValue( object2 );
+            return extractor1.getByteValue( object1 ) == extractor2.getByteValue( object2 );
         }
 
         public String toString() {
@@ -128,10 +129,11 @@
             return ((LongVariableContextEntry) context).left != context.extractor.getByteValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getByteValue( object1 ) != extractor.getByteValue( object2 );
+            return extractor1.getByteValue( object1 ) != extractor2.getByteValue( object2 );
         }
 
         public String toString() {
@@ -167,10 +169,11 @@
             return context.extractor.getByteValue( right ) < ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getByteValue( object1 ) < extractor.getByteValue( object2 );
+            return extractor1.getByteValue( object1 ) < extractor2.getByteValue( object2 );
         }
 
         public String toString() {
@@ -206,10 +209,11 @@
             return context.extractor.getByteValue( right ) <= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getByteValue( object1 ) <= extractor.getByteValue( object2 );
+            return extractor1.getByteValue( object1 ) <= extractor2.getByteValue( object2 );
         }
 
         public String toString() {
@@ -245,10 +249,11 @@
             return context.extractor.getByteValue( right ) > ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getByteValue( object1 ) > extractor.getByteValue( object2 );
+            return extractor1.getByteValue( object1 ) > extractor2.getByteValue( object2 );
         }
 
         public String toString() {
@@ -284,10 +289,11 @@
             return context.extractor.getByteValue( right ) >= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getByteValue( object1 ) >= extractor.getByteValue( object2 );
+            return extractor1.getByteValue( object1 ) >= extractor2.getByteValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/CharacterFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -88,10 +88,11 @@
             return ((LongVariableContextEntry) context).left == context.extractor.getCharValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getCharValue( object1 ) == extractor.getCharValue( object2 );
+            return extractor1.getCharValue( object1 ) == extractor2.getCharValue( object2 );
         }
 
         public String toString() {
@@ -127,10 +128,11 @@
             return ((LongVariableContextEntry) context).left != context.extractor.getCharValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getCharValue( object1 ) != extractor.getCharValue( object2 );
+            return extractor1.getCharValue( object1 ) != extractor2.getCharValue( object2 );
         }
 
         public String toString() {
@@ -166,10 +168,11 @@
             return context.extractor.getCharValue( right ) <((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getCharValue( object1 ) < extractor.getCharValue( object2 );
+            return extractor1.getCharValue( object1 ) < extractor2.getCharValue( object2 );
         }
 
         public String toString() {
@@ -205,10 +208,11 @@
             return context.extractor.getCharValue( right ) <= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getCharValue( object1 ) <= extractor.getCharValue( object2 );
+            return extractor1.getCharValue( object1 ) <= extractor2.getCharValue( object2 );
         }
 
         public String toString() {
@@ -244,10 +248,11 @@
             return context.extractor.getCharValue( right ) > ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getCharValue( object1 ) > extractor.getCharValue( object2 );
+            return extractor1.getCharValue( object1 ) > extractor2.getCharValue( object2 );
         }
 
         public String toString() {
@@ -283,10 +288,11 @@
             return context.extractor.getCharValue( right ) >= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getCharValue( object1 ) >= extractor.getCharValue( object2 );
+            return extractor1.getCharValue( object1 ) >= extractor2.getCharValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DateFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -131,11 +131,12 @@
             return value1.compareTo( getRightDate( value2 ) ) == 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Date value1 = (Date) extractor.getValue( object1 );
-            final Date value2 = (Date) extractor.getValue( object2 );
+            final Date value1 = (Date) extractor1.getValue( object1 );
+            final Date value2 = (Date) extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -200,11 +201,12 @@
             return value1.compareTo( getRightDate( value2 ) ) != 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Date value1 = (Date) extractor.getValue( object1 );
-            final Date value2 = (Date) extractor.getValue( object2 );
+            final Date value1 = (Date) extractor1.getValue( object1 );
+            final Date value2 = (Date) extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -250,11 +252,12 @@
             return getRightDate( value2 ).compareTo( value1 ) < 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Date value1 = (Date) extractor.getValue( object1 );
-            final Date value2 = (Date) extractor.getValue( object2 );
+            final Date value1 = (Date) extractor1.getValue( object1 );
+            final Date value2 = (Date) extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -300,11 +303,12 @@
             return getRightDate( value2 ).compareTo( value1 ) <= 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Date value1 = (Date) extractor.getValue( object1 );
-            final Date value2 = (Date) extractor.getValue( object2 );
+            final Date value1 = (Date) extractor1.getValue( object1 );
+            final Date value2 = (Date) extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -350,11 +354,12 @@
             return getRightDate( value2 ).compareTo( value1 ) > 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Date value1 = (Date) extractor.getValue( object1 );
-            final Date value2 = (Date) extractor.getValue( object2 );
+            final Date value1 = (Date) extractor1.getValue( object1 );
+            final Date value2 = (Date) extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -400,11 +405,12 @@
             return getRightDate( value2 ).compareTo( value1 ) >= 0;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Date value1 = (Date) extractor.getValue( object1 );
-            final Date value2 = (Date) extractor.getValue( object2 );
+            final Date value1 = (Date) extractor1.getValue( object1 );
+            final Date value2 = (Date) extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/DoubleFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -91,11 +91,12 @@
             return ((DoubleVariableContextEntry) context).left == context.extractor.getDoubleValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getDoubleValue( object1 ) == extractor.getDoubleValue( object2 );
+            return extractor1.getDoubleValue( object1 ) == extractor2.getDoubleValue( object2 );
         }
 
         public String toString() {
@@ -134,11 +135,12 @@
             return ((DoubleVariableContextEntry) context).left != context.extractor.getDoubleValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getDoubleValue( object1 ) != extractor.getDoubleValue( object2 );
+            return extractor1.getDoubleValue( object1 ) != extractor2.getDoubleValue( object2 );
         }
 
         public String toString() {
@@ -177,11 +179,12 @@
             return context.extractor.getDoubleValue( right ) < ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getDoubleValue( object1 ) < extractor.getDoubleValue( object2 );
+            return extractor1.getDoubleValue( object1 ) < extractor2.getDoubleValue( object2 );
         }
 
         public String toString() {
@@ -220,11 +223,12 @@
             return context.extractor.getDoubleValue( right ) <= ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getDoubleValue( object1 ) <= extractor.getDoubleValue( object2 );
+            return extractor1.getDoubleValue( object1 ) <= extractor2.getDoubleValue( object2 );
         }
 
         public String toString() {
@@ -263,11 +267,12 @@
             return context.extractor.getDoubleValue( right ) > ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getDoubleValue( object1 ) > extractor.getDoubleValue( object2 );
+            return extractor1.getDoubleValue( object1 ) > extractor2.getDoubleValue( object2 );
         }
 
         public String toString() {
@@ -306,11 +311,12 @@
             return context.extractor.getDoubleValue( right ) >= ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getDoubleValue( object1 ) >= extractor.getDoubleValue( object2 );
+            return extractor1.getDoubleValue( object1 ) >= extractor2.getDoubleValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FactTemplateFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -100,11 +100,12 @@
             return ((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -158,11 +159,12 @@
             return !((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 != null;
             }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/FloatFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -89,11 +89,12 @@
             return ((DoubleVariableContextEntry) context).left == context.extractor.getFloatValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getFloatValue( object1 ) == extractor.getFloatValue( object2 );
+            return extractor1.getFloatValue( object1 ) == extractor2.getFloatValue( object2 );
         }
 
         public String toString() {
@@ -132,11 +133,12 @@
             return ((DoubleVariableContextEntry) context).left != context.extractor.getFloatValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getFloatValue( object1 ) != extractor.getFloatValue( object2 );
+            return extractor1.getFloatValue( object1 ) != extractor2.getFloatValue( object2 );
         }
 
         public String toString() {
@@ -175,11 +177,12 @@
             return context.extractor.getFloatValue( right ) < ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getFloatValue( object1 ) < extractor.getFloatValue( object2 );
+            return extractor1.getFloatValue( object1 ) < extractor2.getFloatValue( object2 );
         }
 
         public String toString() {
@@ -218,11 +221,12 @@
             return context.extractor.getFloatValue( right ) <= ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getFloatValue( object1 ) <= extractor.getFloatValue( object2 );
+            return extractor1.getFloatValue( object1 ) <= extractor2.getFloatValue( object2 );
         }
 
         public String toString() {
@@ -261,11 +265,12 @@
             return context.extractor.getFloatValue( right ) > ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getFloatValue( object1 ) > extractor.getFloatValue( object2 );
+            return extractor1.getFloatValue( object1 ) > extractor2.getFloatValue( object2 );
         }
 
         public String toString() {
@@ -304,11 +309,12 @@
             return context.extractor.getFloatValue( right ) >= ((DoubleVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
             // TODO: we are not handling delta right now... maybe we should
-            return extractor.getFloatValue( object1 ) >= extractor.getFloatValue( object2 );
+            return extractor1.getFloatValue( object1 ) >= extractor2.getFloatValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/IntegerFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -88,10 +88,11 @@
             return context.extractor.getIntValue( object2 ) == ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getIntValue( object1 ) == extractor.getIntValue( object2 );
+            return extractor1.getIntValue( object1 ) == extractor2.getIntValue( object2 );
         }
 
         public String toString() {
@@ -128,10 +129,11 @@
             return context.extractor.getIntValue( object2 ) != ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getIntValue( object1 ) != extractor.getIntValue( object2 );
+            return extractor1.getIntValue( object1 ) != extractor2.getIntValue( object2 );
         }
 
         public String toString() {
@@ -167,10 +169,11 @@
             return context.extractor.getIntValue( right ) < ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getIntValue( object1 ) < extractor.getIntValue( object2 );
+            return extractor1.getIntValue( object1 ) < extractor2.getIntValue( object2 );
         }
 
         public String toString() {
@@ -206,10 +209,11 @@
             return context.extractor.getIntValue( right ) <= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getIntValue( object1 ) <= extractor.getIntValue( object2 );
+            return extractor1.getIntValue( object1 ) <= extractor2.getIntValue( object2 );
         }
 
         public String toString() {
@@ -245,10 +249,11 @@
             return context.extractor.getIntValue( right ) > ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getIntValue( object1 ) > extractor.getIntValue( object2 );
+            return extractor1.getIntValue( object1 ) > extractor2.getIntValue( object2 );
         }
 
         public String toString() {
@@ -284,10 +289,11 @@
             return context.extractor.getIntValue( right ) >= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getIntValue( object1 ) >= extractor.getIntValue( object2 );
+            return extractor1.getIntValue( object1 ) >= extractor2.getIntValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/LongFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -88,10 +88,11 @@
             return ((LongVariableContextEntry) context).left == context.extractor.getLongValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getLongValue( object1 ) == extractor.getLongValue( object2 );
+            return extractor1.getLongValue( object1 ) == extractor2.getLongValue( object2 );
         }
 
         public String toString() {
@@ -127,10 +128,11 @@
             return ((LongVariableContextEntry) context).left != context.extractor.getLongValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getLongValue( object1 ) != extractor.getLongValue( object2 );
+            return extractor1.getLongValue( object1 ) != extractor2.getLongValue( object2 );
         }
 
         public String toString() {
@@ -166,10 +168,11 @@
             return context.extractor.getLongValue( right ) < ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getLongValue( object1 ) < extractor.getLongValue( object2 );
+            return extractor1.getLongValue( object1 ) < extractor2.getLongValue( object2 );
         }
 
         public String toString() {
@@ -205,10 +208,11 @@
             return context.extractor.getLongValue( right ) <= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getLongValue( object1 ) <= extractor.getLongValue( object2 );
+            return extractor1.getLongValue( object1 ) <= extractor2.getLongValue( object2 );
         }
 
         public String toString() {
@@ -244,10 +248,11 @@
             return context.extractor.getLongValue( right ) > ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getLongValue( object1 ) > extractor.getLongValue( object2 );
+            return extractor1.getLongValue( object1 ) > extractor2.getLongValue( object2 );
         }
 
         public String toString() {
@@ -283,10 +288,11 @@
             return context.extractor.getLongValue( right ) >= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getLongValue( object1 ) >= extractor.getLongValue( object2 );
+            return extractor1.getLongValue( object1 ) >= extractor2.getLongValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ObjectFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -118,11 +118,12 @@
             return ((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -176,11 +177,12 @@
             return !((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -220,11 +222,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) < 0;
         }
 
-        public boolean evaluate(final Extractor extractor,
+        public boolean evaluate(final Extractor extractor1,
                                 final Object object1,
+                                final Extractor extractor2,
                                 final Object object2) {
-            final Comparable comp = (Comparable) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) < 0;
+            final Comparable comp = (Comparable) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) < 0;
         }
 
         public String toString() {
@@ -263,11 +266,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) <= 0;
         }
 
-        public boolean evaluate(final Extractor extractor,
+        public boolean evaluate(final Extractor extractor1,
                                 final Object object1,
+                                final Extractor extractor2,
                                 final Object object2) {
-            final Comparable comp = (Comparable) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) <= 0;
+            final Comparable comp = (Comparable) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) <= 0;
         }
 
         public String toString() {
@@ -306,11 +310,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) > 0;
         }
 
-        public boolean evaluate(final Extractor extractor,
+        public boolean evaluate(final Extractor extractor1,
                                 final Object object1,
+                                final Extractor extractor2,
                                 final Object object2) {
-            final Comparable comp = (Comparable) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) > 0;
+            final Comparable comp = (Comparable) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) > 0;
         }
 
         public String toString() {
@@ -349,11 +354,12 @@
             return comp.compareTo( ((ObjectVariableContextEntry) context).left ) >= 0;
         }
 
-        public boolean evaluate(final Extractor extractor,
+        public boolean evaluate(final Extractor extractor1,
                                 final Object object1,
+                                final Extractor extractor2,
                                 final Object object2) {
-            final Comparable comp = (Comparable) extractor.getValue( object1 );
-            return comp.compareTo( extractor.getValue( object2 ) ) >= 0;
+            final Comparable comp = (Comparable) extractor1.getValue( object1 );
+            return comp.compareTo( extractor2.getValue( object2 ) ) >= 0;
         }
 
         public String toString() {
@@ -395,11 +401,12 @@
             return col.contains( value );
         }
 
-        public boolean evaluate(final Extractor extractor,
+        public boolean evaluate(final Extractor extractor1,
                                 final Object object1,
+                                final Extractor extractor2,
                                 final Object object2) {
-            final Object value = extractor.getValue( object2 );
-            final Collection col = (Collection) extractor.getValue( object1 );
+            final Object value = extractor2.getValue( object2 );
+            final Collection col = (Collection) extractor1.getValue( object1 );
             return col.contains( value );
         }
 
@@ -442,11 +449,12 @@
             return !col.contains( value );
         }
 
-        public boolean evaluate(final Extractor extractor,
+        public boolean evaluate(final Extractor extractor1,
                                 final Object object1,
+                                final Extractor extractor2,
                                 final Object object2) {
-            final Object value = extractor.getValue( object2 );
-            final Collection col = (Collection) extractor.getValue( object1 );
+            final Object value = extractor2.getValue( object2 );
+            final Collection col = (Collection) extractor1.getValue( object1 );
             return !col.contains( value );
         }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/ShortFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -88,10 +88,11 @@
             return ((LongVariableContextEntry) context).left == context.extractor.getShortValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getShortValue( object1 ) == extractor.getShortValue( object2 );
+            return extractor1.getShortValue( object1 ) == extractor2.getShortValue( object2 );
         }
 
         public String toString() {
@@ -127,10 +128,11 @@
             return ((LongVariableContextEntry) context).left != context.extractor.getShortValue( right );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getShortValue( object1 ) != extractor.getShortValue( object2 );
+            return extractor1.getShortValue( object1 ) != extractor2.getShortValue( object2 );
         }
 
         public String toString() {
@@ -166,10 +168,11 @@
             return  context.extractor.getShortValue( right ) < ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getShortValue( object1 ) < extractor.getShortValue( object2 );
+            return extractor1.getShortValue( object1 ) < extractor2.getShortValue( object2 );
         }
 
         public String toString() {
@@ -205,10 +208,11 @@
             return  context.extractor.getShortValue( right ) <= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getShortValue( object1 ) <= extractor.getShortValue( object2 );
+            return extractor1.getShortValue( object1 ) <= extractor2.getShortValue( object2 );
         }
 
         public String toString() {
@@ -244,10 +248,11 @@
             return context.extractor.getShortValue( right ) > ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getShortValue( object1 ) > extractor.getShortValue( object2 );
+            return extractor1.getShortValue( object1 ) > extractor2.getShortValue( object2 );
         }
 
         public String toString() {
@@ -283,10 +288,11 @@
             return context.extractor.getShortValue( right ) >= ((LongVariableContextEntry) context).left;
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            return extractor.getShortValue( object1 ) >= extractor.getShortValue( object2 );
+            return extractor1.getShortValue( object1 ) >= extractor2.getShortValue( object2 );
         }
 
         public String toString() {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/evaluators/StringFactory.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -102,11 +102,12 @@
             return ((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 == null;
             }
@@ -160,11 +161,12 @@
             return !((ObjectVariableContextEntry) context).left.equals( value );
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return value2 != null;
             }
@@ -217,11 +219,12 @@
             return value.matches( (String) ((ObjectVariableContextEntry) context).left);
         }
 
-        public boolean evaluate(Extractor extractor,
+        public boolean evaluate(Extractor extractor1,
                                 Object object1,
+                                Extractor extractor2,
                                 Object object2) {
-            final Object value1 = extractor.getValue( object1 );
-            final Object value2 = extractor.getValue( object2 );
+            final Object value1 = extractor1.getValue( object1 );
+            final Object value2 = extractor2.getValue( object2 );
             if ( value1 == null ) {
                 return false;
             }

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	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Evaluator.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -47,9 +47,10 @@
                             Object object1,
                             FieldValue value);
     
-    public boolean evaluate(Extractor extractor,
-                            Object object1,
-                            Object object2);
+    public boolean evaluate(Extractor leftExtractor,
+                            Object left,
+                            Extractor rightExtractor,
+                            Object right);
 
     public boolean evaluateCachedLeft(VariableContextEntry context,
                                       Object object1);

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java	2006-10-27 01:19:10 UTC (rev 7163)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java	2006-10-27 01:56:21 UTC (rev 7164)
@@ -246,8 +246,8 @@
         implements
         ObjectComparator {
 
-        private static final long serialVersionUID = 1835792402650440794L;
-        public static ObjectComparator INSTANCE = new InstanceEquals();
+        private static final long      serialVersionUID = 1835792402650440794L;
+        public static ObjectComparator INSTANCE         = new InstanceEquals();
 
         public static ObjectComparator getInstance() {
             return InstanceEquals.INSTANCE;
@@ -279,8 +279,8 @@
         implements
         ObjectComparator {
 
-        private static final long serialVersionUID = 8004812231695147987L;
-        public static ObjectComparator INSTANCE = new EqualityEquals();
+        private static final long      serialVersionUID = 8004812231695147987L;
+        public static ObjectComparator INSTANCE         = new EqualityEquals();
 
         public static ObjectComparator getInstance() {
             return EqualityEquals.INSTANCE;
@@ -378,6 +378,7 @@
             super();
             this.extractor = extractor;
             this.declaration = declaration;
+            this.evaluator = evaluator;
         }
 
         public Declaration getDeclaration() {
@@ -426,6 +427,10 @@
             this.declaration = indexes[0].declaration;
             this.evaluator = indexes[0].evaluator;
 
+            if ( this.evaluator == null ) {
+                System.out.println( "STOP" );
+            }
+
         }
 
         public int hashCodeOf(final Object object) {
@@ -440,13 +445,14 @@
             return rehash( hashCode );
         }
 
-        public boolean equal(final Object object1,
+        public boolean equal(final Object right,
                              final ReteTuple tuple) {
-            final Object object2 = tuple.get( this.declaration ).getObject();
+            final Object left = tuple.get( this.declaration ).getObject();
 
-            return this.evaluator.evaluate( this.extractor,
-                                            object1,
-                                            object2 );
+            return this.evaluator.evaluate( this.declaration.getExtractor(),
+                                            left,
+                                            this.extractor,
+                                            right );
         }
 
         public boolean equal(final Object object1,
@@ -454,6 +460,7 @@
 
             return this.evaluator.evaluate( this.extractor,
                                             object1,
+                                            this.extractor,
                                             object2 );
         }
 
@@ -461,8 +468,9 @@
                              final ReteTuple tuple2) {
             final Object object1 = tuple1.get( this.declaration ).getObject();
             final Object object2 = tuple2.get( this.declaration ).getObject();
-            return this.evaluator.evaluate( this.extractor,
+            return this.evaluator.evaluate( this.declaration.getExtractor(),
                                             object1,
+                                            this.declaration.getExtractor(),
                                             object2 );
         }
 
@@ -511,16 +519,18 @@
             return rehash( hashCode );
         }
 
-        public boolean equal(final Object object1,
+        public boolean equal(final Object right,
                              final ReteTuple tuple) {
-            Object object12 = tuple.get( this.index0.declaration ).getObject();
-            Object object22 = tuple.get( this.index1.declaration ).getObject();
+            Object left1 = tuple.get( this.index0.declaration ).getObject();
+            Object left2 = tuple.get( this.index1.declaration ).getObject();
 
-            return this.index0.evaluator.evaluate( this.index0.extractor,
-                                                   object1,
-                                                   object12 ) && this.index1.evaluator.evaluate( this.index1.extractor,
-                                                                                                 object1,
-                                                                                                 object22 );
+            return this.index0.evaluator.evaluate( this.index0.declaration.getExtractor(),
+                                                   left1,
+                                                   this.index0.extractor,
+                                                   right ) && this.index1.evaluator.evaluate( this.index1.declaration.getExtractor(),
+                                                                                              left2,
+                                                                                              this.index1.extractor,
+                                                                                              right );
         }
 
         public boolean equal(final ReteTuple tuple1,
@@ -531,10 +541,12 @@
             Object object21 = tuple1.get( this.index1.declaration ).getObject();
             Object object22 = tuple2.get( this.index1.declaration ).getObject();
 
-            return this.index0.evaluator.evaluate( this.index0.extractor,
+            return this.index0.evaluator.evaluate( this.index0.declaration.getExtractor(),
                                                    object11,
-                                                   object12 ) && this.index1.evaluator.evaluate( this.index1.extractor,
+                                                   this.index0.declaration.getExtractor(),
+                                                   object12 ) && this.index1.evaluator.evaluate( this.index1.declaration.getExtractor(),
                                                                                                  object21,
+                                                                                                 this.index1.declaration.getExtractor(),
                                                                                                  object22 );
         }
 
@@ -542,8 +554,10 @@
                              final Object object2) {
             return this.index0.evaluator.evaluate( this.index0.extractor,
                                                    object1,
+                                                   this.index0.extractor,
                                                    object2 ) && this.index1.evaluator.evaluate( this.index1.extractor,
                                                                                                 object1,
+                                                                                                this.index1.extractor,
                                                                                                 object2 );
         }
 
@@ -559,11 +573,11 @@
     public static class TripleCompositeIndex
         implements
         Index {
-        private FieldIndex       index0;
-        private FieldIndex       index1;
-        private FieldIndex       index2;
+        private FieldIndex index0;
+        private FieldIndex index1;
+        private FieldIndex index2;
 
-        private int              startResult;
+        private int        startResult;
 
         public TripleCompositeIndex(final FieldIndex[] indexes,
                                     final int startResult) {
@@ -595,19 +609,22 @@
             return rehash( hashCode );
         }
 
-        public boolean equal(final Object object1,
+        public boolean equal(final Object right,
                              final ReteTuple tuple) {
-            Object object12 = tuple.get( this.index0.declaration ).getObject();
-            Object object22 = tuple.get( this.index1.declaration ).getObject();
-            Object object32 = tuple.get( this.index2.declaration ).getObject();
+            Object left1 = tuple.get( this.index0.declaration ).getObject();
+            Object left2 = tuple.get( this.index1.declaration ).getObject();
+            Object left3 = tuple.get( this.index2.declaration ).getObject();
 
-            return this.index0.evaluator.evaluate( this.index0.extractor,
-                                                   object1,
-                                                   object12 ) && this.index1.evaluator.evaluate( this.index1.extractor,
-                                                                                                 object1,
-                                                                                                 object22 ) && this.index2.evaluator.evaluate( this.index2.extractor,
-                                                                                                                                               object1,
-                                                                                                                                               object32 );
+            return this.index0.evaluator.evaluate( this.index0.declaration.getExtractor(),
+                                                   left1,
+                                                   this.index0.extractor,
+                                                   right ) && this.index1.evaluator.evaluate( this.index1.declaration.getExtractor(),
+                                                                                              left2,
+                                                                                              this.index1.extractor,
+                                                                                              right ) && this.index2.evaluator.evaluate( this.index2.declaration.getExtractor(),
+                                                                                                                                         left3,
+                                                                                                                                         this.index2.extractor,
+                                                                                                                                         right  );
         }
 
         public boolean equal(final ReteTuple tuple1,
@@ -619,12 +636,15 @@
             Object object31 = tuple1.get( this.index2.declaration ).getObject();
             Object object32 = tuple2.get( this.index2.declaration ).getObject();
 
-            return this.index0.evaluator.evaluate( this.index0.extractor,
+            return this.index0.evaluator.evaluate( this.index0.declaration.getExtractor(),
                                                    object11,
-                                                   object12 ) && this.index1.evaluator.evaluate( this.index1.extractor,
+                                                   this.index0.declaration.getExtractor(),
+                                                   object12 ) && this.index1.evaluator.evaluate( this.index1.declaration.getExtractor(),
                                                                                                  object21,
-                                                                                                 object22 ) && this.index2.evaluator.evaluate( this.index2.extractor,
+                                                                                                 this.index1.declaration.getExtractor(),
+                                                                                                 object22 ) && this.index2.evaluator.evaluate( this.index2.declaration.getExtractor(),
                                                                                                                                                object31,
+                                                                                                                                               this.index2.declaration.getExtractor(),
                                                                                                                                                object32 );
         }
 
@@ -632,11 +652,14 @@
                              final Object object2) {
             return this.index0.evaluator.evaluate( this.index0.extractor,
                                                    object1,
+                                                   this.index0.extractor,
                                                    object2 ) && this.index1.evaluator.evaluate( this.index1.extractor,
-                                                                                                 object1,
-                                                                                                 object2 ) && this.index2.evaluator.evaluate( this.index2.extractor,
-                                                                                                                                               object1,
-                                                                                                                                               object2 );
+                                                                                                object1,
+                                                                                                this.index1.extractor,
+                                                                                                object2 ) && this.index2.evaluator.evaluate( this.index2.extractor,
+                                                                                                                                             object1,
+                                                                                                                                             this.index2.extractor,
+                                                                                                                                             object2 );
         }
 
         public int rehash(int h) {




More information about the jboss-svn-commits mailing list