Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2326

request to improve upon error message received from invalid rule syntax (currently getting NPE)

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      My (albeit improper) rule syntax that caused the NPE error:

      when
      QueueList ( queueIds contains 1 )
      ( not EventList ( events contains 1 )

      ( $eventList : EventList ( events contains 1 )
      && RfEvent ( eventTypeId == 1, lastActivationLong after[-1h] sessionTime ) from $eventList.events ) )
      then
      modify (eventList) { add(1) }

      Stack Trace:

      org.drools.runtime.rule.ConsequenceException: java.lang.NullPointerException
      at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23)
      at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943)
      at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)
      at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1086)
      at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:660)
      at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:627)
      at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:183)
      at com.famc.service.RuleFlowRunner.main(RuleFlowRunner.java:118)
      Caused by: java.lang.NullPointerException
      at org.drools.base.mvel.DroolsMVELFactory.getTupleObjectFor(DroolsMVELFactory.java:182)
      at org.drools.base.mvel.DroolsMVELFactory.setContext(DroolsMVELFactory.java:176)
      at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:57)
      at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)
      ... 6 more

      Request for ticket:

      [10:19] <etirelli> jary: raising a NPE is clearly a bug, but the reason is that you have modify(eventList) instead of modify($eventList)... in any case, the way you authored the rule is not ideal
      [10:19] <etirelli> jary: could you please open a JIRA so that we can provide an appropriate error message, please?

              etirelli@redhat.com Edson Tirelli
              jary_jira Jeremy Ary (Inactive)
              Archiver:
              rhn-support-ceverson Clark Everson

                Created:
                Updated:
                Resolved:
                Archived: