[rules-users] template 101

Felipe Piccolini felipe.piccolini at gmail.com
Tue Apr 27 17:17:10 EDT 2010


Im not sure if you can find a complete standalone example for this, but I
think your problem now is with eval().

Can you copy your stackTrace here?

I think you can not do eval( literal == literal),
but you could make a function to test that if you wanna use eval and give
the function the value of @{symbol}


2010/4/27 Stefan Marconi <stefan.marconi at gmail.com>

> Hi Felipe,
>
> thank you for your reply. I have now added the extra quotes but to no
> avail. I still get the same errors.
>
> Is there somewhere a stand-alone example with the compile instructions to
> check that everything works? I have the impression that I'm having troubles
> with the whole eclipse config and plugin.
>
> Thanks! Stefan
>
>
> 2010/4/26 Felipe Piccolini <felipe.piccolini at gmail.com>
>
> Using template you will see that the @{} is replaced "just as is" from the
>> data (for example from a spreadsheet), so
>> if you have a value in the example will be replaced as text in the rule
>> and you will have something like this:
>>
>> if @{symbol} == "THE_SYMBOL"
>>
>> ==>
>>
>> rule "A stand alone rule THE_SYMBOL"
>> dialect "mvel"
>> when
>>  eval(THE_SYMBOL == "AAA")
>> then
>> System.out.println("this symbol is" + THE_SYMBOL)
>> end
>> ----------
>>
>> So as you can see, the variable is no more a variable in the generated
>> rule, just text, so if you wanna use it as a string, you should add
>> double-quote
>> (")
>>
>> your rule template should be something like this:
>>
>>
>> rule "A stand alone rule @{symbol}"
>> dialect "mvel"
>> when
>>  eval("@{symbol}" == "AAA")
>> then
>> System.out.println("this symbol is" + "@{symbol}")
>> end
>>
>>
>>
>>
>> 2010/4/22 Stefan Marconi <stefan.marconi at gmail.com>
>>
>>>  Hi,
>>>
>>> just starting using drools and need to use templates but having error
>>> messages (described in comments in the code below).
>>> I checked the meaning of the error messages but still can't figure it
>>> out.
>>> I modified an simple rule according to the template section of the drools
>>> manual: btw I use the eclipse with the drools-core plugin.
>>>
>>> Thanks for your help. Stefan
>>>
>>> template header
>>> symbol
>>>
>>> package com.test.processor; # [ERR 102] Line 4:26 mismatched input ';'
>>> expecting 'identifier' in template header
>>> template "test"
>>> rule "A stand alone rule @{symbol}"
>>> dialect "mvel"
>>> when
>>>  eval(@{symbol} == "AAA")
>>> then
>>> System.out.println("this symbol is" + @{symbol})
>>> end
>>> end template # Multiple markers at this line
>>> # - [ERR 103] Line 13:0 rule 'rule_key' failed predicate:
>>> {(validateIdentifierKey(DroolsSoftKeywords.RULE))}? in rule
>>> # - [ERR 101] Line 13:4 no viable alternative at input 'template' in rule
>>> end
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>
>>
>> --
>> -----------------------------
>> Felipe Piccolini
>> felipe.piccolini at gmail.com
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
-----------------------------
Felipe Piccolini
felipe.piccolini at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100427/c69bafd6/attachment.html 


More information about the rules-users mailing list