[rules-users] Test if String endsWith()
Omar Baqueiro
baqueiro at ooyala.com
Mon Nov 12 19:12:21 EST 2012
Follow up from my question. I have read more from the Drools expert
guide ( http://docs.jboss.org/drools/release/5.2.0.Final/drools-expert-docs/html_single
), and in Section 5.8.3.3.10.9 it talks about the str operator:
Message( routingValue str[endsWith] "R2" )
However, when I try to use the str operator I get an error:
no viable alternative at input 'str' in rule "Check the items of the
list and remove the ones that satisfy the condition" in pattern
OfferWrapper[19,26]: [ERR 102] Line 19:26 mismatched input '
"endsWith" ' expecting ']'
I tried both using endsWith with quotes and without quotes and I get a
similar error in both cases.
Mu rule is:
> import java.lang.String
rule "Check the items of the list and remove the ones that satisfy the
condition"
lock-on-active
when
$wrapper : Wrapper(
id == "itemId",
email str[endsWith] "@email.com",
$items : list)
$item : Map() from $items
then
$items.remove($item)
end
Any clue on why am I getting an error?
Thanks.
O.
On Mon, Nov 12, 2012 at 4:44 PM, Omar Baqueiro <baqueiro at ooyala.com> wrote:
>
> Hello,
>
> I am trying to evaluate certain data with Drools based on the end of a string. So far, I have got the following mvel based DRL ( My Wrapper class has the fields (with all their accessors) id, email and list):
>
> ---
> rule "Check the items of the list and remove the ones that satisfy the condition"
> lock-on-active
> when
> $wrapper : Wrapper(
> id == "itemId",
> email.endsWith("@email.com") == true,
> $items : list)
> $item : Map() from $items
> then
> $items.remove($item)
> end
> ----
>
>
> However, when trying to apply this rule, I get the error: no viable alternative at input '"@gmail.com"' in rule ...".
>
> What is the correct way to test whether a string ends with certain text (i.e, using the String.endsWith function using MVEL)
>
> Thanks for any help!
>
>
> --
> --
> Omar Baqueiro Espinosa
> Software Engineer |
> baqueiro at ooyala.com | +52 (33) 3817-0861
> www.ooyala.com | blog | @ooyala
>
--
--
Omar Baqueiro Espinosa
Software Engineer |
baqueiro at ooyala.com | +52 (33) 3817-0861
www.ooyala.com | blog | @ooyala
More information about the rules-users
mailing list