I'm using Drools 4 (M2), which is supposed to support nested accessors* This works: when Claim( submissionInfo == null), but not this: when Claim( submissionInfo.date == null)
Rule file, SubmissionInfo.java and exception are below. What am I missing? Richard * See http://article.gmane.org/gmane.comp.java.drools.user/8079/match=nested+properties, which states "Support to nested accessors, property navigation and simplified collection, arrays and maps syntax" Rule File --------------------------------------------------------------------------------------- package mvanamibia.claim; import java.lang.Object; import java.lang.String; import java.lang.Double; import java.util.Date; import java.util.List; import java.util.ArrayList; import com.sadalbari.mvanamibia.beans.Claim; import com.sadalbari.mvanamibia.beans.Mandate; import com.sadalbari.mvanamibia.beans.SubmissionInfo; import com.sadalbari.mvanamibia.inspector.ClaimEvaluation; global ClaimEvaluation evaluation; rule "hasDateReceived" when Claim( submissionInfo.date == null ) then evaluation.getFailures().add("missing: date received"); end ----------------------------------------------------------------------------------- Exception ----------------------------------------------------------------------------------- org.drools.rule.InvalidRulePackage: [19,23]: unknown:19:23 mismatched token: [EMAIL PROTECTED],471:471='.',<69>,19:23]; expecting type RIGHT_PAREN at org.drools.rule.Package.checkValidity(Package.java:368) at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:250) at com.sadalbari.mvanamibia.model.UnregisteredClaimValidationTest.setupWorkingMemory(UnregisteredClaimValidationTest.java:33) at com.sadalbari.mvanamibia.model.UnregisteredClaimValidationTest.testMandateClaim(UnregisteredClaimValidationTest.java:56) ... Removed 22 stack frames FAILED: testEmptyClaim org.drools.rule.InvalidRulePackage: [19,23]: unknown:19:23 mismatched token: [EMAIL PROTECTED],471:471='.',<69>,19:23]; expecting type RIGHT_PAREN at org.drools.rule.Package.checkValidity(Package.java:368) at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:250) at com.sadalbari.mvanamibia.model.UnregisteredClaimValidationTest.setupWorkingMemory(UnregisteredClaimValidationTest.java:33) at com.sadalbari.mvanamibia.model.UnregisteredClaimValidationTest.testEmptyClaim(UnregisteredClaimValidationTest.java:42) ... Removed 22 stack frames ------------------------------------------------------ SubmissionInfo (relevant bits) public class SubmissionInfo implements Serializable { private Date date; public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users