diff --git a/framework/quota/src/org/apache/cloudstack/quota/constant/QuotaTypes.java b/framework/quota/src/org/apache/cloudstack/quota/constant/QuotaTypes.java index 097347c0b34..50ecd813fe2 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/constant/QuotaTypes.java +++ b/framework/quota/src/org/apache/cloudstack/quota/constant/QuotaTypes.java @@ -18,7 +18,9 @@ package org.apache.cloudstack.quota.constant; import org.apache.cloudstack.usage.UsageTypes; +import java.util.Collections; import java.util.HashMap; +import java.util.Map; public class QuotaTypes extends UsageTypes { public static final int CPU_CLOCK_RATE = 15; @@ -30,9 +32,10 @@ public class QuotaTypes extends UsageTypes { private final String quotaUnit; private final String description; private final String discriminator; - private static final HashMap quotaTypeList = new HashMap(); + private final static Map quotaTypeMap; static { + final HashMap quotaTypeList = new HashMap(); quotaTypeList.put(RUNNING_VM, new QuotaTypes(RUNNING_VM, "RUNNING_VM", "Compute-Month", "Running Vm Usage")); quotaTypeList.put(ALLOCATED_VM, new QuotaTypes(ALLOCATED_VM, "ALLOCATED_VM", "Compute-Month", "Allocated Vm Usage")); quotaTypeList.put(IP_ADDRESS, new QuotaTypes(IP_ADDRESS, "IP_ADDRESS", "IP-Month", "IP Address Usage")); @@ -55,6 +58,7 @@ public class QuotaTypes extends UsageTypes { quotaTypeList.put(CPU_CLOCK_RATE, new QuotaTypes(CPU_CLOCK_RATE, "CPU_CLOCK_RATE", "Compute-Month", "Quota tariff for using 1 CPU of clock rate 100MHz")); quotaTypeList.put(CPU_NUMBER, new QuotaTypes(CPU_NUMBER, "CPU_NUMBER", "Compute-Month", "Quota tariff for running VM that has 1vCPU")); quotaTypeList.put(MEMORY, new QuotaTypes(MEMORY, "MEMORY", "Compute-Month", "Quota tariff for using 1MB or RAM for 1 hour")); + quotaTypeMap = Collections.unmodifiableMap(quotaTypeList); } private QuotaTypes(Integer quotaType, String name, String unit, String description) { @@ -65,8 +69,8 @@ public class QuotaTypes extends UsageTypes { this.discriminator = "None"; } - public static HashMap listQuotaTypes() { - return quotaTypeList; + public static Map listQuotaTypes() { + return quotaTypeMap; } public String getDiscriminator() { @@ -90,10 +94,6 @@ public class QuotaTypes extends UsageTypes { } static public String getDescription(int quotaType) { - HashMap quotaMap = listQuotaTypes(); - if (quotaMap.containsKey(quotaType)) { - return quotaMap.get(quotaType).getDescription(); - } - return null; + return quotaTypeMap.get(quotaType).getDescription(); } } diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java index 6dc875260e8..f2ab5d6d4b0 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaAccountDaoImpl.java @@ -33,7 +33,7 @@ import java.util.List; @Component @Local(value = { QuotaAccountDao.class }) public class QuotaAccountDaoImpl extends GenericDaoBase implements QuotaAccountDao { - public static final Logger s_logger = Logger.getLogger(QuotaAccountDaoImpl.class.getName()); + public static final Logger s_logger = Logger.getLogger(QuotaAccountDaoImpl.class); @Override public List listAll() { diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java index 2e1c6ef8a34..e82ae4f3954 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaBalanceDaoImpl.java @@ -56,7 +56,7 @@ public class QuotaBalanceDaoImpl extends GenericDaoBase im sc.addAnd("creditsId", SearchCriteria.Op.EQ, 0); sc.addAnd("updatedOn", SearchCriteria.Op.LT, beforeThis); quotaBalanceEntries = search(sc, filter); - return quotaBalanceEntries.size() > 0 ? quotaBalanceEntries.get(0) : null; + return ! quotaBalanceEntries.isEmpty() ? quotaBalanceEntries.get(0) : null; } }); } @@ -169,7 +169,9 @@ public class QuotaBalanceDaoImpl extends GenericDaoBase im // get records before startDate to find start balance for (QuotaBalanceVO entry : quotaUsageRecords) { - s_logger.debug("FindQuotaBalance Date=" + entry.getUpdatedOn().toGMTString() + " balance=" + entry.getCreditBalance() + " credit=" + entry.getCreditsId()); + if (s_logger.isDebugEnabled()){ + s_logger.debug("FindQuotaBalIance Date=" + entry.getUpdatedOn().toGMTString() + " balance=" + entry.getCreditBalance() + " credit=" + entry.getCreditsId()); + } if (entry.getCreditsId() > 0) { trimmedRecords.add(entry); } else { @@ -190,7 +192,9 @@ public class QuotaBalanceDaoImpl extends GenericDaoBase im } BigDecimal finalBalance = new BigDecimal(0); for (QuotaBalanceVO entry : quotaBalance) { - s_logger.debug("lastQuotaBalance Date=" + entry.getUpdatedOn().toGMTString() + " balance=" + entry.getCreditBalance() + " credit=" + entry.getCreditsId()); + if (s_logger.isDebugEnabled()){ + s_logger.debug("lastQuotaBalance Date=" + entry.getUpdatedOn().toGMTString() + " balance=" + entry.getCreditBalance() + " credit=" + entry.getCreditsId()); + } finalBalance = finalBalance.add(entry.getCreditBalance()); } return finalBalance; diff --git a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java index ecb51b9c708..a971603c577 100644 --- a/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java +++ b/framework/quota/src/org/apache/cloudstack/quota/dao/QuotaEmailTemplatesDaoImpl.java @@ -23,6 +23,7 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.db.TransactionCallback; import com.cloud.utils.db.TransactionLegacy; import com.cloud.utils.db.TransactionStatus; +import com.google.common.base.Strings; import org.apache.cloudstack.quota.vo.QuotaEmailTemplatesVO; import org.apache.log4j.Logger; @@ -35,7 +36,7 @@ import java.util.List; @Component @Local(value = { QuotaEmailTemplatesDao.class }) public class QuotaEmailTemplatesDaoImpl extends GenericDaoBase implements QuotaEmailTemplatesDao { - private static final Logger s_logger = Logger.getLogger(QuotaEmailTemplatesDaoImpl.class.getName()); + private static final Logger s_logger = Logger.getLogger(QuotaEmailTemplatesDaoImpl.class); protected SearchBuilder QuotaEmailTemplateSearch; @@ -53,7 +54,7 @@ public class QuotaEmailTemplatesDaoImpl extends GenericDaoBase doInTransaction(final TransactionStatus status) { SearchCriteria sc = QuotaEmailTemplateSearch.create(); - if (templateName != null) { + if (!Strings.isNullOrEmpty(templateName)) { sc.setParameters("template_name", templateName); } return listBy(sc); diff --git a/framework/quota/test/org/apache/cloudstack/quota/constant/QuotaTypesTest.java b/framework/quota/test/org/apache/cloudstack/quota/constant/QuotaTypesTest.java index 7f608eb13e0..427043951a1 100644 --- a/framework/quota/test/org/apache/cloudstack/quota/constant/QuotaTypesTest.java +++ b/framework/quota/test/org/apache/cloudstack/quota/constant/QuotaTypesTest.java @@ -17,23 +17,24 @@ package org.apache.cloudstack.quota.constant; import junit.framework.TestCase; + import org.apache.cloudstack.api.response.UsageTypeResponse; import org.apache.cloudstack.usage.UsageTypes; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; -import java.util.HashMap; import java.util.List; +import java.util.Map; @RunWith(MockitoJUnitRunner.class) public class QuotaTypesTest extends TestCase { @Test public void testQuotaTypesList() { - HashMap quotaTypes = QuotaTypes.listQuotaTypes(); + Map quotaTypes = QuotaTypes.listQuotaTypes(); List usageTypesResponseList = UsageTypes.listUsageTypes(); - for (UsageTypeResponse usageTypeResponse: usageTypesResponseList) { + for (UsageTypeResponse usageTypeResponse : usageTypesResponseList) { final Integer usageTypeInt = usageTypeResponse.getUsageType(); assertTrue(quotaTypes.containsKey(usageTypeInt)); } diff --git a/ui/plugins/plugins.js b/ui/plugins/plugins.js index 0a6d2e74b4e..b629e3095b6 100644 --- a/ui/plugins/plugins.js +++ b/ui/plugins/plugins.js @@ -16,7 +16,7 @@ // under the License. (function($, cloudStack) { cloudStack.plugins = [ - //'quota', + 'quota', //'testPlugin' ]; }(jQuery, cloudStack));