[jboss-jira] [JBoss JIRA] Updated: (JBRULES-1765) Agenda.getScheduledActivations() method is throwing NullPointerException
Ganesh Patkar (JIRA)
jira-events at lists.jboss.org
Mon Sep 15 10:22:20 EDT 2008
[ https://jira.jboss.org/jira/browse/JBRULES-1765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ganesh Patkar updated JBRULES-1765:
-----------------------------------
Attachment: RuleDemo.java
> Agenda.getScheduledActivations() method is throwing NullPointerException
> ------------------------------------------------------------------------
>
> Key: JBRULES-1765
> URL: https://jira.jboss.org/jira/browse/JBRULES-1765
> Project: JBoss Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.4, 4.0.5, 4.0.6, 4.0.7
> Environment: Hardware: Intel P4 3.2GHz
> OS: Windows XP Professional Version 2002 SP3
> Reporter: Ganesh Patkar
> Assignee: Mark Proctor
> Attachments: RuleDemo.java
>
>
> I have a init rule in which i am accessing Agenda.getScheduledActivations() method. But it throws NullPointerException. I have tried with both drools-core 4.0.4 and drools-core 4.0.7 jar files.
> Here are the rules:
> package com.demo.rules;
> import java.util.Date;
> import org.drools.Agenda;
> import org.drools.spi.Activation;
> import com.demo.metric.TxInfo;
> import com.demo.rules.RuleDemo;
> function void removeActivationsForRule(String ruleName, Agenda agenda) {
> Activation[] actArr;
> Activation act;
> int len;
> try {
> actArr = agenda.getScheduledActivations();
> len = actArr.length;
> System.out.println("*** Scheduled Activation[] Length : " + len);
> for(int i=0;i<len;++i) {
> act = actArr[i];
> if(act.getRule().getName().equals(ruleName)) {
> System.out.println("*** ACTIVATION : " + act + " IS REMOVED ***");
> act.remove();
> }
> }
> } catch (NullPointerException ex) {
> System.out.println("##############");
> ex.printStackTrace();
> System.out.println("##############");
> }
> }
> rule 'init_rule1'
> salience 10
> when TxInfo(totalTime <= 100)
> then
> removeActivationsForRule("rule1", drools.getWorkingMemory().getAgenda());
> end
> rule 'rule1'
> duration 60000
> when TxInfo(totalTime > 100)
> then
> System.out.println("**** FIRING RULE : rule1 : -" + new Date() + "- ****");
> end
> Here is the stack trace:
> ##############
> java.lang.NullPointerException
> at org.drools.common.DefaultAgenda.getScheduledActivations(DefaultAgenda.java:351)
> at com.demo.rules.RuleDemo.removeScheduledActivations(RuleDemo.java:132)
> at com.demo.rules.RuleDemo.beforeActivationFired(RuleDemo.java:175)
> at org.drools.event.AgendaEventSupport.fireBeforeActivationFired(AgendaEventSupport.java:103)
> at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:540)
> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:518)
> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:475)##############
> ##############
> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:439)
> at com.demo.rules.RuleDemo.fireRule(RuleDemo.java:116)
> at com.demo.rules.RuleDemo.main(RuleDemo.java:221)
> java.lang.NullPointerException
> at org.drools.common.DefaultAgenda.getScheduledActivations(DefaultAgenda.java:351)
> at com.demo.rules.RemoveActivationsForRule.removeActivationsForRule(RemoveActivationsForRule.java:27)
> at com.demo.rules.Rule_init_rule1_0.consequence(Rule_init_rule1_0.java:7)
> at com.demo.rules.Rule_init_rule1_0ConsequenceInvoker.evaluate(Rule_init_rule1_0ConsequenceInvoker.java:22)
> at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:554)
> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:518)
> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:475)
> at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:439)
> at com.demo.rules.RuleDemo.fireRule(RuleDemo.java:116)
> at com.demo.rules.RuleDemo.main(RuleDemo.java:221)
> ##############
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list