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.