=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueService.java 2010-10-22 10:11:39 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueService.java 2010-11-15 18:02:43 +0000 @@ -76,19 +76,9 @@ public void addDataValue( DataValue dataValue ) { - if ( !dataValue.isNullValue() ) + if ( !dataValue.isNullValue() && isSignificant( dataValue ) ) { - if ( dataValue.isZero() && !dataValue.getDataElement().isZeroIsSignificant() - && !dataValue.getDataElement().getAggregationOperator().equals( AGGREGATION_OPERATOR_AVERAGE ) ) - { - log.info( "DataValue was ignored as zero values are insignificant for this data element: " - + dataValue.getDataElement() ); - - } - else - { - dataValueStore.addDataValue( dataValue ); - } + dataValueStore.addDataValue( dataValue ); } } @@ -98,18 +88,9 @@ { this.deleteDataValue( dataValue ); } - else + else if ( isSignificant( dataValue ) ) { - if ( dataValue.isZero() && !dataValue.getDataElement().isZeroIsSignificant() - && !dataValue.getDataElement().getAggregationOperator().equals( AGGREGATION_OPERATOR_AVERAGE ) ) - { - log.info( "DataValue was ignored as zero values are insignificant for this data element: " - + dataValue.getDataElement() ); - } - else - { - dataValueStore.updateDataValue( dataValue ); - } + dataValueStore.updateDataValue( dataValue ); } } @@ -210,13 +191,25 @@ { return dataValueStore.getDataValues( dataElement ); } - + @Override public DataValue getLatestDataValues( DataElement dataElement, PeriodType periodType, OrganisationUnit organisationUnit ) - { + { return dataValueStore.getLatestDataValues( dataElement, periodType, organisationUnit ); } - + private boolean isSignificant( DataValue dataValue ) + { + if ( dataValue.isZero() && !dataValue.getDataElement().isZeroIsSignificant() + && !dataValue.getDataElement().getAggregationOperator().equals( AGGREGATION_OPERATOR_AVERAGE ) ) + { + log.debug( "DataValue was ignored as zero values are insignificant for this data element: " + + dataValue.getDataElement() ); + return false; + } + return true; + } + + }