@@ -3625,25 +3625,30 @@ public Pair<List<AffinityGroupJoinVO>, Integer> searchForAffinityGroupsInternal(
36253625 if (domainId != null ) {
36263626 SearchCriteria <AffinityGroupJoinVO > scDomain = buildAffinityGroupSearchCriteria (null , isRecursive , new ArrayList <Long >(), listProjectResourcesCriteria , affinityGroupId ,
36273627 affinityGroupName , affinityGroupType , keyword );
3628- affinityGroups .addAll (listDomainLevelAffinityGroups (scDomain , searchFilter , domainId ));
3628+ Pair <List <AffinityGroupJoinVO >, Integer > groupsPair = listDomainLevelAffinityGroups (scDomain , searchFilter , domainId );
3629+ affinityGroups .addAll (groupsPair .first ());
3630+ count += groupsPair .second ();
36293631 } else {
36303632
36313633 for (Long permAcctId : permittedAccounts ) {
36323634 Account permittedAcct = _accountDao .findById (permAcctId );
36333635 SearchCriteria <AffinityGroupJoinVO > scDomain = buildAffinityGroupSearchCriteria (null , isRecursive , new ArrayList <Long >(), listProjectResourcesCriteria , affinityGroupId ,
36343636 affinityGroupName , affinityGroupType , keyword );
3635-
3636- affinityGroups .addAll (listDomainLevelAffinityGroups (scDomain , searchFilter , permittedAcct .getDomainId ()));
3637+ Pair <List <AffinityGroupJoinVO >, Integer > groupsPair = listDomainLevelAffinityGroups (scDomain , searchFilter , permittedAcct .getDomainId ());
3638+ affinityGroups .addAll (groupsPair .first ());
3639+ count += groupsPair .second ();
36373640 }
36383641 }
36393642 } else if (((permittedAccounts .isEmpty ()) && (domainId != null ) && isRecursive )) {
36403643 // list all domain level affinity groups for the domain admin case
36413644 SearchCriteria <AffinityGroupJoinVO > scDomain = buildAffinityGroupSearchCriteria (null , isRecursive , new ArrayList <Long >(), listProjectResourcesCriteria , affinityGroupId , affinityGroupName ,
36423645 affinityGroupType , keyword );
3643- affinityGroups .addAll (listDomainLevelAffinityGroups (scDomain , searchFilter , domainId ));
3646+ Pair <List <AffinityGroupJoinVO >, Integer > groupsPair = listDomainLevelAffinityGroups (scDomain , searchFilter , domainId );
3647+ affinityGroups .addAll (groupsPair .first ());
3648+ count += groupsPair .second ();
36443649 }
36453650
3646- return new Pair <List <AffinityGroupJoinVO >, Integer >(affinityGroups , affinityGroups . size () );
3651+ return new Pair <List <AffinityGroupJoinVO >, Integer >(affinityGroups , count );
36473652
36483653 }
36493654
@@ -3741,7 +3746,7 @@ private Pair<List<AffinityGroupJoinVO>, Integer> listAffinityGroupsByVM(long vmI
37413746 return new Pair <List <AffinityGroupJoinVO >, Integer >(ags , count );
37423747 }
37433748
3744- private List <AffinityGroupJoinVO > listDomainLevelAffinityGroups (SearchCriteria <AffinityGroupJoinVO > sc , Filter searchFilter , long domainId ) {
3749+ private Pair < List <AffinityGroupJoinVO >, Integer > listDomainLevelAffinityGroups (SearchCriteria <AffinityGroupJoinVO > sc , Filter searchFilter , long domainId ) {
37453750 List <Long > affinityGroupIds = new ArrayList <Long >();
37463751 Set <Long > allowedDomains = _domainMgr .getDomainParentIds (domainId );
37473752 List <AffinityGroupDomainMapVO > maps = _affinityGroupDomainMapDao .listByDomain (allowedDomains .toArray ());
@@ -3765,7 +3770,7 @@ private List<AffinityGroupJoinVO> listDomainLevelAffinityGroups(SearchCriteria<A
37653770 Integer count = uniqueGroupsPair .second ();
37663771 if (count .intValue () == 0 ) {
37673772 // empty result
3768- return new ArrayList <AffinityGroupJoinVO >();
3773+ return new Pair <>( new ArrayList <AffinityGroupJoinVO >(), 0 );
37693774 }
37703775 List <AffinityGroupJoinVO > uniqueGroups = uniqueGroupsPair .first ();
37713776 Long [] vrIds = new Long [uniqueGroups .size ()];
@@ -3774,9 +3779,9 @@ private List<AffinityGroupJoinVO> listDomainLevelAffinityGroups(SearchCriteria<A
37743779 vrIds [i ++] = v .getId ();
37753780 }
37763781 List <AffinityGroupJoinVO > vrs = _affinityGroupJoinDao .searchByIds (vrIds );
3777- return vrs ;
3782+ return new Pair <>( vrs , count ) ;
37783783 } else {
3779- return new ArrayList <AffinityGroupJoinVO >();
3784+ return new Pair <>( new ArrayList <AffinityGroupJoinVO >(), 0 );
37803785 }
37813786 }
37823787
0 commit comments