You are probably asserting an AlarmClock fact whose alarmTime field is set to null.

   It is easy to check if that is the case. Change your constraints to:

uhr : AlarmClock( applianceStateResource == ApplianceStateEnum.on ,
location == room, $alarmTime : alarmTime != null )

   And the NPE should stop.

   []s
   Edson


2007/5/9, seeker < janko.dimitroff@dai-labor.de>:

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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com