=== modified file 'dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/util/ParserUtil.java' --- dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/util/ParserUtil.java 2010-12-02 22:44:29 +0000 +++ dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/util/ParserUtil.java 2010-12-08 15:13:31 +0000 @@ -98,18 +98,15 @@ while ( matcher.find() ) { - String replaceString = matcher.group().replaceAll( "[\\[\\]]", "" ); - - int dataElementId = Integer.parseInt( replaceString.substring( 0, replaceString.indexOf( SEPARATOR ) ) ); - int categoryOptionComboId = Integer.parseInt( replaceString.substring( replaceString.indexOf( SEPARATOR ) + 1 ) ); - - final DataElementOperand operand = new DataElementOperand( dataElementId, categoryOptionComboId ); + String match = matcher.group(); + + final DataElementOperand operand = DataElementOperand.getOperand( match ); Double aggregatedValue = valueMap.get( operand ); - replaceString = ( aggregatedValue == null ) ? NULL_REPLACEMENT : String.valueOf( aggregatedValue ); + match = ( aggregatedValue == null ) ? NULL_REPLACEMENT : String.valueOf( aggregatedValue ); - matcher.appendReplacement( buffer, replaceString ); + matcher.appendReplacement( buffer, match ); } matcher.appendTail( buffer );