[jboss-svn-commits] JBL Code SVN: r7155 - in labs/jbossrules/trunk/drools-core/src: main/java/org/drools/base main/java/org/drools/base/extractors main/java/org/drools/common main/java/org/drools/facttemplates main/java/org/drools/rule main/java/org/drools/spi main/java/org/drools/util test/java/org/drools/reteoo
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 26 19:14:09 EDT 2006
Author: tirelli
Date: 2006-10-26 19:13:49 -0400 (Thu, 26 Oct 2006)
New Revision: 7155
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseBooleanClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseByteClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseCharClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseDoubleClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseFloatClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseIntClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseLongClassFieldExtractors.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseObjectClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseShortClassFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EqualityAssertMapComparator.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateFieldExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Extractor.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
Log:
JBRULES-527: adding primitive support for hashcode calculation on indexing
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -144,4 +144,8 @@
public Method getNativeReadMethod() {
return this.extractor.getNativeReadMethod();
}
+
+ public int getHashCode(Object object) {
+ return this.extractor.getHashCode( object );
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseBooleanClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseBooleanClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseBooleanClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -78,5 +78,9 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ return getBooleanValue( object ) ? 1231 : 1237;
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseByteClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseByteClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseByteClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -79,4 +79,7 @@
}
}
+ public int getHashCode(Object object) {
+ return getByteValue( object );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseCharClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseCharClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseCharClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -56,4 +56,8 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ return getCharValue( object );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseDoubleClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseDoubleClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseDoubleClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -57,4 +57,10 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ long temp = Double.doubleToLongBits( getDoubleValue( object ) );
+ return (int) ( temp ^ ( temp >>> 32) );
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseFloatClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseFloatClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseFloatClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -57,4 +57,9 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ return Float.floatToIntBits( getFloatValue( object ) );
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseIntClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseIntClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseIntClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -57,4 +57,8 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ return getIntValue( object );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseLongClassFieldExtractors.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseLongClassFieldExtractors.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseLongClassFieldExtractors.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -57,4 +57,10 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ long temp = getLongValue( object );
+ return (int) ( temp ^ ( temp >>> 32 ));
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseObjectClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseObjectClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseObjectClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -104,4 +104,9 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ return getValue( object ).hashCode();
+ }
+
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseShortClassFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseShortClassFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/extractors/BaseShortClassFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -57,4 +57,8 @@
throw new RuntimeDroolsException("This is a bug. Please report to development team: "+e.getMessage(), e);
}
}
+
+ public int getHashCode(Object object) {
+ return getShortValue( object );
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EqualityAssertMapComparator.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EqualityAssertMapComparator.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EqualityAssertMapComparator.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -71,6 +71,6 @@
}
public String toString() {
- return "identity";
+ return "equality";
}
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateFieldExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateFieldExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/facttemplates/FactTemplateFieldExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -76,4 +76,7 @@
}
}
+ public int getHashCode(Object object) {
+ return getValue( object ).hashCode();
+ }
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Declaration.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -188,6 +188,9 @@
return this.extractor.getBooleanValue( object );
}
+ public int getHashCode(Object object) {
+ return this.extractor.getHashCode( object );
+ }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public String toString() {
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/ColumnExtractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -124,4 +124,7 @@
}
}
+ public int getHashCode(Object object) {
+ return getValue( object ).hashCode();
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Extractor.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Extractor.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/spi/Extractor.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -48,5 +48,7 @@
public Class getExtractToClass();
public Method getNativeReadMethod();
+
+ public int getHashCode(Object object);
}
\ No newline at end of file
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-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -415,15 +415,13 @@
public int hashCodeOf(final Object object) {
int hashCode = this.startResult;
- final Object value = this.extractor.getValue( object );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.extractor.getHashCode( object );
return this.comparator.rehash( hashCode );
}
public int hashCodeOf(final ReteTuple tuple) {
int hashCode = this.startResult;
- final Object value = this.declaration.getValue( tuple.get( this.declaration ).getObject() );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.declaration.getHashCode( tuple.get( this.declaration ).getObject() );
return this.comparator.rehash( hashCode );
}
@@ -479,11 +477,11 @@
public int hashCodeOf(final Object object) {
int hashCode = this.startResult;
- Object value = this.index0.extractor.getValue( object );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ int hash = this.index0.extractor.getHashCode( object );
+ hashCode = TupleIndexHashTable.PRIME * hashCode + hash;
- value = this.index1.extractor.getValue( object );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hash = this.index1.extractor.getHashCode( object );
+ hashCode = TupleIndexHashTable.PRIME * hashCode + hash;
return this.comparator.rehash( hashCode );
}
@@ -491,11 +489,9 @@
public int hashCodeOf(final ReteTuple tuple) {
int hashCode = this.startResult;
- Object value = this.index0.declaration.getValue( tuple.get( this.index0.declaration ).getObject() );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.declaration.getHashCode( tuple.get( this.index0.declaration ).getObject() );
- value = this.index1.declaration.getValue( tuple.get( this.index1.declaration ).getObject() );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.declaration.getHashCode( tuple.get( this.index1.declaration ).getObject() );
return this.comparator.rehash( hashCode );
}
@@ -590,30 +586,20 @@
public int hashCodeOf(final Object object) {
int hashCode = this.startResult;
- Object value = this.index0.extractor.getValue( object );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.extractor.getHashCode( object );;
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.extractor.getHashCode( object );;
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index2.extractor.getHashCode( object );;
- value = this.index1.extractor.getValue( object );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
-
- value = this.index2.extractor.getValue( object );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
-
return this.comparator.rehash( hashCode );
}
public int hashCodeOf(final ReteTuple tuple) {
int hashCode = this.startResult;
- Object value = this.index0.declaration.getValue( tuple.get( this.index0.declaration ).getObject() );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index0.declaration.getHashCode( tuple.get( this.index0.declaration ).getObject() );
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index1.declaration.getHashCode( tuple.get( this.index1.declaration ).getObject() );
+ hashCode = TupleIndexHashTable.PRIME * hashCode + this.index2.declaration.getHashCode( tuple.get( this.index2.declaration ).getObject() );
- value = this.index1.declaration.getValue( tuple.get( this.index1.declaration ).getObject() );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
-
- value = this.index2.declaration.getValue( tuple.get( this.index2.declaration ).getObject() );
- hashCode += TupleIndexHashTable.PRIME * hashCode + ((value == null) ? 0 : value.hashCode());
-
return this.comparator.rehash( hashCode );
}
Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java 2006-10-26 21:29:41 UTC (rev 7154)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/CompositeObjectSinkAdapterTest.java 2006-10-26 23:13:49 UTC (rev 7155)
@@ -244,6 +244,10 @@
// Auto-generated method stub
return null;
}
+
+ public int getHashCode(Object object) {
+ return 0;
+ }
}
More information about the jboss-svn-commits
mailing list