=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java 2015-07-12 10:22:46 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java 2015-07-19 14:54:19 +0000 @@ -437,7 +437,12 @@ return expr; } - return ExpressionUtils.isBoolean( expr, null ) ? ProgramIndicator.VALID : ProgramIndicator.FILTER_NOT_EVALUATING_TO_TRUE_OR_FALSE; + if ( !ExpressionUtils.isBoolean( expr, null ) ) + { + return ProgramIndicator.FILTER_NOT_EVALUATING_TO_TRUE_OR_FALSE; + } + + return ProgramIndicator.VALID; } /** @@ -466,7 +471,9 @@ if ( programStage != null && dataElement != null ) { - matcher.appendReplacement( expr, String.valueOf( 1 ) ); + String sample = dataElement.isNumericType() ? String.valueOf( 1 ) : "'A'"; + + matcher.appendReplacement( expr, sample ); } else { @@ -479,7 +486,9 @@ if ( attribute != null ) { - matcher.appendReplacement( expr, String.valueOf( 1 ) ); + String sample = attribute.isNumericType() ? String.valueOf( 1 ) : "'A'"; + + matcher.appendReplacement( expr, sample ); } else { === modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java' --- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java 2015-07-10 21:08:24 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java 2015-07-19 14:54:19 +0000 @@ -192,7 +192,6 @@ deA = createDataElement( 'A' ); deA.setDomainType( DataElementDomain.TRACKER ); - deA.setType( DataElement.VALUE_TYPE_NUMBER ); deB = createDataElement( 'B' ); deB.setDomainType( DataElementDomain.TRACKER );