rohityadavcloud commented on code in PR #9096:
URL: https://github.com/apache/cloudstack/pull/9096#discussion_r1610359422


##########
server/src/main/java/com/cloud/network/NetworkServiceImpl.java:
##########
@@ -2322,41 +2322,52 @@ public Pair<List<? extends Network>, Integer> 
searchForNetworks(ListNetworksCmd
             sb.join("associatedNetworkSearch", associatedNetworkSearch, 
sb.entity().getId(), associatedNetworkSearch.entity().getResourceId(), 
JoinBuilder.JoinType.INNER);
         }
 
-        List<NetworkVO> networksToReturn = new ArrayList<NetworkVO>();
+        Pair<List<NetworkVO>, Integer> networks;
+        Pair<List<NetworkVO>, Integer> networksToReturn = new Pair<>(new 
ArrayList<NetworkVO>(), 0);
 
         if (isSystem == null || !isSystem) {
             if (!permittedAccounts.isEmpty()) {
                 if (Arrays.asList(Network.NetworkFilter.Account, 
Network.NetworkFilter.AccountDomain, 
Network.NetworkFilter.All).contains(networkFilter)) {
                     //get account level networks
-                    
networksToReturn.addAll(listAccountSpecificNetworks(buildNetworkSearchCriteria(sb,
 keyword, id, isSystem, zoneId, guestIpType, trafficType, physicalNetworkId, 
networkOfferingId,
-                            aclType, skipProjectNetworks, restartRequired, 
specifyIpRanges, vpcId, tags, display, vlanId, associatedNetworkId), 
searchFilter, permittedAccounts));
+                    networks = 
listAccountSpecificNetworks(buildNetworkSearchCriteria(sb, keyword, id, 
isSystem, zoneId, guestIpType, trafficType, physicalNetworkId, 
networkOfferingId,
+                            aclType, skipProjectNetworks, restartRequired, 
specifyIpRanges, vpcId, tags, display, vlanId, associatedNetworkId), 
searchFilter, permittedAccounts);
+                    networksToReturn.first().addAll(networks.first());
+                    networksToReturn.second(networksToReturn.second() + 
networks.second());
                 }
                 if (domainId != null && 
Arrays.asList(Network.NetworkFilter.Domain, 
Network.NetworkFilter.AccountDomain, 
Network.NetworkFilter.All).contains(networkFilter)) {
                     //get domain level networks
-                    
networksToReturn.addAll(listDomainLevelNetworks(buildNetworkSearchCriteria(sb, 
keyword, id, isSystem, zoneId, guestIpType, trafficType, physicalNetworkId, 
networkOfferingId,
-                            aclType, true, restartRequired, specifyIpRanges, 
vpcId, tags, display, vlanId, associatedNetworkId), searchFilter, domainId, 
false));
+                    networks = 
listDomainLevelNetworks(buildNetworkSearchCriteria(sb, keyword, id, isSystem, 
zoneId, guestIpType, trafficType, physicalNetworkId, networkOfferingId,
+                            aclType, true, restartRequired, specifyIpRanges, 
vpcId, tags, display, vlanId, associatedNetworkId), searchFilter, domainId, 
false);
+                    networksToReturn.first().addAll(networks.first());
+                    networksToReturn.second(networksToReturn.second() + 
networks.second());
                 }
                 if (Arrays.asList(Network.NetworkFilter.Shared, 
Network.NetworkFilter.All).contains(networkFilter)) {
                     // get shared networks
-                    List<NetworkVO> sharedNetworks = 
listSharedNetworks(buildNetworkSearchCriteria(sb, keyword, id, isSystem, 
zoneId, guestIpType, trafficType, physicalNetworkId, networkOfferingId,
+                    Pair<List<NetworkVO>, Integer> sharedNetworks = 
listSharedNetworks(buildNetworkSearchCriteria(sb, keyword, id, isSystem, 
zoneId, guestIpType, trafficType, physicalNetworkId, networkOfferingId,
                             aclType, true, restartRequired, specifyIpRanges, 
vpcId, tags, display, vlanId, associatedNetworkId), searchFilter, 
permittedAccounts);
-                    addNetworksToReturnIfNotExist(networksToReturn, 
sharedNetworks);
+                    addNetworksToReturnIfNotExist(networksToReturn, 
sharedNetworks.first());

Review Comment:
   This needs to be accurate too. Perhaps once the query returns the page, we 
can call a dao::getCount() passing only the list of IDs?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to