From 5d758fcc9c44cde84ca61a04175a0732b5cf1897 Mon Sep 17 00:00:00 2001 From: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com> Date: Tue, 29 Jul 2025 09:23:11 +0530 Subject: [PATCH 1/2] fix listCapacity sort by usage --- .../cloudstack/api/command/admin/resource/ListCapacityCmd.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java index 253677616f03..45e1cb1cea13 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java @@ -129,6 +129,8 @@ public int compare(CapacityResponse resp1, CapacityResponse resp2) { int res = resp1.getZoneName().compareTo(resp2.getZoneName()); if (res != 0) { return res; + } else if (getSortBy() != null) { + return 0; } else { return resp1.getCapacityType().compareTo(resp2.getCapacityType()); } From 21d509abc9925f71dfe3f1048169a4bd5295e95e Mon Sep 17 00:00:00 2001 From: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com> Date: Tue, 29 Jul 2025 17:03:02 +0530 Subject: [PATCH 2/2] make the code more readable, add comments --- .../api/command/admin/resource/ListCapacityCmd.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java index 45e1cb1cea13..fdc1087377f0 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/resource/ListCapacityCmd.java @@ -127,16 +127,16 @@ public void execute() { Collections.sort(capacityResponses, new Comparator() { public int compare(CapacityResponse resp1, CapacityResponse resp2) { int res = resp1.getZoneName().compareTo(resp2.getZoneName()); + // Group by zone if (res != 0) { return res; - } else if (getSortBy() != null) { - return 0; - } else { - return resp1.getCapacityType().compareTo(resp2.getCapacityType()); } + // Sort by capacity type only if not already sorted by usage + return (getSortBy() != null) ? 0 : resp1.getCapacityType().compareTo(resp2.getCapacityType()); } }); + response.setResponses(capacityResponses); response.setResponseName(getCommandName()); this.setResponseObject(response);