[jboss-jira] [JBoss JIRA] Created: (JBRULES-907) When globals are used in a lhs of a rule, you cannot create a new working memory

Krishnan Sivaramakrishna Iyer (JIRA) jira-events at lists.jboss.org
Tue Jun 5 16:27:08 EDT 2007


When globals are used in a lhs of a rule, you cannot create a new working memory
--------------------------------------------------------------------------------

                 Key: JBRULES-907
                 URL: http://jira.jboss.com/jira/browse/JBRULES-907
             Project: JBoss Rules
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 3.0.6
         Environment: JDK 1.5.0 under Windows XP 
            Reporter: Krishnan Sivaramakrishna Iyer
         Assigned To: Mark Proctor
            Priority: Blocker
             Fix For: 3.0.6


Rule file

#created on: May 16, 2007
package com.sample

#list any import classes here.
import com.sample.Line;

#declare any global variables here
global Line newLine;

rule "Generate new object line"
	when 
		eval (newLine.getLine().equals(""))
	then 
		System.out.println("This is an empty line.");
end

/**
 * 
 */
package com.sample;

import java.lang.String;

/**
 * @author kiyer
 *
 */
public class Line {

	private String line;
	
	public Line(String line) {
		setLine(line);
	}

	/**
	 * @return the line
	 */
	public String getLine() {
		return line;
	}

	/**
	 * @param line the line to set
	 */
	public void setLine(String line) {
		this.line = line;
	}
	
}

In the main program, call the following 

            final RuleBase ruleBase = readRule();
            final WorkingMemory session = ruleBase.newWorkingMemory();

You will see the following exception 

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.LeftInputAdapterNode.createAndAssertTuple(Unknown Source)
	at org.drools.reteoo.LeftInputAdapterNode.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.ReteooRuleBase.newWorkingMemory(Unknown Source)
	at org.drools.common.AbstractRuleBase.newWorkingMemory(Unknown Source)
	at com.sample.CfiTest.main(CfiTest.java:24)
Caused by: java.lang.NullPointerException
	at com.sample.Rule_Generate_new_object_line_0.eval0(Rule_Generate_new_object_line_0.java:10)
	at com.sample.Rule_Generate_new_object_line_0Eval0Invoker.evaluate(Rule_Generate_new_object_line_0Eval0Invoker.java:18)
	... 11 more




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list