=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java 2014-10-31 15:32:24 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java 2014-10-31 15:49:17 +0000 @@ -33,6 +33,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import org.apache.commons.logging.Log; @@ -58,6 +59,9 @@ import org.hisp.dhis.user.CurrentUserService; import org.springframework.transaction.annotation.Transactional; +import com.google.common.base.Function; +import com.google.common.collect.Maps; + /** * @author Jim Grace @@ -438,6 +442,17 @@ // Supportive methods // ------------------------------------------------------------------------- + private Map getIndexedMap( List dataApprovalList ) + { + return Maps.uniqueIndex( dataApprovalList, new Function() + { + public String apply( DataApproval approval ) + { + return approval != null ? approval.getOrganisationUnit().getId() + "-" + approval.getPeriod().getId() : null; + } + } ); + } + private void tracePrint( String s ) // Temporary, for development { // System.out.println( s );