From 68aa8c4eb78a7ffcaa652268bbe959286f636876 Mon Sep 17 00:00:00 2001 From: abhishek Date: Wed, 2 Mar 2011 08:45:26 -0800 Subject: [PATCH] bug 8806: fixing list hypervisors status 8806: resolved fixed --- server/src/com/cloud/dc/dao/ClusterDaoImpl.java | 2 +- .../com/cloud/server/ManagementServerImpl.java | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/dc/dao/ClusterDaoImpl.java b/server/src/com/cloud/dc/dao/ClusterDaoImpl.java index a26906e000b..deece014259 100644 --- a/server/src/com/cloud/dc/dao/ClusterDaoImpl.java +++ b/server/src/com/cloud/dc/dao/ClusterDaoImpl.java @@ -67,7 +67,7 @@ public class ClusterDaoImpl extends GenericDaoBase implements C PodSearch.done(); ZoneSearch = createSearchBuilder(); - ZoneSearch.and("dataCenterId", ZoneSearch.entity().getPodId(), SearchCriteria.Op.EQ); + ZoneSearch.and("dataCenterId", ZoneSearch.entity().getDataCenterId(), SearchCriteria.Op.EQ); ZoneSearch.done(); AvailHyperSearch = createSearchBuilder(); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index cde42b1caa1..3db8906cfa4 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -4718,17 +4718,22 @@ public class ManagementServerImpl implements ManagementServer { } return hypers.split(","); } else { - String[] result = null; + int i = 0; List clustersForZone = _clusterDao.listByZoneId(zoneId); if(clustersForZone != null && clustersForZone.size() > 0) { - result = new String[clustersForZone.size()]; - int i = 0; + Set result = new HashSet(); for(ClusterVO cluster : clustersForZone) { - result[i++] = cluster.getHypervisorType().toString(); + result.add(cluster.getHypervisorType().toString()); } + + String[] resultArray = new String[result.size()]; + for(String entity : result) { + resultArray[i++] = entity; + } + return resultArray; } - return result; } + return null; } @Override