=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java 2009-03-03 16:46:36 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java 2009-09-26 07:35:21 +0000 @@ -69,6 +69,28 @@ } // ------------------------------------------------------------------------- + // Logic + // ------------------------------------------------------------------------- + + public boolean hasOrganisationUnitGroups() + { + return organisationUnitGroups != null && organisationUnitGroups.size() > 0; + } + + public boolean isMemberOfOrganisationUnitGroups( OrganisationUnit organisationUnit ) + { + for ( OrganisationUnitGroup group : organisationUnitGroups ) + { + if ( group.getMembers().contains( organisationUnit ) ) + { + return true; + } + } + + return false; + } + + // ------------------------------------------------------------------------- // hashCode and equals // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-services/dhis-service-organisationunit/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitGroupService.java' --- dhis-2/dhis-services/dhis-service-organisationunit/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitGroupService.java 2009-09-07 15:53:27 +0000 +++ dhis-2/dhis-services/dhis-service-organisationunit/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitGroupService.java 2009-09-26 07:35:21 +0000 @@ -234,17 +234,12 @@ { Collection groupSets = new ArrayList(); - groupSetLoop : for ( OrganisationUnitGroupSet groupSet : getCompulsoryOrganisationUnitGroupSets() ) + for ( OrganisationUnitGroupSet groupSet : getCompulsoryOrganisationUnitGroupSets() ) { - for ( OrganisationUnitGroup group : groupSet.getOrganisationUnitGroups() ) + if ( !groupSet.isMemberOfOrganisationUnitGroups( organisationUnit ) && groupSet.hasOrganisationUnitGroups() ) { - if ( group.getMembers().contains( organisationUnit ) ) - { - continue groupSetLoop; - } + groupSets.add( groupSet ); } - - groupSets.add( groupSet ); } return groupSets;