1. I can't find any mention of dialects anywhere in the Drools 4 manual. Am I missing something?
2. I've tried the following after finding a snippet in the archives for this list: 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" dialect "mvel" when Claim( submissionInfo == null ) then evaluation.getViolations().add("missing: date received"); end but it gives the following exception: java.lang.NullPointerException at org.drools.rule.builder.RuleBuildContext.<init>(RuleBuildContext.java:115) at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:350) at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:233) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:157) at com.sadalbari.mvanamibia.model.UnregisteredClaimValidationTest.setupWorkingMemory(UnregisteredClaimValidationTest.java:29) at com.sadalbari.mvanamibia.model.UnregisteredClaimValidationTest.testEmptyClaim(UnregisteredClaimValidationTest.java:42) ... Removed 22 stack frames Thanks Richard Mark Proctor wrote: > in theory for nested accessors it should switch to the MVEL dialect > automatically. You only need to specify the MVEL dialect explicitely > for eval, return value and consequences. > > Mark > Manjax23 wrote: >> I think you should use dialect "mvel" when accessing the nested accessors. >> and I had some trouble with "mvel" dialect in 4M2 release. >> >> Please let me know if it works for you.. >> >> Thanks, >> Manjax23 >> >> >> Richard Hoberman wrote: >> >>> 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 >>> >>> >>> >> >> > > ------------------------------------------------------------------------ > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users