[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2409) Quotes should not be escaped when parsing a decision table

Jos Hendriks (JIRA) jira-events at lists.jboss.org
Fri Sep 2 04:40:26 EDT 2011


    [ https://issues.jboss.org/browse/JBRULES-2409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625946#comment-12625946 ] 

Jos Hendriks commented on JBRULES-2409:
---------------------------------------

I really like the parser to be intelligent. But I agree that it is very hard (much work) to make it work properly. Even in case of Michael's idea what should we do in the rare case a business user writes \"? He would then get " in the drl without expecting it. I know chances are small but still.

As ar as I'm aware there is curently no mechanism in the decision table to add meta data to a specific cell (Or is there?). The way I see it is that in most cases you want to enable/disable quote escaping per sheet. Developers and business users typically do not edit the same rule sheet. The busines user should not be bothered with stuff that he does not understand or may not edit.
Given that the sequential parameter is also a sheet based parameter, I therefor think it is best to use that mechanism.

Kenneth would you be happy with a global (e.g. sheet) parameter?

> Quotes should not be escaped when parsing a decision table
> ----------------------------------------------------------
>
>                 Key: JBRULES-2409
>                 URL: https://issues.jboss.org/browse/JBRULES-2409
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-decisiontables
>    Affects Versions: 5.0.1.FINAL
>         Environment: jdk 1.6 update 12
> windows XP 
>            Reporter: Jos Hendriks
>            Assignee: Michael Anstis
>              Labels: decision, drl, escaping, generated, quotes, table
>             Fix For: 5.3.0.CR1
>
>
> Since drools 5 quotes that are in an action cell of a decision table are escaped. As we are using method calls with String parameters in our action cells this results in invalid drl.
> I've reproduced the issue in the example decision table project generated
> by the eclipse plugin. After generating a new Drools project with decision
> table example I added the following to the Message class:
> public String getMessage(String dummy) {
>  return this.message;
> }
> In the decision table I change cell E9 from
> 'm.setMessage("$param");update(m);' to 'm.setMessage($param);update(m);'
> and cell E11 from 'Goodbye cruel world' to 'm.getMessage("msg")'.
> When I use Drools 5 I get escaped double-quotes which causes an error
> in com.sample.DecisionTableTest.readKnowledgeBase:
> m.setMessage(m.getMessage(\"msg\"));update(m); 
> Version 4.0.7 did not escape quotes and correctly generated the drl:
> m.setMessage(m.getMessage("msg"));update(m); 
> I found out that escaping of quoted has been added by request, JBRULES-1811. Please reconsider the decision and or implementation made to solve that issue. Possibly add a keyword to the decision table to define the way qoutes are parsed? Like Sequential for salience....
> The forum entry I have made includes the files and full drl. Please contact me if you need more information or help.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list