[jboss-jira] [JBoss JIRA] Commented: (JBRULES-1826) illegal group reference while try to compile rule
Edson Tirelli (JIRA)
jira-events at lists.jboss.org
Wed Apr 8 20:39:22 EDT 2009
[ https://jira.jboss.org/jira/browse/JBRULES-1826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12461350#action_12461350 ]
Edson Tirelli commented on JBRULES-1826:
----------------------------------------
Did you tried to escape the {}? The new DSL parser is much more robust and strict. It interprets anything inside non escaped {} as a variable name.
Try the following:
[consequence][]log an error "{errorCode}"= String[] errorMessage = \{$name\}; errorlist.add( new UWError("{errorCode}",$driverKey, errorMessage) );
[]s
Edson
> illegal group reference while try to compile rule
> --------------------------------------------------
>
> Key: JBRULES-1826
> URL: https://jira.jboss.org/jira/browse/JBRULES-1826
> Project: JBoss Drools
> Issue Type: Release
> Security Level: Public(Everyone can see)
> Components: drools-compiler
> Affects Versions: 5.0.0.M2
> Environment: WINDOWS XP
> Reporter: jey paulraj
> Assignee: Edson Tirelli
> Fix For: 5.0.0.GA
>
>
> I am getting the following error when I try to compile the rule using Drools compiler .5.0.0 MR2 jar. I am able to compile the same rule using Drools compiler 4.0.7.
> java.lang.IllegalArgumentException: Illegal group reference
> at java.util.regex.Matcher.appendReplacement(Matcher.java:722)
> at java.util.regex.Matcher.replaceAll(Matcher.java:822)
> at org.drools.lang.dsl.DefaultExpander.expandRHS(DefaultExpander.java:303)
> at org.drools.lang.dsl.DefaultExpander.expandConstructions(DefaultExpander.java:143)
> at org.drools.lang.dsl.DefaultExpander.expand(DefaultExpander.java:114)
> at org.drools.compiler.DrlParser.parse(DrlParser.java:110)
> at org.drools.compiler.DrlParser.parse(DrlParser.java:119)
> at org.drools.compiler.DrlParser.parse(DrlParser.java:92)
> at org.drools.compiler.DrlParser.parse(DrlParser.java:86)
> at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:297)
> Here is the rules
> drl
> global java.util.List errorlist;
> rule "excluded driver rule for ALL state"
> #include attributes such as "salience" here...
> when
> #conditions
> Excluded driver is present and check relationship code is valids for the look up type 4
> then
> #actions
> log an error "UWED1001"
> end
> dsl
> [consequence][]log an error "{errorCode}"= String[] errorMessage = {$name}; errorlist.add( new UWError("{errorCode}",$driverKey, errorMessage) );
> [condition][] Excluded driver is present and check relationship code is valids for the look up type {TYPECODE} = ExcludedDriverDomain( $driverKey : driverKey , $name : driverName, $relationship : excludedDriverRelationshipToInsured ) PolicyLookupDataObject( type == {TYPECODE} , codeValues excludes $relationship )
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list