[rules-users] bug or feature not yet implemented

Edson Tirelli tirelli at post.com
Fri Aug 10 15:17:03 EDT 2007


   Sergey,

   Well, a "field constraint" must always involve a field. The decision to
have it on the left side is to simplify syntax. For instance, if you want to
write something like: "age between 30 and 40", you can do:

Person( age > 30 && < 40 )

    So you declare the field only once and can have as many expressions
applied over it as you want, using restriction connectives (&& and ||).

    Now, if your expression does not involve a field, then it is not a
"field constraint". It may be an "inline-eval" (previously called predicate
expression) for instance. And in this case, you use the "eval" keyword as
showed in my previous example.
    Unfortunatelly, to avoid language ambiguities, we can't support
arbitrary expressions without a markup keyword, and "eval" was the chosen
keyword.

    []s
    Edson

2007/8/10, Manukyan, Sergey <SManukyan at lear.com>:
>
>  Thanks Edson for workaround,
>
>
>
> IMHO that looks like a limitation to me, is there a particular reason why
> left side should always be a field?
>
>
>
> -Sergey
>
>
>
>
>  ------------------------------
>
> *From:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at lists.jboss.org] *On Behalf Of *Edson Tirelli
> *Sent:* Friday, August 10, 2007 11:58 AM
> *To:* Rules Users List
> *Subject:* Re: [rules-users] bug or feature not yet implemented
>
>
>
>
>    Sergey,
>
>    That is how it is supposed to work. A field constraint in Drools always
> has a field at its left side. If you want arbitrary expression, just embed
> it in an inline eval:
>
>         S : Supplier(
>                 $sts  : supplierBusinessStatus.businessStatus,
>                 $csts :
> corporateSupplier.supplierBusinessStatus.businessStatus,
>                 eval ( $sts != $csts )
>         )
>
>    Although, for this specific case, it would be better (more performatic)
> to simply write:
>
>         S : Supplier(
>                 $sts  : supplierBusinessStatus.businessStatus,
>                 $csts :
> corporateSupplier.supplierBusinessStatus.businessStatus != $sts
>         )
>
>     []s
>     Edson
>
> 2007/8/10, Manukyan, Sergey <SManukyan at lear.com>:
>
>
> Folks,
>
> I found that drools 4.0GA doesn't recognize variables in the left side
> of operator expression
>
> Like this produces error:
>
>
> When
>         S : Supplier(
>                 $sts  : supplierBusinessStatus.businessStatus ,
>                 $csts :
> corporateSupplier.supplierBusinessStatus.businessStatus,
>                 $sts != $csts
>                 )
> Then
>         ...
>
>
>
> It tries to treat the $sts variable as a field of Supplier, instead
> understanding that it is a variable declared earlier,
>
> Please advise,
>
> Thanks,
>
> -Sergey
>
>
>
>
> **********************
> ** LEGAL DISCLAIMER **
> **********************
>
> This E-mail message and any attachments may contain
> legally privileged, confidential or proprietary
> information. If you are not the intended recipient(s),
> or the employee or agent responsible for delivery of
> this message to the intended recipient(s), you are
> hereby notified that any dissemination, distribution
> or copying of this E-mail message is strictly
> prohibited. If you have received this message in
> error, please immediately notify the sender and
> delete this E-mail message from your computer.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> --
>   Edson Tirelli
>   Software Engineer - JBoss Rules Core Developer
>   Office: +55 11 3529-6000
>   Mobile: +55 11 9287-5646
>   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
>
>


-- 
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  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/20070810/87aaa396/attachment.html 


More information about the rules-users mailing list