=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2014-01-02 13:13:21 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2014-01-09 10:09:43 +0000 @@ -270,10 +270,10 @@ organisationUnit.getDataSets().add( this ); } - public void removeOrganisationUnit( OrganisationUnit organisationUnit ) + public boolean removeOrganisationUnit( OrganisationUnit organisationUnit ) { sources.remove( organisationUnit ); - organisationUnit.getDataSets().remove( this ); + return organisationUnit.getDataSets().remove( this ); } public void removeAllOrganisationUnits() @@ -308,10 +308,10 @@ group.getDataSets().add( this ); } - public void removeOrganisationUnitGroup( OrganisationUnitGroup group ) + public boolean removeOrganisationUnitGroup( OrganisationUnitGroup group ) { organisationUnitGroups.remove( group ); - group.getDataSets().remove( this ); + return group.getDataSets().remove( this ); } public void removeAllOrganisationUnitGroups() @@ -346,10 +346,10 @@ dataElement.getDataSets().add( this ); } - public void removeDataElement( DataElement dataElement ) + public boolean removeDataElement( DataElement dataElement ) { dataElements.remove( dataElement ); - dataElement.getDataSets().remove( dataElement ); + return dataElement.getDataSets().remove( dataElement ); } public void updateDataElements( Set updates ) @@ -374,10 +374,10 @@ indicator.getDataSets().add( this ); } - public void removeIndicator( Indicator indicator ) + public boolean removeIndicator( Indicator indicator ) { indicators.remove( indicator ); - indicator.getDataSets().remove( this ); + return indicator.getDataSets().remove( this ); } public void addCompulsoryDataElementOperand( DataElementOperand dataElementOperand ) === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DataElementDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DataElementDeletionHandler.java 2013-12-20 12:15:39 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DataElementDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -103,7 +103,7 @@ while ( iterator.hasNext() ) { DataElement element = iterator.next(); - element.getDataSets().remove( dataSet ); + element.removeDataSet( dataSet ); dataElementService.updateDataElement( element ); } } @@ -116,7 +116,7 @@ while ( iterator.hasNext() ) { DataElement element = iterator.next(); - element.getGroups().remove( group ); + element.removeDataElementGroup( group ); dataElementService.updateDataElement( element ); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DataElementGroupDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DataElementGroupDeletionHandler.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataelement/DataElementGroupDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -68,7 +68,7 @@ while ( iterator.hasNext() ) { DataElementGroup group = iterator.next(); - group.getMembers().remove( dataElement ); + group.removeDataElement( dataElement ); dataElementService.updateDataElementGroup( group ); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DataSetDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DataSetDeletionHandler.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DataSetDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -68,20 +68,26 @@ @Override public void deleteDataElement( DataElement dataElement ) { + Iterator iterator = dataElement.getDataSets().iterator(); + + while ( iterator.hasNext() ) + { + DataSet dataSet = iterator.next(); + dataSet.removeDataElement( dataElement ); + dataSetService.updateDataSet( dataSet ); + } + for ( DataSet dataSet : dataSetService.getAllDataSets() ) { boolean update = false; - if ( dataSet.getDataElements().remove( dataElement ) ) - { - update = true; - } - Iterator operands = dataSet.getCompulsoryDataElementOperands().iterator(); while ( operands.hasNext() ) { - if ( operands.next().getDataElement().equals( dataElement ) ) + DataElementOperand operand = operands.next(); + + if ( operand.getDataElement().equals( dataElement ) ) { operands.remove(); update = true; @@ -103,7 +109,7 @@ while ( iterator.hasNext() ) { DataSet dataSet = iterator.next(); - dataSet.getIndicators().remove( indicator ); + dataSet.removeIndicator( indicator ); dataSetService.updateDataSet( dataSet ); } } @@ -128,7 +134,7 @@ while ( iterator.hasNext() ) { DataSet dataSet = iterator.next(); - dataSet.getSources().remove( unit ); + dataSet.removeOrganisationUnit( unit ); dataSetService.updateDataSet( dataSet ); } } @@ -141,7 +147,7 @@ while ( iterator.hasNext() ) { DataSet dataSet = iterator.next(); - dataSet.getOrganisationUnitGroups().remove( group ); + dataSet.removeOrganisationUnitGroup( group ); dataSetService.updateDataSet( dataSet ); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java 2013-12-20 12:15:39 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -96,7 +96,7 @@ while ( iterator.hasNext() ) { Indicator indicator = iterator.next(); - indicator.getGroups().remove( group ); + indicator.removeIndicatorGroup( group ); indicatorService.updateIndicator( indicator ); } } @@ -109,7 +109,7 @@ while ( iterator.hasNext() ) { Indicator indicator = iterator.next(); - indicator.getDataSets().remove( dataSet ); + indicator.removeDataSet( dataSet ); indicatorService.updateIndicator( indicator ); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorGroupDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorGroupDeletionHandler.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/IndicatorGroupDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -67,7 +67,7 @@ while ( iterator.hasNext() ) { IndicatorGroup group = iterator.next(); - group.getMembers().remove( indicator ); + group.removeIndicator( indicator ); indicatorService.updateIndicatorGroup( group ); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupDeletionHandler.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -69,7 +69,7 @@ while ( iterator.hasNext() ) { OrganisationUnitGroup group = iterator.next(); - group.getMembers().remove( unit ); + group.removeOrganisationUnit( unit ); organisationUnitGroupService.updateOrganisationUnitGroup( group ); } } @@ -82,7 +82,7 @@ while ( iterator.hasNext() ) { OrganisationUnitGroup group = iterator.next(); - group.getDataSets().remove( dataSet ); + group.removeDataSet( dataSet ); organisationUnitGroupService.updateOrganisationUnitGroup( group ); } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/validation/ValidationRuleDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/validation/ValidationRuleDeletionHandler.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/validation/ValidationRuleDeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -35,7 +35,6 @@ /** * @author Lars Helge Overland - * @version $Id$ */ public class ValidationRuleDeletionHandler extends DeletionHandler @@ -80,4 +79,17 @@ } } } + + @Override + public void deleteValidationRuleGroup( ValidationRule validationRule ) + { + Iterator iterator = validationRule.getGroups().iterator(); + + while ( iterator.hasNext() ) + { + ValidationRuleGroup group = iterator.next(); + iterator.remove(); + validationRuleService.updateValidationRuleGroup( group ); + } + } } === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java' --- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java 2013-12-13 11:08:00 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java 2014-01-09 10:09:43 +0000 @@ -339,6 +339,15 @@ { return null; } + + public void deleteValidationRuleGroup( ValidationRule validationRule ) + { + } + + public String allowDeleteValidationRuleGroup( ValidationRule validationRule ) + { + return null; + } public void deleteValidationRuleGroup( ValidationRuleGroup validationRuleGroup ) { === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/DataElementGroupController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/DataElementGroupController.java 2014-01-08 11:19:03 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/DataElementGroupController.java 2014-01-09 10:09:43 +0000 @@ -28,7 +28,12 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import com.google.common.collect.Lists; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.hisp.dhis.api.controller.AbstractCrudController; import org.hisp.dhis.api.controller.WebMetaData; import org.hisp.dhis.api.controller.WebOptions; @@ -38,7 +43,6 @@ import org.hisp.dhis.common.PagerUtils; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementGroup; -import org.hisp.dhis.dxf2.metadata.MetaData; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.util.StringUtils; @@ -47,11 +51,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import com.google.common.collect.Lists; /** * @author Morten Olav Hansen