=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueService.java 2015-09-21 12:17:42 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueService.java 2015-12-04 16:57:18 +0000 @@ -84,6 +84,13 @@ * @param dataValue the DataValue to delete. */ void deleteDataValue( DataValue dataValue ); + + /** + * Deletes all data values for the given organisation unit. + * + * @param organisationUnit the organisation unit. + */ + void deleteDataValues( OrganisationUnit organisationUnit ); /** * Returns a DataValue. === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueStore.java 2015-09-21 12:17:42 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueStore.java 2015-12-04 16:57:18 +0000 @@ -79,6 +79,13 @@ void deleteDataValue( DataValue dataValue ); /** + * Deletes all data values for the given organisation unit. + * + * @param organisationUnit the organisation unit. + */ + void deleteDataValues( OrganisationUnit organisationUnit ); + + /** * Returns a DataValue. * * @param dataElement the DataElement of the DataValue. === 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 2015-12-01 04:59:42 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueService.java 2015-12-04 16:57:18 +0000 @@ -189,7 +189,14 @@ dataValueStore.deleteDataValue( dataValue ); } - + + @Override + @Transactional + public void deleteDataValues( OrganisationUnit organisationUnit ) + { + dataValueStore.deleteDataValues( organisationUnit ); + } + @Override public DataValue getDataValue( DataElement dataElement, Period period, OrganisationUnit source, DataElementCategoryOptionCombo categoryOptionCombo ) { === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueStore.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueStore.java 2015-09-21 12:17:42 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueStore.java 2015-12-04 16:57:18 +0000 @@ -133,6 +133,17 @@ } @Override + public void deleteDataValues( OrganisationUnit organisationUnit ) + { + String hql = "delete from DataValue d where d.source = :source"; + + Query query = sessionFactory.getCurrentSession().createQuery( hql ); + query.setEntity( "source", organisationUnit ); + + query.executeUpdate(); + } + + @Override public DataValue getDataValue( DataElement dataElement, Period period, OrganisationUnit source, DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo ) {