[rules-dev] Bug report - a lucky catch if I ever saw one
Edson Tirelli
tirelli at post.com
Wed Oct 6 10:32:58 EDT 2010
I don't think the problem is in there. I think MVEL is tokenizing
the "in" in the end of your variable as the operator "in" and raising
the error. We need to open a bug for cbrock to fix, but we need an
isolated MVEL test case.
In case you or someone has the time to do it, just use one of the
tests here as an example:
http://github.com/mikebrock/mvel/blob/master/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
And open a JIRA here:
http://jira.codehaus.org/browse/MVEL
Otherwise I will do it when I get the time.
Thanks,
Edson
2010/10/6 Wolfgang Laun <wolfgang.laun at gmail.com>:
> Still there.
>
> Perhaps a trim() in here?
>
> public class JavaModifyBlockDescr implements JavaBlockDescr {
> private int start;
> private int end;
> private String modifyExpression;
> private List<String> expressions;
>
> public JavaModifyBlockDescr( String modifyExpression ) {
> this.modifyExpression = modifyExpression.trim();
> this.expressions = new ArrayList<String>();
> }
>
>
> -W
>
>
> On 6 October 2010 15:10, Edson Tirelli <tirelli at post.com> wrote:
>>
>> Wolfgang,
>>
>> What version of MVEL are you using? can you check if you still
>> have the error with the latest version: 2.0.18?
>>
>> http://mvel.codehaus.org/Downloading+MVEL
>>
>> Please let us know.
>>
>> Thanks,
>> Edson
>>
>> 2010/10/6 Wolfgang Laun <wolfgang.laun at gmail.com>:
>> > 5.1
>> >
>> > rule "lucky"
>> > when
>> > Putin: X()
>> > then
>> > modify( Putin ){...}
>> > end
>> >
>> > crashes with:
>> > Exception in thread "main" [Error: was expecting type:
>> > java.util.Collection;
>> > but found type: null]
>> > [Near : {... ( Putin ....}]
>> > ^
>> > [Line: 1, Column: 9]
>> > at org.mvel2.util.CompilerTools.expectType(CompilerTools.java:295)
>> > at org.mvel2.ast.Fold.<init>(Fold.java:70)
>> > at
>> > org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:961)
>> > at
>> >
>> > org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:121)
>> > at
>> >
>> > org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:68)
>> > at
>> >
>> > org.drools.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:86)
>> > at
>> >
>> > org.drools.rule.builder.dialect.mvel.MVELDialect.analyzeBlock(MVELDialect.java:494)
>> > at
>> >
>> > org.drools.rule.builder.dialect.java.JavaConsequenceBuilder.rewriteModify(JavaConsequenceBuilder.java:224)
>> > ...
>> >
>> > This is, of course, not due to using exactly *that* name; it occurs if
>> > (1) the bound name matches /^.+in$/ and
>> > (2) there is, in "modify", white space between "in" and ")"
>> >
>> > -W
>> >
>> >
>> > _______________________________________________
>> > rules-dev mailing list
>> > rules-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-dev
>> >
>> >
>>
>>
>>
>> --
>> Edson Tirelli
>> JBoss Drools Core Development
>> JBoss by Red Hat @ www.jboss.com
>>
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @ www.jboss.com
More information about the rules-dev
mailing list