[jboss-svn-commits] JBL Code SVN: r5064 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools drools-compiler/src/test/java/org/drools/integrationtests drools-compiler/src/test/resources/org/drools/integrationtests drools-core/src/main/java/org/drools/reteoo drools-core/src/main/java/org/drools/rule
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 12 21:01:47 EDT 2006
Author: tirelli
Date: 2006-07-12 21:01:31 -0400 (Wed, 12 Jul 2006)
New Revision: 5064
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/AssertedObject.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Precondition.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_RemovePackage.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java
Log:
Fixing JBRULES-358:
* Fixing sharing counter for shared nodes on ReteooBuilder
* Fixing NPE on equals() for Rule class
* Added test case
Copied: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/AssertedObject.java (from rev 5063, labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/AssertedObject.java)
Copied: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Precondition.java (from rev 5063, labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/Precondition.java)
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-07-13 00:55:31 UTC (rev 5063)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-07-13 01:01:31 UTC (rev 5064)
@@ -39,9 +39,11 @@
import org.drools.Cheesery;
import org.drools.FactHandle;
//import org.drools.IndexedNumber;
+import org.drools.AssertedObject;
import org.drools.IndexedNumber;
import org.drools.Person;
import org.drools.PersonInterface;
+import org.drools.Precondition;
import org.drools.QueryResults;
import org.drools.RuleBase;
import org.drools.Sensor;
@@ -2526,5 +2528,31 @@
Assert.assertEquals( "Fact is out of order", i, n.getIndex() );
}
}
+
+ public void testRemovePackage() {
+ try {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RemovePackage.drl" ) ) );
+
+ final RuleBase ruleBase = getRuleBase();
+ String packageName=builder.getPackage().getName();
+ ruleBase.addPackage( builder.getPackage() );
+
+ final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+
+ workingMemory.assertObject( new Precondition("genericcode","genericvalue"));
+ workingMemory.fireAllRules();
+
+ RuleBase ruleBaseWM=workingMemory.getRuleBase();
+ ruleBaseWM.removePackage(packageName);
+ final PackageBuilder builder1 = new PackageBuilder();
+ builder1.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_RemovePackage.drl" ) ) );
+ ruleBaseWM.addPackage(builder1.getPackage());
+ workingMemory.fireAllRules();
+ } catch ( Exception e ) {
+ Assert.fail( "Removing packages should not throw any exception: "+e.getMessage() );
+ }
+ }
+
}
Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_RemovePackage.drl (from rev 5063, labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_RemovePackage.drl)
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2006-07-13 00:55:31 UTC (rev 5063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ReteooBuilder.java 2006-07-13 01:01:31 UTC (rev 5064)
@@ -567,6 +567,7 @@
node = candidate;
} else {
+ node.addShare();
this.id--;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java 2006-07-13 00:55:31 UTC (rev 5063)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/Rule.java 2006-07-13 01:01:31 UTC (rev 5064)
@@ -432,7 +432,12 @@
final Rule other = (Rule) object;
- return (this.name.equals( other.name ) && this.agendaGroup.equals( other.agendaGroup ) && this.ActivationGroup.equals( other.ActivationGroup ) && this.salience == other.salience && this.noLoop == other.noLoop);
+ return (this.name.equals( other.name ) &&
+ this.agendaGroup.equals( other.agendaGroup ) &&
+ (( this.ActivationGroup == null && other.ActivationGroup == null) ||
+ ( this.ActivationGroup != null && this.ActivationGroup.equals( other.ActivationGroup ))) &&
+ this.salience == other.salience &&
+ this.noLoop == other.noLoop);
}
public int hashCode() {
More information about the jboss-svn-commits
mailing list