[jboss-svn-commits] JBL Code SVN: r5964 - in labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools: base reteoo
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Aug 23 12:23:26 EDT 2006
Author: mark.proctor at jboss.com
Date: 2006-08-23 12:23:23 -0400 (Wed, 23 Aug 2006)
New Revision: 5964
Modified:
labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/base/DroolsQuery.java
labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
Log:
JBRULES-410 More than one Query definition causes an incorrect Rete network to be built
-The attachQuery method now correctly uses attachNode.
-DroolsQuery now implements hashcode and equals methods.
Modified: labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/base/DroolsQuery.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/base/DroolsQuery.java 2006-08-23 15:16:11 UTC (rev 5963)
+++ labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/base/DroolsQuery.java 2006-08-23 16:23:23 UTC (rev 5964)
@@ -28,4 +28,23 @@
return this.name;
}
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ((name == null) ? 0 : name.hashCode());
+ return result;
+ }
+
+ public boolean equals(Object object) {
+ if (this == object) {
+ return true;
+ }
+
+ if (object == null || getClass() != object.getClass()) {
+ return false;
+ }
+
+ final DroolsQuery other = (DroolsQuery) object;
+ return name.equals(other.name);
+ }
}
\ No newline at end of file
Modified: labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2006-08-23 15:16:11 UTC (rev 5963)
+++ labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2006-08-23 16:23:23 UTC (rev 5964)
@@ -334,13 +334,20 @@
// incrementing offset adjustment, since we are adding a new ObjectNodeType as our
// first column
this.currentOffsetAdjustment += 1;
- final ClassObjectType queryObjectType = new ClassObjectType( DroolsQuery.class );
- final ObjectTypeNode queryObjectTypeNode = new ObjectTypeNode( this.id++,
- this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
- queryObjectType,
- this.rete );
- queryObjectTypeNode.attach();
+ // final ObjectSource objectSource = attachNode( new ObjectTypeNode( this.id++,
+ // this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
+ // new ClassObjectType( InitialFact.class ),
+ // this.rete ) );
+ //
+ // this.tupleSource = attachNode( new LeftInputAdapterNode( this.id++,
+ // objectSource ) );
+
+ final ObjectSource objectTypeSource = attachNode( new ObjectTypeNode( this.id++,
+ this.sinklistFactory.newObjectSinkList( ObjectTypeNode.class ),
+ new ClassObjectType( DroolsQuery.class ),
+ this.rete ) );
+
final ClassFieldExtractor extractor = new ClassFieldExtractor( DroolsQuery.class,
"name" );
@@ -353,17 +360,13 @@
extractor,
evaluator );
- final AlphaNode alphaNode = new AlphaNode( this.id++,
- this.sinklistFactory.newObjectSinkList( AlphaNode.class ),
- constraint,
- queryObjectTypeNode );
- alphaNode.attach();
+ final ObjectSource alphaNodeSource = attachNode( new AlphaNode( this.id++,
+ this.sinklistFactory.newObjectSinkList( AlphaNode.class ),
+ constraint,
+ objectTypeSource ) );
- final LeftInputAdapterNode liaNode = new LeftInputAdapterNode( this.id++,
- alphaNode );
- liaNode.attach();
-
- this.tupleSource = liaNode;
+ this.tupleSource = attachNode( new LeftInputAdapterNode( this.id++,
+ alphaNodeSource ) );
}
private BetaNodeBinder attachColumn(final Column column,
More information about the jboss-svn-commits
mailing list