[
https://issues.jboss.org/browse/JBRULES-2751?page=com.atlassian.jira.plug...
]
Geoffrey De Smet updated JBRULES-2751:
--------------------------------------
Fix Version/s: 5.4.0.Beta3
(was: 5.4.0.Beta2)
NullPointerException in DeclarationTypeFixer: An rule compilation
error should give a clear errow warning with an indication of which rule is the culprit
instead of a NPE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: JBRULES-2751
URL:
https://issues.jboss.org/browse/JBRULES-2751
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-compiler (expert)
Affects Versions: 5.1.1.FINAL
Reporter: Geoffrey De Smet
Assignee: Edson Tirelli
Fix For: 5.4.0.Beta3
Update 17-MAY-2011: just verified if it's still a problem in 5.2.0.CR1-SNAPSHOT and
it is.
To reproduce:
- Open org.drools.planner.examples.cloudbalancing.domain.CloudAssignment
- Comment out public int getMinimalCpuPower()
- Run org.drools.planner.examples.app.DroolsPlannerExamplesApp, click button cloud
computing
{code}
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at
org.drools.rule.builder.dialect.java.DeclarationTypeFixer.fix(DeclarationTypeFixer.java:9)
at
org.drools.rule.builder.dialect.java.AbstractJavaRuleBuilder.createVariableContext(AbstractJavaRuleBuilder.java:102)
at
org.drools.rule.builder.dialect.java.JavaAccumulateBuilder.generateFunctionCallCodeTemplate(JavaAccumulateBuilder.java:210)
at
org.drools.rule.builder.dialect.java.JavaAccumulateBuilder.buildExternalFunctionCall(JavaAccumulateBuilder.java:171)
at
org.drools.rule.builder.dialect.java.JavaAccumulateBuilder.build(JavaAccumulateBuilder.java:95)
at
org.drools.rule.builder.dialect.java.JavaAccumulateBuilder.build(JavaAccumulateBuilder.java:62)
at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:262)
at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:66)
at org.drools.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:65)
at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:81)
at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:1615)
at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:692)
at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:298)
at
org.drools.planner.config.AbstractSolverConfig.buildRuleBase(AbstractSolverConfig.java:155)
at
org.drools.planner.config.AbstractSolverConfig.configureAbstractSolver(AbstractSolverConfig.java:130)
at
org.drools.planner.config.localsearch.LocalSearchSolverConfig.buildSolver(LocalSearchSolverConfig.java:101)
at
org.drools.planner.config.localsearch.LocalSearchSolverConfig.buildSolver(LocalSearchSolverConfig.java:33)
at
org.drools.planner.config.XmlSolverConfigurer.buildSolver(XmlSolverConfigurer.java:92)
at
org.drools.planner.examples.cloudbalancing.app.CloudBalancingApp.createSolver(CloudBalancingApp.java:40)
at
org.drools.planner.examples.common.app.CommonApp.createSolutionBusiness(CommonApp.java:56)
at org.drools.planner.examples.common.app.CommonApp.<init>(CommonApp.java:35)
at
org.drools.planner.examples.cloudbalancing.app.CloudBalancingApp.<init>(CloudBalancingApp.java:27)
at
org.drools.planner.examples.app.DroolsPlannerExamplesApp$5.actionPerformed(DroolsPlannerExamplesApp.java:78)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
{code}
CloudAssignment did not have a getter for minimalCpuPower yet.
The compilation error should clearly say that its the rule minimalCpuPowerTotal which has
a problem and that the getter for the field minimalCpuPower wasn't found.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira