Details
-
Bug
-
Resolution: Done
-
Major
-
4.0.0.MR3
-
None
Description
I get the following exception while removing a rule package from the RuleBase.
java.lang.NullPointerException
at org.drools.reteoo.CompositeObjectSinkAdapter.removeObjectSink(CompositeObjectSinkAdapter.java:125)
at org.drools.reteoo.ObjectSource.removeObjectSink(ObjectSource.java:123)
at org.drools.reteoo.ObjectTypeNode.removeObjectSink(ObjectTypeNode.java:297)
at org.drools.reteoo.ObjectTypeNode.remove(ObjectTypeNode.java:232)
at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:187)
at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:187)
at org.drools.reteoo.BetaNode.remove(BetaNode.java:185)
at org.drools.reteoo.BetaNode.remove(BetaNode.java:187)
at org.drools.reteoo.RuleTerminalNode.remove(RuleTerminalNode.java:439)
at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:135)
at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:259)
at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java:408)
....
----------------------------------
A sample of the drl files:
package rule2392016206
import com.servlets.Record;
import com.servlets.Field;
import com.servlets.rules.RulesTrigger;
rule "Property damage"
when
rulesTrigger: RulesTrigger(clientID == 123, triggerType == 2)
record: Record(IDList contains "123")
(Field (ID == 123, dateValue >= "04-Jul-2000") and Field (ID == 456, fieldValue > 10) )
then
rulesTrigger.sendEmail(2392016206L, record);
end
--------------------------
The NullPointerException occurs when I execute the following code.
ruleBase.removePackage("rule2392016206");
Before removing the package, I am iterating through all the packages in the ruleBase and I can see this package name in the list.
I did not see this exception in 3.0.6.