From d249b4f4aa1de83a71e78fd8c81cfeb41ed752a2 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Mon, 30 Jan 2023 09:39:18 -0300 Subject: [PATCH 1/5] Fix since --- .../cloudstack/api/command/QuotaTariffCreateCmd.java | 4 ++-- .../cloudstack/api/command/QuotaTariffDeleteCmd.java | 2 +- .../cloudstack/api/command/QuotaTariffListCmd.java | 6 +++--- .../cloudstack/api/command/QuotaTariffUpdateCmd.java | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java index af9d8cd12946..98612b791479 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java @@ -34,8 +34,8 @@ import java.util.Date; -@APICommand(name = "quotaTariffCreate", responseObject = QuotaTariffResponse.class, description = "Creates a quota tariff for a resource.", since = "4.17.0.0", -requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized = {RoleType.Admin}) +@APICommand(name = "quotaTariffCreate", responseObject = QuotaTariffResponse.class, description = "Creates a quota tariff for a resource.", since = "4.18.0.0", + requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized = {RoleType.Admin}) public class QuotaTariffCreateCmd extends BaseCmd { protected Logger logger = Logger.getLogger(getClass()); diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java index 06dcb0c47550..fde4372a8134 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java @@ -32,7 +32,7 @@ import javax.inject.Inject; @APICommand(name = "quotaTariffDelete", description = "Marks a quota tariff as removed.", responseObject = SuccessResponse.class, requestHasSensitiveInfo = false, -responseHasSensitiveInfo = false, since = "4.17.0.0", authorized = {RoleType.Admin}) +responseHasSensitiveInfo = false, since = "4.18.0.0", authorized = {RoleType.Admin}) public class QuotaTariffDeleteCmd extends BaseCmd { protected Logger logger = Logger.getLogger(getClass()); diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java index 338696ed5d26..6f041a2d0faa 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java @@ -51,14 +51,14 @@ public class QuotaTariffListCmd extends BaseListCmd { private Date effectiveDate; @Parameter(name = ApiConstants.END_DATE, type = CommandType.DATE, required = false, description = "The end date of the quota tariff. Use yyyy-MM-dd as the date format, e.g. " - + "endDate=2021-11-03.") + + "endDate=2021-11-03.", since = "4.18.0.0") private Date endDate; - @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = false, description = "The name of the quota tariff.") + @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = false, description = "The name of the quota tariff.", since = "4.18.0.0") private String name; @Parameter(name = ApiConstants.LIST_ALL, type = CommandType.BOOLEAN, required = false, description = "False will list only not removed quota tariffs. If set to True, we will " - + "list all, including the removed ones. The default is false.") + + "list all, including the removed ones. The default is false.", since = "4.18.0.0") private boolean listAll = false; public QuotaTariffListCmd() { diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java index 68832f0689d1..30f80dea3e35 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java @@ -53,13 +53,13 @@ public class QuotaTariffUpdateCmd extends BaseCmd { private Date startDate; @Parameter(name = ApiConstants.END_DATE, type = CommandType.DATE, description = "The end date of the quota tariff. Use yyyy-MM-dd as the date format, e.g." - + " endDate=2009-06-03.") + + " endDate=2009-06-03.", since = "4.18.0.0") private Date endDate; - @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "Quota tariff's name") + @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "Quota tariff's name", since = "4.18.0.0") private String name; - @Parameter(name = ApiConstants.DESCRIPTION, type = CommandType.STRING, description = "Quota tariff's description. Inform empty to remove the description.") + @Parameter(name = ApiConstants.DESCRIPTION, type = CommandType.STRING, description = "Quota tariff's description. Inform empty to remove the description.", since = "4.18.0.0") private String description; @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule. Inform empty to remove the activation rule.") @@ -82,11 +82,11 @@ public void setValue(Double value) { } public Date getStartDate() { - return startDate == null ? null : new Date(startDate.getTime()); + return startDate; } public void setStartDate(Date startDate) { - this.startDate = startDate == null ? null : new Date(startDate.getTime()); + this.startDate = startDate; } public Date getEndDate() { From 9380fdb9c2865e44b1044d8abeec47e22c8db364 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Mon, 30 Jan 2023 09:42:45 -0300 Subject: [PATCH 2/5] Fix parameters' length and documentation --- .../api/command/QuotaTariffCreateCmd.java | 8 +++++--- .../api/command/QuotaTariffUpdateCmd.java | 16 ++++++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java index 98612b791479..4305589fa62a 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java @@ -42,10 +42,10 @@ public class QuotaTariffCreateCmd extends BaseCmd { @Inject QuotaResponseBuilder responseBuilder; - @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "Quota tariff's name", length = 32) + @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "Quota tariff's name", length = 65535) private String name; - @Parameter(name = ApiConstants.DESCRIPTION, type = CommandType.STRING, description = "Quota tariff's description.", length = 256) + @Parameter(name = ApiConstants.DESCRIPTION, type = CommandType.STRING, description = "Quota tariff's description.", length = 65535) private String description; @Parameter(name = ApiConstants.USAGE_TYPE, type = CommandType.INTEGER, required = true, description = "Integer value for the usage type of the resource.") @@ -54,7 +54,9 @@ public class QuotaTariffCreateCmd extends BaseCmd { @Parameter(name = "value", type = CommandType.DOUBLE, required = true, description = "The quota tariff value of the resource as per the default unit.") private Double value; - @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule.", + @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule. It can receive a JS script that results in either " + + "a boolean or a numeric value: if it results in a boolean value, the tariff value will be applied according to the result; if it results in a numeric value, the numeric " + + "value will be applied; if the result is neither a boolean nor a value, the tariff will not be applied. If the rule is not informed, the tariff value will be applied.", length = 65535) private String activationRule; diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java index 30f80dea3e35..ba457b99f949 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java @@ -42,27 +42,31 @@ public class QuotaTariffUpdateCmd extends BaseCmd { @Inject QuotaResponseBuilder _responseBuilder; - @Parameter(name = ApiConstants.USAGE_TYPE, type = CommandType.INTEGER, description = "Integer value for the usage type of the resource") + @Parameter(name = ApiConstants.USAGE_TYPE, type = CommandType.INTEGER, description = "DEPRECATED. Integer value for the usage type of the resource") private Integer usageType; @Parameter(name = ApiConstants.VALUE, type = CommandType.DOUBLE, description = "The quota tariff value of the resource as per the default unit.") private Double value; - @Parameter(name = ApiConstants.START_DATE, type = CommandType.DATE, description = "The effective start date on/after which the quota tariff is effective. Use yyyy-MM-dd as" - + " the date format, e.g. startDate=2009-06-03.") + @Parameter(name = ApiConstants.START_DATE, type = CommandType.DATE, description = "DEPRECATED. The effective start date on/after which the quota tariff is effective. " + + "Use yyyy-MM-dd as the date format, e.g. startDate=2009-06-03.") private Date startDate; @Parameter(name = ApiConstants.END_DATE, type = CommandType.DATE, description = "The end date of the quota tariff. Use yyyy-MM-dd as the date format, e.g." + " endDate=2009-06-03.", since = "4.18.0.0") private Date endDate; - @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "Quota tariff's name", since = "4.18.0.0") + @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "Quota tariff's name", length = 65535, since = "4.18.0.0") private String name; - @Parameter(name = ApiConstants.DESCRIPTION, type = CommandType.STRING, description = "Quota tariff's description. Inform empty to remove the description.", since = "4.18.0.0") + @Parameter(name = ApiConstants.DESCRIPTION, type = CommandType.STRING, description = "Quota tariff's description. Inform empty to remove the description.", length = 65535, + since = "4.18.0.0") private String description; - @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule. Inform empty to remove the activation rule.") + @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule. It can receive a JS script that results in either " + + "a boolean or a numeric value: if it results in a boolean value, the tariff value will be applied according to the result; if it results in a numeric value, the " + + "numeric value will be applied; if the result is neither a boolean nor a value, the tariff will not be applied. If the rule is not informed, the tariff value will be " + + "applied. Inform empty to remove the activation rule.", length = 65535, since = "4.18.0.0") private String activationRule; public Integer getUsageType() { From f62dd1dba8542ee90d34654bc23aa60550537b91 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Mon, 30 Jan 2023 09:44:14 -0300 Subject: [PATCH 3/5] Rename parameter UUID to ID in quotaTariffDelete --- .../api/command/QuotaTariffDeleteCmd.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java index fde4372a8134..733f1e67333d 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java @@ -39,16 +39,16 @@ public class QuotaTariffDeleteCmd extends BaseCmd { @Inject QuotaResponseBuilder responseBuilder; - @Parameter(name = ApiConstants.UUID, type = BaseCmd.CommandType.STRING, required = true, entityType = QuotaTariffResponse.class, - description = "UUID of the quota tariff", validations = {ApiArgValidator.UuidString}) - private String quotaTariffUuid; + @Parameter(name = ApiConstants.ID, type = BaseCmd.CommandType.STRING, required = true, entityType = QuotaTariffResponse.class, + description = "ID of the quota tariff", validations = {ApiArgValidator.UuidString}) + private String id; - public String getQuotaTariffUuid() { - return quotaTariffUuid; + public String getId() { + return id; } - public void setQuotaTariffId(String quotaTariffUuid) { - this.quotaTariffUuid = quotaTariffUuid; + public void setId(String id) { + this.id = id; } public QuotaTariffDeleteCmd() { @@ -57,7 +57,7 @@ public QuotaTariffDeleteCmd() { @Override public void execute() { - boolean result = responseBuilder.deleteQuotaTariff(getQuotaTariffUuid()); + boolean result = responseBuilder.deleteQuotaTariff(getId()); SuccessResponse response = new SuccessResponse(getCommandName()); response.setSuccess(result); setResponseObject(response); From 502c846488f3a8fa80e13dc7aa3fb8072f2b8be3 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Mon, 30 Jan 2023 09:50:37 -0300 Subject: [PATCH 4/5] Clean-up --- .../api/command/QuotaTariffCreateCmd.java | 18 +++-------------- .../api/command/QuotaTariffDeleteCmd.java | 8 -------- .../api/command/QuotaTariffListCmd.java | 20 ++++++++----------- .../api/command/QuotaTariffUpdateCmd.java | 8 ++------ 4 files changed, 13 insertions(+), 41 deletions(-) diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java index 4305589fa62a..c550dd7aab95 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java @@ -55,9 +55,9 @@ public class QuotaTariffCreateCmd extends BaseCmd { private Double value; @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule. It can receive a JS script that results in either " + - "a boolean or a numeric value: if it results in a boolean value, the tariff value will be applied according to the result; if it results in a numeric value, the numeric " + - "value will be applied; if the result is neither a boolean nor a value, the tariff will not be applied. If the rule is not informed, the tariff value will be applied.", - length = 65535) + "a boolean or a numeric value: if it results in a boolean value, the tariff value will be applied according to the result; if it results in a numeric value, the " + + "numeric value will be applied; if the result is neither a boolean nor a numeric value, the tariff will not be applied. If the rule is not informed, the tariff " + + "value will be applied.", length = 65535) private String activationRule; @Parameter(name = ApiConstants.START_DATE, type = CommandType.DATE, description = "The effective start date on/after which the quota tariff is effective. Use yyyy-MM-dd as" @@ -68,10 +68,6 @@ public class QuotaTariffCreateCmd extends BaseCmd { + " endDate=2009-06-03.") private Date endDate; - public QuotaTariffCreateCmd() { - super(); - } - @Override public void execute() { QuotaTariffVO result = responseBuilder.createQuotaTariff(this); @@ -110,10 +106,6 @@ public Integer getUsageType() { return usageType; } - public void setUsageType(Integer usageType) { - this.usageType = usageType; - } - public Double getValue() { return value; } @@ -126,10 +118,6 @@ public String getActivationRule() { return activationRule; } - public void setActivationRule(String activationRule) { - this.activationRule = activationRule; - } - public Date getStartDate() { return startDate; } diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java index 733f1e67333d..6fd46dc487e1 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffDeleteCmd.java @@ -47,14 +47,6 @@ public String getId() { return id; } - public void setId(String id) { - this.id = id; - } - - public QuotaTariffDeleteCmd() { - super(); - } - @Override public void execute() { boolean result = responseBuilder.deleteQuotaTariff(getId()); diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java index 6f041a2d0faa..b79fd3d9aa82 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffListCmd.java @@ -43,21 +43,21 @@ public class QuotaTariffListCmd extends BaseListCmd { @Inject QuotaResponseBuilder _responseBuilder; - @Parameter(name = ApiConstants.USAGE_TYPE, type = CommandType.INTEGER, required = false, description = "Usage type of the resource") + @Parameter(name = ApiConstants.USAGE_TYPE, type = CommandType.INTEGER, description = "Usage type of the resource") private Integer usageType; - @Parameter(name = ApiConstants.START_DATE, type = CommandType.DATE, required = false, description = "The start date of the quota tariff. Use yyyy-MM-dd as the date format, " + @Parameter(name = ApiConstants.START_DATE, type = CommandType.DATE, description = "The start date of the quota tariff. Use yyyy-MM-dd as the date format, " + "e.g. startDate=2009-06-03.") private Date effectiveDate; - @Parameter(name = ApiConstants.END_DATE, type = CommandType.DATE, required = false, description = "The end date of the quota tariff. Use yyyy-MM-dd as the date format, e.g. " + @Parameter(name = ApiConstants.END_DATE, type = CommandType.DATE, description = "The end date of the quota tariff. Use yyyy-MM-dd as the date format, e.g. " + "endDate=2021-11-03.", since = "4.18.0.0") private Date endDate; - @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = false, description = "The name of the quota tariff.", since = "4.18.0.0") + @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, description = "The name of the quota tariff.", since = "4.18.0.0") private String name; - @Parameter(name = ApiConstants.LIST_ALL, type = CommandType.BOOLEAN, required = false, description = "False will list only not removed quota tariffs. If set to True, we will " + @Parameter(name = ApiConstants.LIST_ALL, type = CommandType.BOOLEAN, description = "False will list only not removed quota tariffs. If set to True, we will " + "list all, including the removed ones. The default is false.", since = "4.18.0.0") private boolean listAll = false; @@ -69,7 +69,7 @@ public QuotaTariffListCmd() { public void execute() { final Pair, Integer> result = _responseBuilder.listQuotaTariffPlans(this); - final List responses = new ArrayList(); + final List responses = new ArrayList<>(); s_logger.trace(String.format("Adding quota tariffs [%s] to response of API quotaTariffList.", ReflectionToStringBuilderUtils.reflectCollection(responses))); @@ -77,7 +77,7 @@ public void execute() { responses.add(_responseBuilder.createQuotaTariffResponse(resource)); } - final ListResponse response = new ListResponse(); + final ListResponse response = new ListResponse<>(); response.setResponses(responses, result.second()); response.setResponseName(getCommandName()); setResponseObject(response); @@ -89,17 +89,13 @@ public long getEntityOwnerId() { } public Date getEffectiveDate() { - return effectiveDate ==null ? null : new Date(effectiveDate.getTime()); + return effectiveDate; } public Integer getUsageType() { return usageType; } - public void setUsageType(Integer usageType) { - this.usageType = usageType; - } - public Date getEndDate() { return endDate; } diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java index ba457b99f949..e2aad3a86f31 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffUpdateCmd.java @@ -65,18 +65,14 @@ public class QuotaTariffUpdateCmd extends BaseCmd { @Parameter(name = ApiConstants.ACTIVATION_RULE, type = CommandType.STRING, description = "Quota tariff's activation rule. It can receive a JS script that results in either " + "a boolean or a numeric value: if it results in a boolean value, the tariff value will be applied according to the result; if it results in a numeric value, the " + - "numeric value will be applied; if the result is neither a boolean nor a value, the tariff will not be applied. If the rule is not informed, the tariff value will be " + - "applied. Inform empty to remove the activation rule.", length = 65535, since = "4.18.0.0") + "numeric value will be applied; if the result is neither a boolean nor a numeric value, the tariff will not be applied. If the rule is not informed, the tariff " + + "value will be applied. Inform empty to remove the activation rule.", length = 65535, since = "4.18.0.0") private String activationRule; public Integer getUsageType() { return usageType; } - public void setUsageType(Integer usageType) { - this.usageType = usageType; - } - public Double getValue() { return value; } From 70243188e677d9c001dd6a864f715ae340977d71 Mon Sep 17 00:00:00 2001 From: GutoVeronezi Date: Mon, 30 Jan 2023 23:08:06 -0300 Subject: [PATCH 5/5] Undo tab --- .../org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java index c550dd7aab95..2bbdb57fa7e7 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaTariffCreateCmd.java @@ -35,7 +35,7 @@ import java.util.Date; @APICommand(name = "quotaTariffCreate", responseObject = QuotaTariffResponse.class, description = "Creates a quota tariff for a resource.", since = "4.18.0.0", - requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized = {RoleType.Admin}) +requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized = {RoleType.Admin}) public class QuotaTariffCreateCmd extends BaseCmd { protected Logger logger = Logger.getLogger(getClass());