Edson - build2589-rev25264-20090214-0603 is the snapshot that I
downloaded and installed. However, I have done a search on the source
and have not been able to locate
MiscTest.testPropertyChangeSupportNewAPI() in the source at all.
Interestingly, the DRL compilation does not crash if I use
@propertyChangeSupport() or @propertyChangeSupport(true) etc. But
otherwise it crashes. It dies in the following code:
public DecisionEngine() {
super();
try {
rulesEngine = new RulesEngine("GlucoseDroolRules00.drl");
//rulesEngine = new RulesEngine("rules_version1.drl");
//rulesEngine = new RulesEngine();
} catch (RulesEngineException e) {
System.out.println("Error in DecisionEngine constructor");
e.printStackTrace();
}
}
public RulesEngine(String rulesFile) throws RulesEngineException {
super();
try {
readDRLintoPackage(rulesFile);
addSpreadsheetToPackage();
} catch (Exception e) {
System.out.println(e);
throw new RulesEngineException("Could not load/compile rules file:
" + rulesFile, e);
}
}
java.lang.NullPointerException
Error in DecisionEngine constructor
drools.engine.RulesEngineException: Could not load/compile rules file:
GlucoseDroolRules00.drl
at drools.engine.RulesEngine.<init>(RulesEngine.java:33)
at drools.engine.DecisionEngine.<init>(DecisionEngine.java:22)
at glucose.tests.AllDroolsRulesTests.setUp(AllDroolsRulesTests.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org
.junit
.internal
.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.java:74)
at
org
.junit
.internal
.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.java:50)
at
org
.junit
.internal
.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:33)
at
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at
org
.eclipse
.jdt
.internal
.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at
org
.eclipse
.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org
.eclipse
.jdt
.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
460)
at
org
.eclipse
.jdt
.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
673)
at
org
.eclipse
.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
386)
at
org
.eclipse
.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
196)
Caused by: java.lang.NullPointerException
at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:
429)
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:394)
at drools.engine.RulesEngine.readDRLintoPackage(RulesEngine.java:54)
at drools.engine.RulesEngine.<init>(RulesEngine.java:29)
... 16 more
If I do put () after the annotation, the DRL file does compile, but I
do NOT get dynamic behavior.
Thanks.
- Mike
Can you provide the error messages your are getting?
Make sure you use at least build #2589, that include the changes.
https://hudson.jboss.org/hudson/job/drools/2589/artifact/trunk/target/
There is a test case for this on
MiscTest.testPropertyChangeSupportNewAPI().
[]s
Edson
Using snapshot from yesterday so presume I have the revision. The
following
DRL file dies a horrible death, being unable to be compiled. If I
comment
out the tags then it works. In the rules editor, the word "declare"
is not
highlighted either. I must be misunderstanding something simple.
package glucose.decision.rules
import glucose.decision.object.GlucoseDecision;
import glucose.decision.object.GlucoseDecisionState;
declare GlucoseDecision
@propertyChangeSupport
end
declare GlucoseDecisionState
@propertyChangeSupport
end