[jboss-jira] [JBoss JIRA] (DROOLS-1181) NullPointerException in LogicTransformer

Sjoerd Cranen (JIRA) issues at jboss.org
Wed May 18 05:57:00 EDT 2016


    [ https://issues.jboss.org/browse/DROOLS-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13239259#comment-13239259 ] 

Sjoerd Cranen commented on DROOLS-1181:
---------------------------------------

This does not seem to be restricted to enum constants; the following gives the same NPE:
{code}
declare TestThing
  value: Integer
end

query TestQuery(Integer val)
  TestThing()
end

query NPEQuery(TestThing thing)
  (
    TestQuery(thing.value;)
  ) or (
    TestQuery(thing.value;)
  )
end
{code}

> NullPointerException in LogicTransformer
> ----------------------------------------
>
>                 Key: DROOLS-1181
>                 URL: https://issues.jboss.org/browse/DROOLS-1181
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 6.4.0.Final
>            Reporter: Sjoerd Cranen
>            Assignee: Mario Fusco
>
> When an enum constant is used in the context of an _or_-operator as a positional argument to a query, a NullPointerException is thrown with the following stack trace:
> {code}
> java.lang.NullPointerException
> 	at org.drools.core.rule.LogicTransformer.processElement(LogicTransformer.java:230)
> 	at org.drools.core.rule.LogicTransformer.processElement(LogicTransformer.java:251)
> 	at org.drools.core.rule.LogicTransformer.fixClonedDeclarations(LogicTransformer.java:154)
> 	at org.drools.core.rule.LogicTransformer.transform(LogicTransformer.java:97)
> 	at org.drools.core.definitions.rule.impl.RuleImpl.getTransformedLhs(RuleImpl.java:620)
> 	at org.drools.core.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:108)
> 	at org.drools.core.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:106)
> 	at org.drools.core.impl.KnowledgeBaseImpl.addRule(KnowledgeBaseImpl.java:1567)
> 	at org.drools.core.impl.KnowledgeBaseImpl.addRule(KnowledgeBaseImpl.java:1547)
> 	at org.drools.core.impl.KnowledgeBaseImpl.internalAddPackages(KnowledgeBaseImpl.java:920)
> 	at org.drools.core.impl.KnowledgeBaseImpl.access$000(KnowledgeBaseImpl.java:117)
> 	at org.drools.core.impl.KnowledgeBaseImpl$1.run(KnowledgeBaseImpl.java:708)
> 	at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:716)
> 	at org.drools.core.impl.KnowledgeBaseImpl.addPackages(KnowledgeBaseImpl.java:705)
> 	at org.drools.core.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:273)
> 	at org.drools.compiler.kie.builder.impl.KieContainerImpl.createKieBase(KieContainerImpl.java:510)
> 	at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:447)
> ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list