Hi Wolfgang,

This is not a mvel issue, that in this is case is correctly reporting the syntax error, but only a small bug in drools failing to catch and correctly menage the excpetion thrown by mvel in that particular case.

I just pushed the fix, thank you for reporting this.

Mario

On Sun, Mar 11, 2012 at 7:26 PM, Wolfgang Laun <wolfgang.laun@gmail.com> wrote:
This is not correct:
    Foo( id == "\a" )
and it is rightly flagged as a syntax error, but the ensuing stack dump is uncalled for:

Exception in thread "main" [Error: illegal escape sequence: a]
[Near : {... "\a" ....}]
               ^
[Line: 1, Column: 3]
at org.mvel2.util.ParseTools.handleEscapeSequence(ParseTools.java:889)
at org.mvel2.util.ParseTools.handleStringEscapes(ParseTools.java:1533)
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1105)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
at org.mvel2.MVEL.analysisCompile(MVEL.java:670)
at org.mvel2.MVEL.analysisCompile(MVEL.java:674)
at org.drools.rule.builder.PatternBuilder.setInputs(PatternBuilder.java:942)
at org.drools.rule.builder.PatternBuilder.buildRelationalExpression(PatternBuilder.java:638)
at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:588)
at org.drools.rule.builder.PatternBuilder.processConstraintsAndBinds(PatternBuilder.java:449)
at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:296)
at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:118)
at org.drools.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:65)
at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:80)
at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:2503)
at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:847)
at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:443)
at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:626)
at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:41)
at foobar.Main.setup(Main.java:68)
at foobar.Main.main(Main.java:124)

-W


_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev