From 1e17c3e38cf70d965d0fc84cbf67f78ef5203e71 Mon Sep 17 00:00:00 2001 From: Abhinandan Prateek Date: Tue, 8 Dec 2015 09:59:06 +0530 Subject: [PATCH] QUOTA: Ensuring that the dates displayed are as per user expectations When querying db we use start of next day to query quota usage for today, but while displaying it to user we still need to show it as todays date --- .../cloudstack/api/command/QuotaBalanceCmd.java | 11 ++++++++--- .../api/response/QuotaResponseBuilderImpl.java | 6 +++--- .../org/apache/cloudstack/quota/QuotaServiceImpl.java | 10 +++++----- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/plugins/database/quota/src/org/apache/cloudstack/api/command/QuotaBalanceCmd.java b/plugins/database/quota/src/org/apache/cloudstack/api/command/QuotaBalanceCmd.java index 32bbfc84980..8efa678568e 100644 --- a/plugins/database/quota/src/org/apache/cloudstack/api/command/QuotaBalanceCmd.java +++ b/plugins/database/quota/src/org/apache/cloudstack/api/command/QuotaBalanceCmd.java @@ -83,7 +83,12 @@ public class QuotaBalanceCmd extends BaseCmd { } public Date getEndDate() { - return endDate == null ? null : _responseBuilder.startOfNextDay(endDate == null ? null : new Date(endDate.getTime())); + if (endDate == null){ + return null; + } + else{ + return _responseBuilder.startOfNextDay(new Date(endDate.getTime())); + } } public void setEndDate(Date endDate) { @@ -113,10 +118,10 @@ public class QuotaBalanceCmd extends BaseCmd { List quotaUsage = _responseBuilder.getQuotaBalance(this); QuotaBalanceResponse response; - if (getEndDate() == null) { + if (endDate == null) { response = _responseBuilder.createQuotaLastBalanceResponse(quotaUsage, getStartDate()); } else { - response = _responseBuilder.createQuotaBalanceResponse(quotaUsage, getStartDate(), endDate == null ? null : new Date(endDate.getTime())); + response = _responseBuilder.createQuotaBalanceResponse(quotaUsage, getStartDate(), new Date(endDate.getTime())); } response.setResponseName(getCommandName()); setResponseObject(response); diff --git a/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java b/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java index 23b136363c1..4a2816d2ea2 100644 --- a/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java +++ b/plugins/database/quota/src/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java @@ -233,9 +233,9 @@ public class QuotaResponseBuilderImpl implements QuotaResponseBuilder { // order is desc last item is the start item QuotaBalanceVO startItem = quotaBalance.get(quotaBalance.size() - 1); QuotaBalanceVO endItem = quotaBalance.get(0); - resp.setStartDate(startItem.getUpdatedOn()); + resp.setStartDate(startDate); resp.setStartQuota(startItem.getCreditBalance()); - resp.setEndDate(endItem.getUpdatedOn()); + resp.setEndDate(endDate); if (s_logger.isDebugEnabled()) { s_logger.debug("createQuotaBalanceResponse: Start Entry=" + startItem); s_logger.debug("createQuotaBalanceResponse: End Entry=" + endItem); @@ -479,7 +479,7 @@ public class QuotaResponseBuilderImpl implements QuotaResponseBuilder { lastCredits = lastCredits.add(entry.getCreditBalance()); } resp.setStartQuota(lastCredits); - resp.setStartDate(_quotaService.computeAdjustedTime(startDate)); + resp.setStartDate(startDate); resp.setCurrency(QuotaConfig.QuotaCurrencySymbol.value()); resp.setObjectName("balance"); return resp; diff --git a/plugins/database/quota/src/org/apache/cloudstack/quota/QuotaServiceImpl.java b/plugins/database/quota/src/org/apache/cloudstack/quota/QuotaServiceImpl.java index 9894f1163c8..355982b7ff9 100644 --- a/plugins/database/quota/src/org/apache/cloudstack/quota/QuotaServiceImpl.java +++ b/plugins/database/quota/src/org/apache/cloudstack/quota/QuotaServiceImpl.java @@ -138,8 +138,8 @@ public class QuotaServiceImpl extends ManagerBase implements QuotaService, Confi @Override public ConfigKey[] getConfigKeys() { - return new ConfigKey[] { QuotaPluginEnabled, QuotaEnableEnforcement, QuotaCurrencySymbol, QuotaStatementPeriod, QuotaSmtpHost, QuotaSmtpPort, QuotaSmtpTimeout, QuotaSmtpUser, QuotaSmtpPassword, - QuotaSmtpAuthType, QuotaSmtpSender }; + return new ConfigKey[] {QuotaPluginEnabled, QuotaEnableEnforcement, QuotaCurrencySymbol, QuotaStatementPeriod, QuotaSmtpHost, QuotaSmtpPort, QuotaSmtpTimeout, + QuotaSmtpUser, QuotaSmtpPassword, QuotaSmtpAuthType, QuotaSmtpSender}; } @Override @@ -193,8 +193,8 @@ public class QuotaServiceImpl extends ManagerBase implements QuotaService, Confi } else if (startDate.before(endDate)) { Date adjustedEndDate = computeAdjustedTime(endDate); if (s_logger.isDebugEnabled()) { - s_logger.debug("getQuotaBalance2: Getting quota balance records for account: " + accountId + ", domainId: " + domainId + ", between " + adjustedStartDate + " and " - + adjustedEndDate); + s_logger.debug("getQuotaBalance2: Getting quota balance records for account: " + accountId + ", domainId: " + domainId + ", between " + adjustedStartDate + + " and " + adjustedEndDate); } List qbrecords = _quotaBalanceDao.findQuotaBalance(accountId, domainId, adjustedStartDate, adjustedEndDate); if (s_logger.isDebugEnabled()) { @@ -243,7 +243,7 @@ public class QuotaServiceImpl extends ManagerBase implements QuotaService, Confi Date adjustedEndDate = computeAdjustedTime(endDate); Date adjustedStartDate = computeAdjustedTime(startDate); if (s_logger.isDebugEnabled()) { - s_logger.debug("Getting quota records for account: " + accountId + ", domainId: " + domainId + ", between " + startDate + " and " + endDate); + s_logger.debug("Getting quota records for account: " + accountId + ", domainId: " + domainId + ", between " + adjustedStartDate + " and " + adjustedEndDate); } return _quotaUsageDao.findQuotaUsage(accountId, domainId, usageType, adjustedStartDate, adjustedEndDate); }