[rules-users] Drools bug ?? (3.0.6)
Anstis, Michael (M.)
manstis1 at ford.com
Wed May 9 07:43:20 EDT 2007
The NPE appears to be thrown within a rule compiled in the RETE network.
Does $alarmTime.getTime() return null at the time facts are asserted?
The call to getTime() will be made when facts are asserted but the RHS
will not be called until you FireAllRules().
If you initialise the objects between assertion and firing the rules a
NPE can occur.
Cheers,
Mike
-----Original Message-----
From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of seeker
Sent: 09 May 2007 11:45
To: rules-users at lists.jboss.org
Subject: [rules-users] Drools bug ?? (3.0.6)
I use Drools 3.0.6 and I get some NullPointerException when creating my
facts:
Exception in thread "main" org.drools.RuntimeDroolsException:
java.lang.NullPointerException
at org.drools.rule.EvalCondition.isAllowed(Unknown Source)
at org.drools.reteoo.EvalConditionNode.assertTuple(Unknown
Source)
at org.drools.reteoo.TupleSource.propagateAssertTuple(Unknown
Source)
at org.drools.reteoo.JoinNode.assertObject(Unknown Source)
at org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown
Source)
at org.drools.reteoo.AlphaNode.assertObject(Unknown Source)
at org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown
Source)
at org.drools.reteoo.ObjectTypeNode.assertObject(Unknown Source)
at org.drools.reteoo.Rete.assertObject(Unknown Source)
at org.drools.reteoo.ReteooRuleBase.assertObject(Unknown Source)
at org.drools.reteoo.ReteooWorkingMemory.doAssertObject(Unknown
Source)
at org.drools.common.AbstractWorkingMemory.assertObject(Unknown
Source)
at org.drools.common.AbstractWorkingMemory.assertObject(Unknown
Source)
...
Caused by: java.lang.NullPointerException
at
org.sercho.shem.rules.Rule_Zeittest_0.eval0(Rule_Zeittest_0.java:25)
at
org.sercho.shem.rules.Rule_Zeittest_0Eval0Invoker.evaluate(Rule_Zeittest
_0Eval0Invoker.java:19)
... 21 more
The rule that is causing this goes like this:
rule "Zeittest"
when
room : Room ( )
uhr : AlarmClock( applianceStateResource ==
ApplianceStateEnum.on,
location == room, $alarmTime : alarmTime )
eval( $alarmTime.getHours() > 10 )
then
...
If I omit the eval, ths error will not occur (and I can access
$alarmTime.getHours() in RHS)
I wonder if I do something wrong or if it is a Drools bug.
Any hints ?
--
View this message in context:
http://www.nabble.com/Drools-bug----%283.0.6%29-tf3715030.html#a10392045
Sent from the drools - user mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
More information about the rules-users
mailing list