← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19676: Program indicator filter validation fix

 

------------------------------------------------------------
revno: 19676
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2015-07-19 16:54:19 +0200
message:
  Program indicator filter validation fix
modified:
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/program/DefaultProgramIndicatorService.java
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/program/ProgramIndicatorServiceTest.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== 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 );