=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DataApprovalController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DataApprovalController.java 2015-12-01 18:08:11 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DataApprovalController.java 2015-12-02 01:20:01 +0000 @@ -29,6 +29,7 @@ */ import org.hisp.dhis.common.IdentifiableObjectManager; +import org.hisp.dhis.common.SetMap; import org.hisp.dhis.dataapproval.DataApproval; import org.hisp.dhis.dataapproval.DataApprovalLevel; import org.hisp.dhis.dataapproval.DataApprovalLevelService; @@ -79,8 +80,6 @@ import java.util.Set; import static com.google.common.collect.Lists.newArrayList; -import static java.util.AbstractMap.SimpleEntry; - /** * This controller uses both /dataApprovals and /dataAcceptances. @@ -266,18 +265,21 @@ OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( ou ); - Set> pairs = new HashSet<>(); + SetMap workflowCategoryComboMap = new SetMap<>(); for ( DataSet dataSet : dataSets ) { - pairs.add( new SimpleEntry<>( dataSet.getWorkflow(), dataSet.getCategoryCombo() ) ); + workflowCategoryComboMap.putValue( dataSet.getWorkflow(), dataSet.getCategoryCombo() ); } List statusList = new ArrayList<>(); - for ( SimpleEntry pair : pairs ) + for ( DataApprovalWorkflow workflow : workflowCategoryComboMap.keySet() ) { - statusList.addAll( dataApprovalService.getUserDataApprovalsAndPermissions( pair.getKey(), period, orgUnit, pair.getValue() ) ); + for ( DataElementCategoryCombo attributeCombo : workflowCategoryComboMap.get( workflow ) ) + { + statusList.addAll( dataApprovalService.getUserDataApprovalsAndPermissions( workflow, period, orgUnit, attributeCombo ) ); + } } List> list = new ArrayList<>();