=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2014-03-24 09:51:04 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2014-04-17 04:48:57 +0000 @@ -28,6 +28,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.common.collect.Maps; import org.apache.commons.collections.CollectionUtils; import org.hisp.dhis.common.IdentifiableObjectUtils; import org.hisp.dhis.dataset.DataSet; @@ -553,8 +554,21 @@ public OrganisationUnitDataSetAssociationSet getOrganisationUnitDataSetAssociationSet() { - Map> associationSet = organisationUnitStore.getOrganisationUnitDataSetAssocationMap(); - associationSet.putAll( organisationUnitStore.getOrganisationUnitGroupDataSetAssocationMap() ); + Map> associationSet = Maps.newHashMap( organisationUnitStore.getOrganisationUnitDataSetAssocationMap() ); + Map> groupAssociationSet = organisationUnitStore.getOrganisationUnitGroupDataSetAssocationMap(); + + // merge maps + for ( String key : groupAssociationSet.keySet() ) + { + if ( associationSet.containsKey( key ) ) + { + associationSet.get( key ).addAll( groupAssociationSet.get( key ) ); + } + else + { + associationSet.put( key, groupAssociationSet.get( key ) ); + } + } filterUserDataSets( associationSet ); filterChildOrganisationUnits( associationSet );