[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2597) Decision table only supports "." as decimal seperator

Lars R�ckemann (JIRA) jira-events at lists.jboss.org
Wed Jul 28 09:18:33 EDT 2010


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

Lars R�ckemann commented on JBRULES-2597:
-----------------------------------------

In the meantime I've created a workaround which is working pretty fine for me. 
I added an additional Property "DecimalPointIsComma" to my localized excel sheet and modified class DefaultRuleSheetListener as follows:

In method nextDataCell() I changed the last else if block to check if the new property is set and change the cell value accordingly:

 [ ... ]
        } else if ( actionType.type == ActionType.CONDITION || actionType.type == ActionType.ACTION ) {            
        	/** 
        	 * Lars Rueckemann: fix for localized excel version using "," as decimal seperator
        	 * Please specify Property: "DecimalPointIsComma = true" 
        	 */
        	if(RuleSheetParserUtil.isStringMeaningTrue((String)getProperties().get("DecimalPointIsComma")) && 
            		actionType.type == ActionType.ACTION) {
        		actionType.addCellValue( column, value.replace(',', '.'));
            } else {
        	  actionType.addCellValue( column, value );
            }
        }
[ ... ]


> Decision table only supports "." as decimal seperator
> -----------------------------------------------------
>
>                 Key: JBRULES-2597
>                 URL: https://jira.jboss.org/browse/JBRULES-2597
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-decisiontables
>    Affects Versions: 5.0.1.FINAL
>         Environment: localized version of Excel with decimal seperator set to "," instead of "." (German locale settings)
> Windows XP Pro
> MsOffice 2007 - Spreadsheet saved in MsOffice 97 .xls format 
>            Reporter: Lars R�ckemann
>            Assignee: Mark Proctor
>         Attachments: TEST.xls
>
>
> In the german locale "," is used as decimal seperator. 
> When using a "," in a localized spreadsheet drools does not parse this as a number but tries to read two arguments instead. 
> Attached sheet has the following Rule Compilation error: 
>    The method set(String, Object) in the type RegelErgebnis is not applicable for the arguments (String, int, int)
> This error comes from coulumn G of the spreadsheet when trying to execute action: ergebnis.set(String, Object);
> This fails as $param is read as two int values instead of in Object.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jboss-jira mailing list