=== modified file 'dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/StatementInterceptor.java' --- dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/StatementInterceptor.java 2010-04-12 21:23:33 +0000 +++ dhis-2/dhis-support/dhis-support-jdbc/src/main/java/org/hisp/dhis/jdbc/StatementInterceptor.java 2011-02-01 20:58:31 +0000 @@ -58,7 +58,7 @@ statementManager.initialise(); - log.info( "Initialising statement manager" ); + log.debug( "Initialising statement manager" ); try { @@ -68,7 +68,7 @@ { statementManager.destroy(); - log.info( "Destroying statement manager" ); + log.debug( "Destroying statement manager" ); } return object; === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/ValidationAction.java' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/ValidationAction.java 2010-04-29 04:33:47 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/ValidationAction.java 2011-02-01 20:58:31 +0000 @@ -30,6 +30,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; @@ -158,7 +159,7 @@ return rightsideFormulaMap; } - private Collection dataValues; + private Collection dataValues = new HashSet(); public Collection getDataValues() { @@ -177,63 +178,67 @@ Period selectedPeriod = selectedStateManager.getSelectedPeriod(); - Period period = periodService.getPeriod( selectedPeriod.getStartDate(), selectedPeriod.getEndDate(), - selectedPeriod.getPeriodType() ); - - DataSet dataSet = selectedStateManager.getSelectedDataSet(); - - // --------------------------------------------------------------------- - // Min-max and outlier analysis - // --------------------------------------------------------------------- - Collection minmaxs = minMaxDataElementService.getMinMaxDataElements( orgUnit, dataSet - .getDataElements() ); - if ( minmaxs == null ) - { - - Double factor = (Double) systemSettingManager.getSystemSetting( - SystemSettingManager.KEY_FACTOR_OF_DEVIATION, 2.0 ); - - Collection stdDevs = stdDevOutlierAnalysisService.analyse( orgUnit, dataSet - .getDataElements(), ListUtils.getCollection( period ), factor ); - - Collection minMaxs = minMaxOutlierAnalysisService.analyse( orgUnit, dataSet - .getDataElements(), ListUtils.getCollection( period ), null ); - - dataValues = CollectionUtils.union( stdDevs, minMaxs ); - } - else - { - dataValues = minMaxValuesGenerationService.findOutliers( orgUnit, ListUtils.getCollection( period ), - minmaxs ); - } - - log.info( "Number of outlier values: " + dataValues.size() ); - - // --------------------------------------------------------------------- - // Validation rule analysis - // --------------------------------------------------------------------- - - results = new ArrayList( validationRuleService.validate( dataSet, period, orgUnit ) ); - - log.info( "Number of validation violations: " + results.size() ); - - if ( results.size() > 0 ) - { - leftsideFormulaMap = new HashMap( results.size() ); - rightsideFormulaMap = new HashMap( results.size() ); - - for ( ValidationResult result : results ) - { - ValidationRule rule = result.getValidationRule(); - - leftsideFormulaMap.put( rule.getId(), expressionService.getExpressionDescription( rule.getLeftSide() - .getExpression() ) ); - - rightsideFormulaMap.put( rule.getId(), expressionService.getExpressionDescription( rule.getRightSide() - .getExpression() ) ); - } - } - + if ( orgUnit != null && selectedPeriod != null ) + { + Period period = periodService.getPeriod( selectedPeriod.getStartDate(), selectedPeriod.getEndDate(), + selectedPeriod.getPeriodType() ); + + DataSet dataSet = selectedStateManager.getSelectedDataSet(); + + // --------------------------------------------------------------------- + // Min-max and outlier analysis + // --------------------------------------------------------------------- + + Collection minmaxs = minMaxDataElementService.getMinMaxDataElements( orgUnit, dataSet.getDataElements() ); + + if ( minmaxs == null ) + { + + Double factor = (Double) systemSettingManager.getSystemSetting( + SystemSettingManager.KEY_FACTOR_OF_DEVIATION, 2.0 ); + + Collection stdDevs = stdDevOutlierAnalysisService.analyse( orgUnit, dataSet + .getDataElements(), ListUtils.getCollection( period ), factor ); + + Collection minMaxs = minMaxOutlierAnalysisService.analyse( orgUnit, dataSet + .getDataElements(), ListUtils.getCollection( period ), null ); + + dataValues = CollectionUtils.union( stdDevs, minMaxs ); + } + else + { + dataValues = minMaxValuesGenerationService.findOutliers( orgUnit, ListUtils.getCollection( period ), + minmaxs ); + } + + log.info( "Number of outlier values: " + dataValues.size() ); + + // --------------------------------------------------------------------- + // Validation rule analysis + // --------------------------------------------------------------------- + + results = new ArrayList( validationRuleService.validate( dataSet, period, orgUnit ) ); + + log.info( "Number of validation violations: " + results.size() ); + + if ( results.size() > 0 ) + { + leftsideFormulaMap = new HashMap( results.size() ); + rightsideFormulaMap = new HashMap( results.size() ); + + for ( ValidationResult result : results ) + { + ValidationRule rule = result.getValidationRule(); + + leftsideFormulaMap.put( rule.getId(), expressionService.getExpressionDescription( rule.getLeftSide() + .getExpression() ) ); + + rightsideFormulaMap.put( rule.getId(), expressionService.getExpressionDescription( rule.getRightSide() + .getExpression() ) ); + } + } + } + return dataValues.size() == 0 && results.size() == 0 ? NONE : SUCCESS; } }