[jboss-jira] [JBoss JIRA] (DROOLS-1064) Drools compiler throws NPE

Tomi Pakarinen (JIRA) issues at jboss.org
Tue Feb 16 09:42:00 EST 2016


     [ https://issues.jboss.org/browse/DROOLS-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomi Pakarinen updated DROOLS-1064:
-----------------------------------
    Steps to Reproduce: 
{code:java}
package test;

declare Parameter
end

rule "test"
when
    Parameter($b : $b == 0 )
then
  //
end
{code}


  was:

{code:java}
package test;

declare Parameter
   id : String
   value : Integer
end

rule "test"
when
    Parameter(id == "a", $a : value, $a == 0) and
    Parameter(id == "c", $c : value, $c == 2) and
    (
        (
            Parameter(id == "c", $c2 : value, $c2 == 0)
        ) or (
            Parameter(id == "b", $b : $a + $b == 2 || ( $a == 2 && $b == 2))
        )
    )
then
  //
end
{code}




> Drools compiler throws NPE
> --------------------------
>
>                 Key: DROOLS-1064
>                 URL: https://issues.jboss.org/browse/DROOLS-1064
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 6.4.0.Beta1
>            Reporter: Tomi Pakarinen
>            Assignee: Mario Fusco
>
> Following rule throws NPE.
> {noformat}
> Exception in thread "main" java.lang.NullPointerException
> 	at org.drools.core.rule.Declaration.getValueType(Declaration.java:206)
> 	at org.drools.compiler.rule.builder.PatternBuilder.isDateType(PatternBuilder.java:976)
> 	at org.drools.compiler.rule.builder.PatternBuilder.normalizeExpression(PatternBuilder.java:954)
> 	at org.drools.compiler.rule.builder.PatternBuilder.rewriteCompositeExpressions(PatternBuilder.java:931)
> 	at org.drools.compiler.rule.builder.PatternBuilder.rewriteCompositeExpressions(PatternBuilder.java:937)
> 	at org.drools.compiler.rule.builder.PatternBuilder.rewriteOrExpressions(PatternBuilder.java:911)
> 	at org.drools.compiler.rule.builder.PatternBuilder.buildExpression(PatternBuilder.java:907)
> 	at org.drools.compiler.rule.builder.PatternBuilder.buildCcdDescr(PatternBuilder.java:878)
> 	at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:725)
> 	at org.drools.compiler.rule.builder.PatternBuilder.processConstraintsAndBinds(PatternBuilder.java:585)
> 	at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:183)
> 	at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:147)
> 	at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:128)
> 	at org.drools.compiler.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:63)
> 	at org.drools.compiler.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:36)
> 	at org.drools.compiler.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:63)
> 	at org.drools.compiler.rule.builder.RuleBuilder.build(RuleBuilder.java:97)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addRule(KnowledgeBuilderImpl.java:1820)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileRules(KnowledgeBuilderImpl.java:1111)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileAllRules(KnowledgeBuilderImpl.java:989)
> 	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildRules(CompositeKnowledgeBuilderImpl.java:257)
> 	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:121)
> 	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:105)
> 	at org.drools.compiler.kie.builder.impl.AbstractKieModule.buildKnowledgePackages(AbstractKieModule.java:241)
> 	at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:64)
> 	at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:230)
> 	at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:198)
> 	at test.Application.createKieSession(Application.java:108)
> 	at test.Application.main(Application.java:73)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:497)
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> {noformat}



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


More information about the jboss-jira mailing list