[jboss-jira] [JBoss JIRA] (DROOLS-561) Having a shared Query Node as last node of a segment causes a NPE
Mario Fusco (JIRA)
issues at jboss.org
Wed Jul 23 11:53:29 EDT 2014
Mario Fusco created DROOLS-561:
----------------------------------
Summary: Having a shared Query Node as last node of a segment causes a NPE
Key: DROOLS-561
URL: https://issues.jboss.org/browse/DROOLS-561
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Mario Fusco
Assignee: Mark Proctor
Having a shared Query Node as last node of a segment causes a NPE as in the following test case
{code}
@Test
public void testSharedQueryNode() throws Exception {
String drl =
"query find( Integer $i, String $s )\n" +
" $i := Integer( toString() == $s )\n" +
"end\n" +
"\n" +
"rule R2 salience -1 when\n" +
" $s : String()\n" +
" ?find( i, $s; )\n" +
"then\n" +
"end\n" +
"rule R1 when\n" +
" $s : String()\n" +
" ?find( i, $s; )\n" +
" $i : Integer( this == 1 ) from i\n" +
"then\n" +
" delete( $s );\n" +
"end\n";
KieHelper helper = new KieHelper();
helper.addContent( drl, ResourceType.DRL );
KieSession ksession = helper.build().newKieSession();
ksession.insert("1");
ksession.insert(1);
ksession.fireAllRules();
}
{code}
causes a NullPointerException like:
java.lang.NullPointerException
at org.drools.core.common.LeftTupleSetsImpl.removeInsert(LeftTupleSetsImpl.java:136)
at org.drools.core.phreak.RuleNetworkEvaluator.deleteLeftChild(RuleNetworkEvaluator.java:754)
at org.drools.core.phreak.PhreakQueryNode.doLeftDeletes(PhreakQueryNode.java:175)
at org.drools.core.phreak.PhreakQueryNode.doNode(PhreakQueryNode.java:31)
at org.drools.core.phreak.RuleNetworkEvaluator.evalQueryNode(RuleNetworkEvaluator.java:464)
at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:353)
at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161)
at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116)
at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:216)
at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:91)
at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:964)
at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1234)
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
More information about the jboss-jira
mailing list