[rules-users] how to create local variable

Edson Tirelli tirelli at post.com
Thu Jul 12 16:18:55 EDT 2007


    It is not possible to assign the result of an arbitrary method call to a
variable right now. So, your best option is probably to do (please note the
use of inline-eval):

*rule* "SupplierView: Headquarter Supplier Code should end on 25 or 30."

      *when*

            $cs : SupplierView(corporate == *true,* eval( suppCode.substring(4,
6).equals( "25" ) || suppCode.substring(4, 6).equals( "30" ) ) )

      *then*

            ValidationErrorFacade.getInstance().registerError($cs,
*new*ValidationError("Headquarter
Supplier Code should end on 25 or 30."));

*end*

    A more clean solution is to use "matches" operator. If your rule states
that Supplier Code must END with 25 or 30, you can do:

*rule* "SupplierView: Headquarter Supplier Code should end on 25 or 30."

      *when*

            $cs : SupplierView(corporate == *true,* suppCode matches ".*25" ||
matches ".*30" )

      *then*

            ValidationErrorFacade.getInstance().registerError($cs,
*new*ValidationError("Headquarter
Supplier Code should end on 25 or 30."));

*end*

    Hope it helps.

    []s
    Edson


2007/7/12, Manukyan, Sergey <SManukyan at lear.com>:
>
>  Folks,
>
>
>
> I have a rule where I am repeating part of it twice : ($cs.getSuppCode().substring(4,
> 6)), and I would like to replace it with variable… how can I do that? The
> solution with "in" doesn't worl because it is a java code needed to perform
> calculations for variable…..
>
>
>
> Please see the rule below:
>
> * *
>
> *rule* "SupplierView: Headquarter Supplier Code should end on 25 or 30."
>
>       *when*
>
>             $cs : SupplierView(corporate == *true*)
>
>             *eval*($cs.getSuppCode().substring(4, 6) == "25" ||
> $cs.getSuppCode().substring(4, 6) == "30")
>
>       *then*
>
>             ValidationErrorFacade.getInstance().registerError($cs, *new*ValidationError("Headquarter
> Supplier Code should end on 25 or 30."));
>
> *end*
>
>
>
>
>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070712/c6850576/attachment.html 


More information about the rules-users mailing list