[
http://jira.jboss.com/jira/browse/JBRULES-759?page=all ]
Edson Tirelli resolved JBRULES-759.
-----------------------------------
Fix Version/s: 3.0.7
3.1-m2
(was: 3.0.5)
Resolution: Done
Fixed the problem in trunk in revision #11157.
Created a tag before commiting:
https://svn.labs.jboss.org/labs/jbossrules/tags/3.1_before_removing_attac...
Problem in trunk was that the attached nodes cache was becoming corrupt after removal of
packages and was never fixed. Removed the cache as the search for shared nodes can be
easily and efficiently done based on the context during network building.
Thank you for reporting and let us know plz, if you find any other problem.
CLONE -Unable to add package after it was added and removed
-----------------------------------------------------------
Key: JBRULES-759
URL:
http://jira.jboss.com/jira/browse/JBRULES-759
Project: JBoss Rules
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Reteoo
Affects Versions: 3.0.4
Environment: Windows2000 Advanced Server
JBRules3.0.4
Reporter: Brugger Antony
Assigned To: Edson Tirelli
Fix For: 3.0.7, 3.1-m2
Unable remove a rule package when it was added after it has been added and removed.
I have seen the issue [#JBRULES-358]. My test go a little far than [#JBRULES-358].
I remove the package again when it was added for the seconn time, then an exception was
thrown.
My test case is:
public void testRuleBaseRemove() throws Exception
{
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
File file = new File("test.drl");
//add and remove
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl(new FileReader(file));
Package pkg = builder.getPackage();
ruleBase.addPackage(pkg);
ruleBase.removePackage(pkg.getName());
//add and remove again
builder = new PackageBuilder();
builder.addPackageFromDrl(new FileReader(file));
pkg = builder.getPackage();
ruleBase.addPackage(pkg);
ruleBase.removePackage(pkg.getName());
}
the exception is throw:
java.lang.NullPointerException
at org.drools.reteoo.HashedObjectSinkList.remove(HashedObjectSinkList.java:102)
at org.drools.reteoo.ObjectTypeNode.remove(ObjectTypeNode.java:245)
at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:211)
at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:211)
at org.drools.reteoo.LeftInputAdapterNode.remove(LeftInputAdapterNode.java:285)
at org.drools.reteoo.TerminalNode.remove(TerminalNode.java:297)
at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:589)
at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:244)
at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java:338)
at
com.zte.ums.uep.pal.fm.osf.rules.core.RuleBaseTest.testRuleBaseRemove(RuleBaseTest.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira