From 8bdbfc78ea51da38210120d180f5ec5169f69114 Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Thu, 30 Jun 2011 10:52:03 +0530 Subject: [PATCH] bug 10489: self review updates --- .../com/cloud/api/response/NicResponse.java | 2 +- .../api/response/SecurityGroupResponse.java | 2 +- server/src/com/cloud/api/ApiDBUtils.java | 2 +- .../src/com/cloud/api/ApiResponseHelper.java | 28 +++++++++---------- server/src/com/cloud/vm/dao/UserVmDao.java | 2 +- .../src/com/cloud/vm/dao/UserVmDaoImpl.java | 6 ++-- 6 files changed, 19 insertions(+), 23 deletions(-) diff --git a/api/src/com/cloud/api/response/NicResponse.java b/api/src/com/cloud/api/response/NicResponse.java index 719a2de70eb..50364466e34 100755 --- a/api/src/com/cloud/api/response/NicResponse.java +++ b/api/src/com/cloud/api/response/NicResponse.java @@ -145,6 +145,6 @@ public class NicResponse extends BaseResponse { @Override public boolean equals(Object r){ - return id==((NicResponse)r).id; + return (r instanceof NicResponse) && id==((NicResponse)r).id; } } diff --git a/api/src/com/cloud/api/response/SecurityGroupResponse.java b/api/src/com/cloud/api/response/SecurityGroupResponse.java index 9a67b20fe96..39044fc875d 100644 --- a/api/src/com/cloud/api/response/SecurityGroupResponse.java +++ b/api/src/com/cloud/api/response/SecurityGroupResponse.java @@ -134,6 +134,6 @@ public class SecurityGroupResponse extends BaseResponse { @Override public boolean equals(Object r){ - return id==((SecurityGroupResponse)r).id; + return (r instanceof SecurityGroupResponse) && id==((SecurityGroupResponse)r).id; } } diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 82330b32f9c..3a80f982b11 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -595,7 +595,7 @@ public class ApiDBUtils { return _firewallCidrsDao.getSourceCidrs(id); } - public static List listVmDetails(UserVm userVm, boolean show_host){ + public static UserVmResponse listVmDetails(UserVm userVm, boolean show_host){ return _userVmDao.listVmDetails(userVm, show_host); } diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index a9e277429b4..c90e3a14e4b 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -1051,24 +1051,22 @@ public class ApiResponseHelper implements ResponseGenerator { DecimalFormat decimalFormat = new DecimalFormat("#.##"); for (UserVm userVm : userVms) { - List rsps = ApiDBUtils.listVmDetails(userVm, (((caller == null) || (caller.getType() == Account.ACCOUNT_TYPE_ADMIN)) && (userVm.getHostId() != null))); - for (UserVmResponse userVmResponse: rsps){ - // stats calculation - String cpuUsed = null; - VmStats vmStats = ApiDBUtils.getVmStatistics(userVm.getId()); - if (vmStats != null) { - float cpuUtil = (float) vmStats.getCPUUtilization(); - cpuUsed = decimalFormat.format(cpuUtil) + "%"; - userVmResponse.setCpuUsed(cpuUsed); + UserVmResponse userVmResponse = ApiDBUtils.listVmDetails(userVm, (((caller == null) || (caller.getType() == Account.ACCOUNT_TYPE_ADMIN)) && (userVm.getHostId() != null))); + // stats calculation + String cpuUsed = null; + VmStats vmStats = ApiDBUtils.getVmStatistics(userVm.getId()); + if (vmStats != null) { + float cpuUtil = (float) vmStats.getCPUUtilization(); + cpuUsed = decimalFormat.format(cpuUtil) + "%"; + userVmResponse.setCpuUsed(cpuUsed); - Double networkKbRead = Double.valueOf(vmStats.getNetworkReadKBs()); - userVmResponse.setNetworkKbsRead(networkKbRead.longValue()); + Double networkKbRead = Double.valueOf(vmStats.getNetworkReadKBs()); + userVmResponse.setNetworkKbsRead(networkKbRead.longValue()); - Double networkKbWrite = Double.valueOf(vmStats.getNetworkWriteKBs()); - userVmResponse.setNetworkKbsWrite(networkKbWrite.longValue()); - } - vmResponses.add(userVmResponse); + Double networkKbWrite = Double.valueOf(vmStats.getNetworkWriteKBs()); + userVmResponse.setNetworkKbsWrite(networkKbWrite.longValue()); } + vmResponses.add(userVmResponse); } return vmResponses; } diff --git a/server/src/com/cloud/vm/dao/UserVmDao.java b/server/src/com/cloud/vm/dao/UserVmDao.java index af0ab513e91..078bd8cd92e 100755 --- a/server/src/com/cloud/vm/dao/UserVmDao.java +++ b/server/src/com/cloud/vm/dao/UserVmDao.java @@ -71,5 +71,5 @@ public interface UserVmDao extends GenericDao { List listPodIdsHavingVmsforAccount(long zoneId, long accountId); public Long countAllocatedVMsForAccount(long accountId); - List listVmDetails(UserVm userVm, boolean show_host); + UserVmResponse listVmDetails(UserVm userVm, boolean show_host); } diff --git a/server/src/com/cloud/vm/dao/UserVmDaoImpl.java b/server/src/com/cloud/vm/dao/UserVmDaoImpl.java index 67991634ad1..f4723caf24b 100755 --- a/server/src/com/cloud/vm/dao/UserVmDaoImpl.java +++ b/server/src/com/cloud/vm/dao/UserVmDaoImpl.java @@ -341,10 +341,9 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use } @Override - public List listVmDetails(UserVm userVm, boolean show_host){ + public UserVmResponse listVmDetails(UserVm userVm, boolean show_host){ Transaction txn = Transaction.currentTxn(); PreparedStatement pstmt = null; - List result = new ArrayList(); try { String sql = VM_DETAILS; @@ -409,7 +408,6 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use userVmResponse.setRootDeviceType(rs.getString("volumes.volume_type")); is_data_center_security_group_enabled = rs.getBoolean("data_center.is_security_group_enabled"); - result.add(userVmResponse); } //security_group.id, security_group.name, security_group.description, , data_center.is_security_group_enabled @@ -449,7 +447,7 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use } userVmResponse.setSecurityGroupList(new ArrayList(securityGroupResponse)); userVmResponse.setNics(new ArrayList(nicResponses)); - return result; + return userVmResponse; } catch (SQLException e) { throw new CloudRuntimeException("DB Exception on: " + VM_DETAILS, e); } catch (Throwable e) {