[jboss-jira] [JBoss JIRA] Closed: (JBRULES-1311) NPE when compiling rule consequences

Edson Tirelli (JIRA) jira-events at lists.jboss.org
Wed Oct 31 13:17:44 EDT 2007


     [ http://jira.jboss.com/jira/browse/JBRULES-1311?page=all ]

Edson Tirelli closed JBRULES-1311.
----------------------------------

    Fix Version/s: 4.0.4
       Resolution: Done

Fixed.

> NPE when compiling rule consequences
> ------------------------------------
>
>                 Key: JBRULES-1311
>                 URL: http://jira.jboss.com/jira/browse/JBRULES-1311
>             Project: JBoss Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Rule Assemply/SPI, Drl Parser/Builder
>    Affects Versions:  4.0.0.GA, 4.0.1, 4.0.2, 4.0.3
>            Reporter: Edson Tirelli
>         Assigned To: Edson Tirelli
>             Fix For: 4.0.4, 4.1.0
>
>
> I have the following code: (note String[] ruleFiles contains only one string)
>  
> public class Engine {
>     private static RuleBase ruleBase;
>  
>     public void start(String[] ruleFiles) throws Exception {
>         PackageBuilderConfiguration cfg = new PackageBuilderConfiguration();
>         JavaDialectConfiguration javaConf = (JavaDialectConfiguration) cfg.getDialectConfiguration("java");
>         javaConf.setCompiler(JavaDialectConfiguration.ECLIPSE);
>         PackageBuilder builder = new PackageBuilder(cfg);
>         for (String file : ruleFiles) {
>             builder.addPackageFromDrl(new InputStreamReader(ClassLoader.getSystemResourceAsStream(file)));
>         }
>         Package pkg = builder.getPackage();
>  
>         PackageBuilderErrors errors = builder.getErrors();
>         if (errors.getErrors().length != 0) {
>             // do something
>         }
>  
>         RuleBaseConfiguration conf = new RuleBaseConfiguration();
>         conf.setAssertBehaviour(RuleBaseConfiguration.AssertBehaviour.EQUALITY);
>  
>         ruleBase = RuleBaseFactory.newRuleBase();
>         ruleBase.addPackage(pkg);
>         ruleBase.newStatefulSession(false);
>  
>     }
> }
>  
> At the builder.addPackageFromDrl(new InputStreamReader(ClassLoader.getSystemResourceAsStream(file))); line I'm getting the following exception:
> java.lang.NullPointerException
>             at org.drools.rule.builder.dialect.java.JavaConsequenceBuilder.build(JavaConsequenceBuilder.java:54)
>             at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:67)
>             at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:446)
>             at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:304)
>             at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:167)
>             at myPackage.rivoli.service.rules.Engine.start(Engine.java:33)
>             at myPackage.rivoli.rules.LeaderKingAndHeirTest.setUp(LeaderKingAndHeirTest.java:26)
>             at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
>             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>             at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>             at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>             at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
>  
> I am using Drools 4.0.3
> I have the following jars in my class path:
> antlr-runtime-3.0.jar
> core-3.2.3.v_686_R32x.jar
> drools-compiler-4.0.3.jar
> drools-core-4.0.3.jar
> mvel14-1.2.10.jar
>  
> Any ideas would be helpful. Thanks.
>  
> rule "leaders in same location"
> salience 10
> when
>     $result : RuleResult(rulesPassed not contains "leaders in same location")
>     $loc : LocationImpl()
>     $leaderName : String()
>     $leader1 : LeaderImpl(name == $leaderName, location == $loc)
>     $leader2 : LeaderImpl(name != $leaderName, this != $leader1, location == $loc)
> then
>     $result.addPassedRule(leaders in same location);
>     update($result);
> end

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list