From b15e5d673058c61f5e9b6768c32c50e1da1e9e52 Mon Sep 17 00:00:00 2001 From: kishan Date: Fri, 3 Feb 2012 18:01:04 +0530 Subject: [PATCH] Bug 13326: Include isElastic flag in IPAddress usage response Reviewed-By: Nitin --- server/src/com/cloud/api/commands/GetUsageRecordsCmd.java | 3 ++- .../com/cloud/server/api/response/UsageRecordResponse.java | 7 +++++++ usage/src/com/cloud/usage/UsageManagerImpl.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/api/commands/GetUsageRecordsCmd.java b/server/src/com/cloud/api/commands/GetUsageRecordsCmd.java index fc6bb9b7f8b..efd758ebcb9 100644 --- a/server/src/com/cloud/api/commands/GetUsageRecordsCmd.java +++ b/server/src/com/cloud/api/commands/GetUsageRecordsCmd.java @@ -250,10 +250,11 @@ public class GetUsageRecordsCmd extends BaseListCmd { usageRecResponse.setUsageId(usageRecord.getUsageId()); if(usageRecord.getUsageType() == UsageTypes.IP_ADDRESS){ usageRecResponse.setSourceNat((usageRecord.getType().equals("SourceNat"))?true:false); + usageRecResponse.setElastic((usageRecord.getSize() == 1)?true:false); } else { usageRecResponse.setType(usageRecord.getType()); + usageRecResponse.setSize(usageRecord.getSize()); } - usageRecResponse.setSize(usageRecord.getSize()); if (usageRecord.getRawUsage() != null) { DecimalFormat decimalFormat = new DecimalFormat("###########.######"); diff --git a/server/src/com/cloud/server/api/response/UsageRecordResponse.java b/server/src/com/cloud/server/api/response/UsageRecordResponse.java index f467114f943..4aec54b7df2 100644 --- a/server/src/com/cloud/server/api/response/UsageRecordResponse.java +++ b/server/src/com/cloud/server/api/response/UsageRecordResponse.java @@ -100,6 +100,9 @@ public class UsageRecordResponse extends BaseResponse implements ControlledEntit @SerializedName("issourcenat") @Param(description="source Nat flag for IPAddress") private Boolean isSourceNat; + @SerializedName("iselastic") @Param(description="Elastic flag for IPAddress") + private Boolean isElastic; + @Override public void setAccountName(String accountName) { this.accountName = accountName; @@ -185,6 +188,10 @@ public class UsageRecordResponse extends BaseResponse implements ControlledEntit public void setSourceNat(Boolean isSourceNat) { this.isSourceNat = isSourceNat; } + + public void setElastic(Boolean isElastic) { + this.isElastic = isElastic; + } @Override public void setProjectId(Long projectId) { diff --git a/usage/src/com/cloud/usage/UsageManagerImpl.java b/usage/src/com/cloud/usage/UsageManagerImpl.java index 964e608b51f..fcee7d3d8c2 100644 --- a/usage/src/com/cloud/usage/UsageManagerImpl.java +++ b/usage/src/com/cloud/usage/UsageManagerImpl.java @@ -1010,7 +1010,7 @@ public class UsageManagerImpl implements UsageManager, Runnable { long id = event.getResourceId(); long sourceNat = event.getSize(); boolean isSourceNat = (sourceNat == 1) ? true : false ; - boolean isElastic = (event.getTemplateId() == 1) ? true : false ; + boolean isElastic = (event.getTemplateId() == null || event.getTemplateId() == 0) ? false : true ; UsageIPAddressVO ipAddressVO = new UsageIPAddressVO(id, event.getAccountId(), acct.getDomainId(), zoneId, ipAddress, isSourceNat, isElastic, event.getCreateDate(), null); m_usageIPAddressDao.persist(ipAddressVO); } else if (EventTypes.EVENT_NET_IP_RELEASE.equals(event.getType())) {