[rules-users] Drools 5.0 -> 5.2 Migration Issue

Steven Waldren swaldren at openhealthdata.com
Tue Jun 28 17:35:33 EDT 2011


I am working to migrate my project from 5.0 to 5.2.0 Final.  I am getting an error that I cannot figure out how to fix.

I get the error stack trace below my email signature.  The only thing the consequence does is insert an object.  This rule worked well in 5.0, and some of the early 5.2.0-snapshot builds.  When I comment out the rule, I get the same error for a similar rule.

The rule:

rule "ccr - Person"
	when
		ActorType.Person($g:gender != null)
	then
		insert($g);
end

The documentation does not say this is an incorrect syntax. Any help would be appreciated.

Best,
Steven
--
Steven E. Waldren, MD MS
Co-founder, Open Health Data
swaldren at openhealthdata.com


validateTest(org.openhealthdata.validator.ValidatorManagerTest)  Time elapsed: 11.699 sec  <<< ERROR!
org.drools.runtime.rule.ConsequenceException: rule: ccr - Person

	at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:916)
	at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:845)
	at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1056)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:733)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:699)
	at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
	at org.openhealthdata.validator.ValidationManager.validate(ValidationManager.java:158)
	at org.openhealthdata.validator.ValidationManager.validate(ValidationManager.java:108)
	at org.openhealthdata.validator.ValidatorManagerTest.validateTest(ValidatorManagerTest.java:26)
	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:597)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
	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:597)
	at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
	at $Proxy0.invoke(Unknown Source)
	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
Caused by: org.drools.RuntimeDroolsException: Exception executing predicate 
	at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:298)
	at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:130)
	at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:450)
	at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:378)
	at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:134)
	at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
	at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:134)
	at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:450)
	at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:378)
	at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:134)
	at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:450)
	at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:378)
	at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:193)
	at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:191)
	at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:332)
	at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:293)
	at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:905)
	at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:119)
	at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:113)
	at org.astm.ccr.rules.core.Rule_ccr___Person_0.defaultConsequence(Rule_ccr___Person_0.java:7)
	at org.astm.ccr.rules.core.Rule_ccr___Person_0DefaultConsequenceInvoker.evaluate(Rule_ccr___Person_0DefaultConsequenceInvoker.java:27)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:906)
	... 37 more
Caused by: java.lang.NullPointerException
	at org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:104)
	at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:291)
	... 58 more

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110628/c10ba25e/attachment.html 


More information about the rules-users mailing list