[rules-users] Test if String endsWith()
Wolfgang Laun
wolfgang.laun at gmail.com
Tue Nov 13 03:02:15 EST 2012
Which version are you using?
5.4.0 works for me, using either
Message( message.endsWith( "World" ) )
or
Message( message str[endsWith] "World" )
-W
On 13/11/2012, Omar Baqueiro <baqueiro at ooyala.com> wrote:
> 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
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
More information about the rules-users
mailing list