[rules-users] Bug in "enabled" rule attribute???
bdolbeare
bdolbeare at yahoo.com
Tue Aug 7 13:29:13 EDT 2012
The following DRL produces a Null Pointer Exception when the "enabled"
attribute is set to false on "test rule 2". Any ideas why? Changing this
value to true or commenting out the rule causes things to succeed.
Environment: Java 7 and Drools 5.4
package tests
import org.apache.log4j.Logger;
import java.util.List;
global Logger log
declare Data
name : String
end
rule "insert Data"
when
then
insert(new Data("test"));
end
rule "test rule 2"
enabled false
when
d : List() from collect (Data( name == "test") )
then
log.info(String.format("%s hit on %s", kcontext.getRule().getName(), d));
end
Exception executing consequence for rule "insert Data" in tests:
java.lang.NullPointerException
at
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1283)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1209)
at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1442)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
at
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230)
at
org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:278)
at tests.DroolsTest.testStateless(DroolsTest.java:98)
at tests.DroolsTest.runTest(DroolsTest.java:60)
at tests.DroolsTest.main(DroolsTest.java:45)
Caused by: java.lang.NullPointerException
at org.drools.common.DefaultAgenda.createActivation(DefaultAgenda.java:569)
at
org.drools.reteoo.RuleTerminalNode.modifyLeftTuple(RuleTerminalNode.java:297)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateModifyChildLeftTuple(SingleLeftTupleSinkAdapter.java:259)
at
org.drools.reteoo.AccumulateNode.evaluateResultConstraints(AccumulateNode.java:676)
at
org.drools.reteoo.ReteooWorkingMemory$EvaluateResultConstraints.execute(ReteooWorkingMemory.java:591)
at
org.drools.common.PropagationContextImpl.evaluateActionQueue(PropagationContextImpl.java:345)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:342)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)
at
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:187)
at
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:181)
at
tests.Rule_insert_Data_2eb7a40b15e640d6bc777e1075d1218b.defaultConsequence(Rule_insert_Data_2eb7a40b15e640d6bc777e1075d1218b.java:7)
at
tests.Rule_insert_Data_2eb7a40b15e640d6bc777e1075d1218bDefaultConsequenceInvokerGenerated.evaluate(Unknown
Source)
at
tests.Rule_insert_Data_2eb7a40b15e640d6bc777e1075d1218bDefaultConsequenceInvoker.evaluate(Unknown
Source)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1273)
--
View this message in context: http://drools.46999.n3.nabble.com/Bug-in-enabled-rule-attribute-tp4019049.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list