From fd77b60c5d3a3a5029d40583d4fc391e0cb41253 Mon Sep 17 00:00:00 2001 From: Saksham Srivastava Date: Wed, 19 Jun 2013 17:02:59 +0530 Subject: [PATCH] CLOUDSTACK-2167: The Vlan ranges displayed are not in ascending order --- .../src/com/cloud/api/ApiResponseHelper.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 7ffa30f6260..c0034ab7800 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -21,7 +21,10 @@ import static java.util.Collections.singletonList; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; +import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.EnumSet; import java.util.HashMap; @@ -2583,7 +2586,25 @@ public class ApiResponseHelper implements ResponseGenerator { response.setZoneId(zone.getUuid()); } response.setNetworkSpeed(result.getSpeed()); - response.setVlan(result.getVnetString()); + //Create vlan ranges response + String vlanRanges = null; + vlanRanges = result.getVnetString(); + if(vlanRanges != null) { + String [] vlan = vlanRanges.split(";"); + + //Sort the vlan ranges + Arrays.sort(vlan, new Comparator() { + public int compare (String first, String second) { + return Integer.valueOf(first.split("-")[0]).compareTo(Integer.valueOf(second.split("-")[0])); + } + }); + List vlanList = new ArrayList(); + Collections.addAll(vlanList, vlan); + vlanRanges = StringUtils.join(vlanList,";"); + } + //Set the final String response + response.setVlan(vlanRanges); + if (result.getDomainId() != null) { Domain domain = ApiDBUtils.findDomainById(result.getDomainId()); if (domain != null) {