[rules-users] What does the arrow ("->") mean in a rule file?
Edson Tirelli
tirelli at post.com
Sun May 3 11:31:28 EDT 2009
A DRL constraint is always:
<fieldName> <operator> <restriction_list>
So the correct is even when dealing with booleans to explicitly state
your intent:
myClass : MyClass( myBoolean == true )
An eval is any valid java/mvel expression that returns a boolean, and
that is why it works without the explicit comparison to null.
[]s
Edson
2009/5/3 lightbulb432 <veerukrishnan at hotmail.com>
>
> The simplified syntax you describe doesn't seem to work in Drools 4
> (drools-core.jar and drools-compiler.jar, both version 4.0.4):
>
> package MyClassRules;
> dialect "mvel"
>
> import com.myclass.MyClass;
>
> rule Works
> when
> myClass : MyClass()
> eval(myClass.myBoolean)
> then
> System.out.println("This means myBoolean is true");
> end;
>
> rule DoesntWork
> when
> myClass : MyClass(myBoolean)
> then
> System.out.println("This means myBoolean is true");
> end;
>
> The first rule above is fired and the message is printed to the console, as
> expected, but not the second rule. The above is my rule file in its
> entirety. What's going wrong here - the file compiles fine, so I'm guessing
> there's no problem with the syntax?
>
>
>
> Edson Tirelli-3 wrote:
> >
> > The "arrow" is an old syntax from the Drools 3.0 times that is no
> > longer
> > necessary and was deprecated in 4. It is the exact same thing as a
> > bind+eval:
> >
> > MemberBlog(member : member -> (member.getUsername().equals(
> > principal.getName())))
> >
> > Above is exact same thing as:
> >
> > MemberBlog(member : member, eval(member.getUsername().equals(
> > principal.getName())))
> >
> > But in Drools 4 and 5, that can be simplified to:
> >
> > MemberBlog( member.username == principal.name )
> >
> > Much cleaner as you can see.
> >
> > []s
> > Edson
> >
> >
> >
> > 2009/5/1 lightbulb432 <veerukrishnan at hotmail.com>
> >
> >>
> >> What does the arrow ("->") mean in a rule file? I've searched on Google,
> >> looked through the Drools documentation, and haven't been able to find
> >> out
> >> what it does.
> >>
> >> It appears in the autocomplete of my IDE for Drools, and I've seen it in
> >> an
> >> example in the JBoss Seam documentation, but am unable to tell what it
> >> does:
> >>
> >> rule InsertMemberBlog
> >> no-loop
> >> activation-group "permissions"
> >> when
> >> principal: Principal()
> >> memberBlog: MemberBlog(member : member ->
> >> (member.getUsername().equals(principal.getName())))
> >> check: PermissionCheck(target == memberBlog, action == "insert",
> granted
> >> == false)
> >> then
> >> check.grant();
> >> end;
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/What-does-the-arrow-%28%22-%3E%22%29-mean-in-a-rule-file--tp23341009p23341009.html
> >> Sent from the drools - user mailing list archive at Nabble.com.
> >>
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >>
> >
> >
> >
> > --
> > Edson Tirelli
> > JBoss Drools Core Development
> > JBoss, a division of Red Hat @ www.jboss.com
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/What-does-the-arrow-%28%22-%3E%22%29-mean-in-a-rule-file--tp23341009p23354001.html
> Sent from the drools - user mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090503/14ec8295/attachment.html
More information about the rules-users
mailing list