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_...
), 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] "(a)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(a)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("(a)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
'"(a)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(a)ooyala.com | +52 (33) 3817-0861
www.ooyala.com | blog | @ooyala
--
--
Omar Baqueiro Espinosa
Software Engineer |
baqueiro(a)ooyala.com | +52 (33) 3817-0861
www.ooyala.com | blog | @ooyala