This is an automated email from the ASF dual-hosted git repository.

weizhou pushed a commit to branch 4.18
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.18 by this push:
     new e8b491177f1 server: Replace Hashtable with LinkedHashMap in 
createIsoResponse (#7844)
e8b491177f1 is described below

commit e8b491177f16882879bbcff4bfd7022dd61bae67
Author: Charles Queiroz <[email protected]>
AuthorDate: Wed Aug 16 07:58:41 2023 +0100

    server: Replace Hashtable with LinkedHashMap in createIsoResponse (#7844)
    
    * Replace Hashtable with LinkedHashMap in createIsoResponse
    
    This change replaces the use of Hashtable with LinkedHashMap in the 
`createIsoResponse` method of `ViewResponseHelper`.
     The reason for this modification is to maintain the insertion order of 
entries, which isn't the case with Hashtable.
      This could lead to more predictable results and behaviors in calling 
methods.
    
    * Replace Hashtable with LinkedHashMap in view response creation methods
    
    Changed Hashtable to LinkedHashMap in various response creation methods 
within ViewResponseHelper class.
    This modification ensures an ordered iteration which is beneficial for 
scenarios where the insertion order of responses needs to be maintained 
consistently.
    
    ---------
    
    Co-authored-by: Sina Kashipazha <[email protected]>
---
 .../com/cloud/api/query/ViewResponseHelper.java    | 29 +++++++++++-----------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/server/src/main/java/com/cloud/api/query/ViewResponseHelper.java 
b/server/src/main/java/com/cloud/api/query/ViewResponseHelper.java
index 8fd42ea3c41..48031425bb8 100644
--- a/server/src/main/java/com/cloud/api/query/ViewResponseHelper.java
+++ b/server/src/main/java/com/cloud/api/query/ViewResponseHelper.java
@@ -21,7 +21,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.EnumSet;
 import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -150,7 +149,7 @@ public class ViewResponseHelper {
     public static List<UserVmResponse> createUserVmResponse(ResponseView view, 
String objectName, Set<VMDetails> details, Boolean accumulateStats, Boolean 
showUserData,
             UserVmJoinVO... userVms) {
         Account caller = CallContext.current().getCallingAccount();
-        Hashtable<Long, UserVmResponse> vmDataList = new Hashtable<Long, 
UserVmResponse>();
+        LinkedHashMap<Long, UserVmResponse> vmDataList = new LinkedHashMap<>();
         // Initialise the vmdatalist with the input data
 
         for (UserVmJoinVO userVm : userVms) {
@@ -169,7 +168,7 @@ public class ViewResponseHelper {
 
     public static List<DomainRouterResponse> 
createDomainRouterResponse(DomainRouterJoinVO... routers) {
         Account caller = CallContext.current().getCallingAccount();
-        Hashtable<Long, DomainRouterResponse> vrDataList = new Hashtable<Long, 
DomainRouterResponse>();
+        LinkedHashMap<Long, DomainRouterResponse> vrDataList = new 
LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (DomainRouterJoinVO vr : routers) {
             DomainRouterResponse vrData = vrDataList.get(vr.getId());
@@ -187,7 +186,7 @@ public class ViewResponseHelper {
 
     public static List<SecurityGroupResponse> 
createSecurityGroupResponses(List<SecurityGroupJoinVO> securityGroups) {
         Account caller = CallContext.current().getCallingAccount();
-        Hashtable<Long, SecurityGroupResponse> vrDataList = new 
Hashtable<Long, SecurityGroupResponse>();
+        LinkedHashMap<Long, SecurityGroupResponse> vrDataList = new 
LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (SecurityGroupJoinVO vr : securityGroups) {
             SecurityGroupResponse vrData = vrDataList.get(vr.getId());
@@ -205,7 +204,7 @@ public class ViewResponseHelper {
     }
 
     public static List<ProjectResponse> 
createProjectResponse(EnumSet<DomainDetails> details, ProjectJoinVO... 
projects) {
-        Hashtable<Long, ProjectResponse> prjDataList = new Hashtable<Long, 
ProjectResponse>();
+        LinkedHashMap<Long, ProjectResponse> prjDataList = new 
LinkedHashMap<>();
         // Initialise the prjdatalist with the input data
         for (ProjectJoinVO p : projects) {
             ProjectResponse pData = prjDataList.get(p.getId());
@@ -247,7 +246,7 @@ public class ViewResponseHelper {
     }
 
     public static List<HostResponse> createHostResponse(EnumSet<HostDetails> 
details, HostJoinVO... hosts) {
-        Hashtable<Long, HostResponse> vrDataList = new Hashtable<Long, 
HostResponse>();
+        LinkedHashMap<Long, HostResponse> vrDataList = new LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (HostJoinVO vr : hosts) {
             HostResponse vrData = ApiDBUtils.newHostResponse(vr, details);
@@ -257,7 +256,7 @@ public class ViewResponseHelper {
     }
 
     public static List<HostForMigrationResponse> 
createHostForMigrationResponse(EnumSet<HostDetails> details, HostJoinVO... 
hosts) {
-        Hashtable<Long, HostForMigrationResponse> vrDataList = new 
Hashtable<Long, HostForMigrationResponse>();
+        LinkedHashMap<Long, HostForMigrationResponse> vrDataList = new 
LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (HostJoinVO vr : hosts) {
             HostForMigrationResponse vrData = 
ApiDBUtils.newHostForMigrationResponse(vr, details);
@@ -267,7 +266,7 @@ public class ViewResponseHelper {
     }
 
     public static List<VolumeResponse> createVolumeResponse(ResponseView view, 
VolumeJoinVO... volumes) {
-        Hashtable<Long, VolumeResponse> vrDataList = new Hashtable<Long, 
VolumeResponse>();
+        LinkedHashMap<Long, VolumeResponse> vrDataList = new LinkedHashMap<>();
         DecimalFormat df = new DecimalFormat("0.0%");
         for (VolumeJoinVO vr : volumes) {
             VolumeResponse vrData = vrDataList.get(vr.getId());
@@ -308,7 +307,7 @@ public class ViewResponseHelper {
     }
 
     public static List<StoragePoolResponse> 
createStoragePoolResponse(StoragePoolJoinVO... pools) {
-        Hashtable<Long, StoragePoolResponse> vrDataList = new Hashtable<Long, 
StoragePoolResponse>();
+        LinkedHashMap<Long, StoragePoolResponse> vrDataList = new 
LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (StoragePoolJoinVO vr : pools) {
             StoragePoolResponse vrData = vrDataList.get(vr.getId());
@@ -345,7 +344,7 @@ public class ViewResponseHelper {
     }
 
     public static List<ImageStoreResponse> 
createImageStoreResponse(ImageStoreJoinVO... stores) {
-        Hashtable<Long, ImageStoreResponse> vrDataList = new Hashtable<Long, 
ImageStoreResponse>();
+        LinkedHashMap<Long, ImageStoreResponse> vrDataList = new 
LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (ImageStoreJoinVO vr : stores) {
             ImageStoreResponse vrData = vrDataList.get(vr.getId());
@@ -362,7 +361,7 @@ public class ViewResponseHelper {
     }
 
     public static List<StoragePoolResponse> 
createStoragePoolForMigrationResponse(StoragePoolJoinVO... pools) {
-        Hashtable<Long, StoragePoolResponse> vrDataList = new Hashtable<Long, 
StoragePoolResponse>();
+        LinkedHashMap<Long, StoragePoolResponse> vrDataList = new 
LinkedHashMap<>();
         // Initialise the vrdatalist with the input data
         for (StoragePoolJoinVO vr : pools) {
             StoragePoolResponse vrData = vrDataList.get(vr.getId());
@@ -577,7 +576,7 @@ public class ViewResponseHelper {
     }
 
     public static List<TemplateResponse> 
createTemplateResponse(EnumSet<ApiConstants.DomainDetails> detailsView, 
ResponseView view, TemplateJoinVO... templates) {
-        LinkedHashMap<String, TemplateResponse> vrDataList = new 
LinkedHashMap<String, TemplateResponse>();
+        LinkedHashMap<String, TemplateResponse> vrDataList = new 
LinkedHashMap<>();
         for (TemplateJoinVO vr : templates) {
             TemplateResponse vrData = vrDataList.get(vr.getTempZonePair());
             if (vrData == null) {
@@ -594,7 +593,7 @@ public class ViewResponseHelper {
     }
 
     public static List<TemplateResponse> 
createTemplateUpdateResponse(ResponseView view, TemplateJoinVO... templates) {
-        Hashtable<Long, TemplateResponse> vrDataList = new Hashtable<Long, 
TemplateResponse>();
+        LinkedHashMap<Long, TemplateResponse> vrDataList = new 
LinkedHashMap<>();
         for (TemplateJoinVO vr : templates) {
             TemplateResponse vrData = vrDataList.get(vr.getId());
             if (vrData == null) {
@@ -610,7 +609,7 @@ public class ViewResponseHelper {
     }
 
     public static List<TemplateResponse> createIsoResponse(ResponseView view, 
TemplateJoinVO... templates) {
-        Hashtable<String, TemplateResponse> vrDataList = new Hashtable<>();
+        LinkedHashMap<String, TemplateResponse> vrDataList = new 
LinkedHashMap<>();
         for (TemplateJoinVO vr : templates) {
             TemplateResponse vrData = vrDataList.get(vr.getTempZonePair());
             if (vrData == null) {
@@ -626,7 +625,7 @@ public class ViewResponseHelper {
     }
 
     public static List<AffinityGroupResponse> 
createAffinityGroupResponses(List<AffinityGroupJoinVO> groups) {
-        Hashtable<Long, AffinityGroupResponse> vrDataList = new 
Hashtable<Long, AffinityGroupResponse>();
+        LinkedHashMap<Long, AffinityGroupResponse> vrDataList = new 
LinkedHashMap<>();
         for (AffinityGroupJoinVO vr : groups) {
             AffinityGroupResponse vrData = vrDataList.get(vr.getId());
             if (vrData == null) {

Reply via email to