NullPointerException on conditions using contains evaluator when collection is null
-----------------------------------------------------------------------------------
Key: JBRULES-984
URL:
http://jira.jboss.com/jira/browse/JBRULES-984
Project: JBoss Rules
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.0.0.MR3
Reporter: Emily Harsh
Assigned To: Mark Proctor
Rule condition is as follows:
myItem : MyItem( )
MyObject( myCollection contains myItem )
A NullPointerException is thrown when myCollection is null.
Proposed solution:
All evaluate* methods in org.drools.base.evaluators.ObjectFactory$ObjectContainsEvaluator
need to have null checks surrounding the col.contains( value ) statements. For example,
evaluateCachedLeft should be changed to:
public boolean evaluateCachedLeft(final VariableContextEntry context,
final Object right) {
final Object value = ((ObjectVariableContextEntry) context).left;
final Collection col = (Collection) context.extractor.getValue( right );
return col == null ? false : col.contains( value );
}
--
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