diff --git a/commons/src/main/java/org/eclipse/kapua/commons/util/ArgumentValidator.java b/commons/src/main/java/org/eclipse/kapua/commons/util/ArgumentValidator.java
index ffbeb1dacd3..cca009f0fb7 100644
--- a/commons/src/main/java/org/eclipse/kapua/commons/util/ArgumentValidator.java
+++ b/commons/src/main/java/org/eclipse/kapua/commons/util/ArgumentValidator.java
@@ -13,6 +13,8 @@
import org.eclipse.kapua.KapuaIllegalArgumentException;
import org.eclipse.kapua.KapuaIllegalNullArgumentException;
+import org.eclipse.kapua.model.KapuaNamedEntity;
+import org.eclipse.kapua.model.KapuaNamedEntityCreator;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
@@ -214,7 +216,7 @@ public static void numRange(long value, long minValue, long maxValue, String arg
* @param argumentName The argument name with will be used in the exception
* @throws KapuaIllegalArgumentException If the given {@link String} excedees the given length limits.
*/
- public static void lengthRange(@NotNull String value, @Nullable Long minLength, @Nullable Long maxLength, @NotNull String argumentName) throws KapuaIllegalArgumentException {
+ public static void lengthRange(@NotNull String value, @Nullable Integer minLength, @Nullable Integer maxLength, @NotNull String argumentName) throws KapuaIllegalArgumentException {
if (minLength != null && value.length() < minLength) {
throw new KapuaIllegalArgumentException(argumentName, "Value less than allowed min length. Min length is " + minLength);
@@ -224,4 +226,49 @@ public static void lengthRange(@NotNull String value, @Nullable Long minLength,
throw new KapuaIllegalArgumentException(argumentName, "Value over than allowed max length. Max length is " + maxLength);
}
}
+
+ /**
+ * Comprehensive validation method for the {@link KapuaNamedEntity#getName()} or {@link KapuaNamedEntityCreator#getName()} fields.
+ *
+ * Same as {@link #validateEntityName(String, Integer, Integer, String)} but assumes default minimum length of 3 chars and maximum length of 255 chars.
+ *
+ * @param name The value to validate. Usually would be the {@link KapuaNamedEntity#getName()} or {@link KapuaNamedEntityCreator#getName()}, but other values could be provided
+ * @param argumentName The name of the argumento to bundle with the {@link KapuaIllegalArgumentException}
+ * @throws KapuaIllegalNullArgumentException If the given value to validate is {@code null}.
+ * @throws KapuaIllegalArgumentException If other validations fails.
+ * @see ArgumentValidator#notEmptyOrNull(String, String)
+ * @see ArgumentValidator#lengthRange(String, Integer, Integer, String)
+ * @see ArgumentValidator#match(String, ValidationRegex, String)
+ * @since 1.2.0
+ */
+ public static void validateEntityName(@Nullable String name, @NotNull String argumentName) throws KapuaIllegalNullArgumentException, KapuaIllegalArgumentException {
+ validateEntityName(name, 3, 255, argumentName);
+ }
+
+ /**
+ * Comprehensive validation method for the {@link KapuaNamedEntity#getName()} or {@link KapuaNamedEntityCreator#getName()} fields.
+ *
+ * It invokes in sequence the three {@link ArgumentValidator} validation methods, using the provided parameters.
+ *
+ * - {@link #notEmptyOrNull(String, String)}
+ * - {@link #lengthRange(String, Integer, Integer, String)}
+ * - {@link #match(String, ValidationRegex, String)} with {@link CommonsValidationRegex#NAME_SPACE_REGEXP}
+ *
+ *
+ * @param name The value to validate. Usually would be the {@link KapuaNamedEntity#getName()} or {@link KapuaNamedEntityCreator#getName()}, but other values could be provided
+ * @param minLength The minimum length of the field. If {@code null} the minLength validation is skipped
+ * @param maxLength The maximum length of the field. If {@code null} the maxLength validation is skipped
+ * @param argumentName The name of the argumento to bundle with the {@link KapuaIllegalArgumentException}
+ * @throws KapuaIllegalNullArgumentException If the given value to validate is {@code null}.
+ * @throws KapuaIllegalArgumentException If other validations fails.
+ * @see ArgumentValidator#notEmptyOrNull(String, String)
+ * @see ArgumentValidator#lengthRange(String, Integer, Integer, String)
+ * @see ArgumentValidator#match(String, ValidationRegex, String)
+ * @since 1.2.0
+ */
+ public static void validateEntityName(@Nullable String name, @Nullable Integer minLength, @Nullable Integer maxLength, @NotNull String argumentName) throws KapuaIllegalNullArgumentException, KapuaIllegalArgumentException {
+ notEmptyOrNull(name, argumentName);
+ lengthRange(name, minLength, maxLength, argumentName);
+ match(name, CommonsValidationRegex.NAME_SPACE_REGEXP, argumentName);
+ }
}
diff --git a/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/group/GroupAddDialog.java b/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/group/GroupAddDialog.java
index 889f1362048..2be144f0b13 100644
--- a/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/group/GroupAddDialog.java
+++ b/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/group/GroupAddDialog.java
@@ -52,9 +52,10 @@ public void createBody() {
FormPanel groupFormPanel = new FormPanel(FORM_LABEL_WIDTH);
groupNameField = new KapuaTextField();
groupNameField.setAllowBlank(false);
+ groupNameField.setMinLength(3);
groupNameField.setMaxLength(255);
groupNameField.setFieldLabel("* " + MSGS.dialogAddFieldName());
- groupNameField.setValidator(new TextFieldValidator(groupNameField, FieldType.NAME));
+ groupNameField.setValidator(new TextFieldValidator(groupNameField, FieldType.NAME_SPACE));
groupNameField.setToolTip(MSGS.dialogAddFieldNameTooltip());
groupFormPanel.add(groupNameField);
@@ -71,7 +72,7 @@ public void createBody() {
public void validateGroups() {
if (groupNameField.getValue() == null) {
ConsoleInfo.display("Error", CONSOLE_MSGS.allFieldsRequired());
- }
+ }
}
@Override
diff --git a/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/role/dialog/RoleAddDialog.java b/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/role/dialog/RoleAddDialog.java
index 55da25747a1..0be71a9a668 100644
--- a/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/role/dialog/RoleAddDialog.java
+++ b/console/module/authorization/src/main/java/org/eclipse/kapua/app/console/module/authorization/client/role/dialog/RoleAddDialog.java
@@ -50,7 +50,7 @@ public RoleAddDialog(GwtSession currentSession) {
public void validateRoles() {
if (roleNameField.getValue() == null) {
ConsoleInfo.display("Error", CONSOLE_MSGS.allFieldsRequired());
- }
+ }
}
@Override
@@ -117,9 +117,10 @@ public void createBody() {
// Name
roleNameField = new KapuaTextField();
roleNameField.setAllowBlank(false);
+ roleNameField.setMinLength(3);
roleNameField.setMaxLength(255);
roleNameField.setFieldLabel("* " + MSGS.dialogAddFieldName());
- roleNameField.setValidator(new TextFieldValidator(roleNameField, FieldType.NAME));
+ roleNameField.setValidator(new TextFieldValidator(roleNameField, FieldType.NAME_SPACE));
roleNameField.setToolTip(MSGS.dialogAddFieldNameTooltip());
roleFormPanel.add(roleNameField);
diff --git a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/JobAddDialog.java b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/JobAddDialog.java
index 1c2d4b76f12..adb84e9eb84 100644
--- a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/JobAddDialog.java
+++ b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/JobAddDialog.java
@@ -53,10 +53,11 @@ public void createBody() {
name = new KapuaTextField();
name.setAllowBlank(false);
+ name.setMinLength(3);
name.setMaxLength(255);
name.setName("name");
name.setFieldLabel("* " + JOB_MSGS.dialogAddFieldName());
- name.setValidator(new TextFieldValidator(name, FieldType.NAME));
+ name.setValidator(new TextFieldValidator(name, FieldType.NAME_SPACE));
name.setToolTip(JOB_MSGS.dialogAddFieldNameTooltip());
jobFormPanel.add(name);
@@ -74,7 +75,7 @@ public void createBody() {
public void validateJob() {
if (name.getValue() == null) {
ConsoleInfo.display("Error", CONSOLE_MSGS.allFieldsRequired());
- }
+ }
}
@Override
diff --git a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/schedule/JobScheduleAddDialog.java b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/schedule/JobScheduleAddDialog.java
index da105836a63..dfc243308fa 100644
--- a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/schedule/JobScheduleAddDialog.java
+++ b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/schedule/JobScheduleAddDialog.java
@@ -44,6 +44,7 @@
import org.eclipse.kapua.app.console.module.api.client.util.FailureHandler;
import org.eclipse.kapua.app.console.module.api.client.util.validator.AfterDateValidator;
import org.eclipse.kapua.app.console.module.api.client.util.validator.BeforeDateValidator;
+import org.eclipse.kapua.app.console.module.api.client.util.validator.TextFieldValidator;
import org.eclipse.kapua.app.console.module.api.shared.model.session.GwtSession;
import org.eclipse.kapua.app.console.module.job.client.messages.ConsoleJobMessages;
import org.eclipse.kapua.app.console.module.job.shared.model.scheduler.GwtTrigger;
@@ -138,7 +139,9 @@ public void handleEvent(BaseEvent be) {
};
triggerName.setAllowBlank(false);
+ triggerName.setMinLength(3);
triggerName.setMaxLength(255);
+ triggerName.setValidator(new TextFieldValidator(triggerName, TextFieldValidator.FieldType.NAME_SPACE));
triggerName.setFieldLabel("* " + JOB_MSGS.dialogAddScheduleScheduleNameLabel());
triggerName.setToolTip(JOB_MSGS.dialogAddScheduleNameTooltip());
mainPanel.add(triggerName);
diff --git a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java
index e04e69a690e..04c616b741e 100644
--- a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java
+++ b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java
@@ -45,6 +45,7 @@
import org.eclipse.kapua.app.console.module.api.client.util.DialogUtils;
import org.eclipse.kapua.app.console.module.api.client.util.FailureHandler;
import org.eclipse.kapua.app.console.module.api.client.util.KapuaSafeHtmlUtils;
+import org.eclipse.kapua.app.console.module.api.client.util.validator.TextFieldValidator;
import org.eclipse.kapua.app.console.module.api.shared.model.session.GwtSession;
import org.eclipse.kapua.app.console.module.job.client.messages.ConsoleJobMessages;
import org.eclipse.kapua.app.console.module.job.shared.model.GwtJobStep;
@@ -98,7 +99,10 @@ public JobStepAddDialog(GwtSession currentSession, String jobId) {
this.jobId = jobId;
jobStepName = new KapuaTextField();
+ jobStepName.setMinLength(3);
jobStepName.setMaxLength(255);
+ jobStepName.setValidator(new TextFieldValidator(jobStepName, TextFieldValidator.FieldType.NAME_SPACE));
+
jobStepDescription = new KapuaTextField();
jobStepDefinitionCombo = new ComboBox();
jobStepPropertiesFieldSet = new FieldSet();
diff --git a/console/module/tag/src/main/java/org/eclipse/kapua/app/console/module/tag/client/TagAddDialog.java b/console/module/tag/src/main/java/org/eclipse/kapua/app/console/module/tag/client/TagAddDialog.java
index 633edc2f73e..996cc7dea8b 100644
--- a/console/module/tag/src/main/java/org/eclipse/kapua/app/console/module/tag/client/TagAddDialog.java
+++ b/console/module/tag/src/main/java/org/eclipse/kapua/app/console/module/tag/client/TagAddDialog.java
@@ -53,7 +53,8 @@ public void createBody() {
tagNameField = new KapuaTextField();
tagNameField.setAllowBlank(false);
tagNameField.setFieldLabel("* " + MSGS.dialogAddFieldName());
- tagNameField.setValidator(new TextFieldValidator(tagNameField, FieldType.NAME));
+ tagNameField.setValidator(new TextFieldValidator(tagNameField, FieldType.NAME_SPACE));
+ tagNameField.setMinLength(3);
tagNameField.setMaxLength(255);
tagFormPanel.add(tagNameField);
@@ -70,7 +71,7 @@ public void createBody() {
public void validateTags() {
if (tagNameField.getValue() == null) {
ConsoleInfo.display("Error", CONSOLE_MSGS.allFieldsRequired());
- }
+ }
}
@Override
diff --git a/qa/integration/src/test/resources/features/job/JobServiceI9n.feature b/qa/integration/src/test/resources/features/job/JobServiceI9n.feature
index d6c2f2c3f11..bfa88561e48 100644
--- a/qa/integration/src/test/resources/features/job/JobServiceI9n.feature
+++ b/qa/integration/src/test/resources/features/job/JobServiceI9n.feature
@@ -66,10 +66,9 @@ Feature: Job service CRUD tests
| boolean | infiniteChildEntities | true |
| integer | maxNumberChildEntities | 5 |
Given A job creator with an empty name
+ Given I expect the exception "KapuaIllegalNullArgumentException" with the text "name"
When I create a new job entity from the existing creator
- Then No exception was thrown
- When I search for the job in the database
- Then The job entity matches the creator
+ Then An exception was thrown
Then I logout
Scenario: Job with a duplicate name
diff --git a/qa/integration/src/test/resources/features/jobScheduling/TriggerServiceI9n.feature b/qa/integration/src/test/resources/features/jobScheduling/TriggerServiceI9n.feature
index a6c3339b5fd..6f1b6601075 100644
--- a/qa/integration/src/test/resources/features/jobScheduling/TriggerServiceI9n.feature
+++ b/qa/integration/src/test/resources/features/jobScheduling/TriggerServiceI9n.feature
@@ -97,14 +97,14 @@ Feature: Trigger service tests
Scenario: Adding "Device Connect" Schedule With Min Length Name
Login as kapua-sys user and create a job with name job0.
- Add a new schedule with one character long name.
+ Add a new schedule with three character long name.
As this is the defined limit for the min number of characters
for the schedule name, no errors should be thrown.
Given I login as user with name "kapua-sys" and password "kapua-password"
And I create a job with the name "job0"
When I found trigger properties with name "Device Connect"
- And A regular trigger creator with the name "w"
+ And A regular trigger creator with the name "www"
And The trigger is set to start today at 10:00.
And I create a new trigger from the existing creator with previously defined date properties
And I logout
diff --git a/service/endpoint/internal/src/main/java/org/eclipse/kapua/service/endpoint/internal/EndpointInfoServiceImpl.java b/service/endpoint/internal/src/main/java/org/eclipse/kapua/service/endpoint/internal/EndpointInfoServiceImpl.java
index cfe960877fb..6cb0330c81d 100644
--- a/service/endpoint/internal/src/main/java/org/eclipse/kapua/service/endpoint/internal/EndpointInfoServiceImpl.java
+++ b/service/endpoint/internal/src/main/java/org/eclipse/kapua/service/endpoint/internal/EndpointInfoServiceImpl.java
@@ -75,11 +75,11 @@ public EndpointInfo create(EndpointInfoCreator endpointInfoCreator)
ArgumentValidator.notEmptyOrNull(endpointInfoCreator.getSchema(), "endpointInfoCreator.schema");
ArgumentValidator.match(endpointInfoCreator.getSchema(), CommonsValidationRegex.URI_SCHEME, "endpointInfoCreator.schema");
- ArgumentValidator.lengthRange(endpointInfoCreator.getSchema(), 1L, 64L, "endpointInfoCreator.schema");
+ ArgumentValidator.lengthRange(endpointInfoCreator.getSchema(), 1, 64, "endpointInfoCreator.schema");
ArgumentValidator.notEmptyOrNull(endpointInfoCreator.getDns(), "endpointInfoCreator.dns");
ArgumentValidator.match(endpointInfoCreator.getDns(), CommonsValidationRegex.URI_DNS, "endpointInfoCreator.dns");
- ArgumentValidator.lengthRange(endpointInfoCreator.getDns(), 1L, 1024L, "endpointInfoCreator.dns");
+ ArgumentValidator.lengthRange(endpointInfoCreator.getDns(), 1, 1024, "endpointInfoCreator.dns");
ArgumentValidator.notNegative(endpointInfoCreator.getPort(), "endpointInfoCreator.port");
ArgumentValidator.numRange(endpointInfoCreator.getPort(), 1, 65535, "endpointInfoCreator.port");
@@ -109,11 +109,11 @@ public EndpointInfo update(EndpointInfo endpointInfo) throws KapuaException {
ArgumentValidator.notEmptyOrNull(endpointInfo.getSchema(), "endpointInfo.schema");
ArgumentValidator.match(endpointInfo.getSchema(), CommonsValidationRegex.URI_SCHEME, "endpointInfo.schema");
- ArgumentValidator.lengthRange(endpointInfo.getSchema(), 1L, 64L, "endpointInfo.schema");
+ ArgumentValidator.lengthRange(endpointInfo.getSchema(), 1, 64, "endpointInfo.schema");
ArgumentValidator.notEmptyOrNull(endpointInfo.getDns(), "endpointInfo.dns");
ArgumentValidator.match(endpointInfo.getDns(), CommonsValidationRegex.URI_DNS, "endpointInfo.dns");
- ArgumentValidator.lengthRange(endpointInfo.getDns(), 1L, 1024L, "endpointInfo.dns");
+ ArgumentValidator.lengthRange(endpointInfo.getDns(), 1, 1024, "endpointInfo.dns");
ArgumentValidator.notNegative(endpointInfo.getPort(), "endpointInfo.port");
ArgumentValidator.numRange(endpointInfo.getPort(), 1, 65535, "endpointInfo.port");
diff --git a/service/job/internal/src/main/java/org/eclipse/kapua/service/job/internal/JobServiceImpl.java b/service/job/internal/src/main/java/org/eclipse/kapua/service/job/internal/JobServiceImpl.java
index 06deaaf50d9..103df061a33 100755
--- a/service/job/internal/src/main/java/org/eclipse/kapua/service/job/internal/JobServiceImpl.java
+++ b/service/job/internal/src/main/java/org/eclipse/kapua/service/job/internal/JobServiceImpl.java
@@ -75,7 +75,7 @@ public Job create(JobCreator creator) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(creator, "jobCreator");
ArgumentValidator.notNull(creator.getScopeId(), "jobCreator.scopeId");
- ArgumentValidator.notNull(creator.getName(), "jobCreator.name");
+ ArgumentValidator.validateEntityName(creator.getName(), "jobCreator.name");
//
// Check access
@@ -106,7 +106,7 @@ public Job update(Job job) throws KapuaException {
// Argument Validation
ArgumentValidator.notNull(job, "job");
ArgumentValidator.notNull(job.getScopeId(), "job.scopeId");
- ArgumentValidator.notNull(job.getName(), "job.name");
+ ArgumentValidator.validateEntityName(job.getName(), "job.name");
//
// Check access
@@ -195,7 +195,7 @@ public void deleteForced(KapuaId scopeId, KapuaId jobId) throws KapuaException {
//
// Private methods
- //
+ //
/**
* Deletes the {@link Job} like {@link #delete(KapuaId, KapuaId)}.
@@ -249,7 +249,7 @@ private void deleteInternal(KapuaId scopeId, KapuaId jobId, boolean forced) thro
//
// Do delete
try {
- KapuaSecurityUtils.doPrivileged(() -> jobEngineService.cleanJobData(scopeId, jobId));
+ KapuaSecurityUtils.doPrivileged(() -> jobEngineService.cleanJobData(scopeId, jobId));
} catch (Exception e) {
if (forced) {
LOG.warn("Error while cleaning Job data. Ignoring exception since delete is forced! Error: {}", e.getMessage());
diff --git a/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/definition/internal/JobStepDefinitionServiceImpl.java b/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/definition/internal/JobStepDefinitionServiceImpl.java
index 9b5ae5355e2..55cf8be2102 100755
--- a/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/definition/internal/JobStepDefinitionServiceImpl.java
+++ b/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/definition/internal/JobStepDefinitionServiceImpl.java
@@ -61,7 +61,7 @@ public JobStepDefinition create(JobStepDefinitionCreator creator) throws KapuaEx
ArgumentValidator.notNull(creator, "stepDefinitionCreator");
ArgumentValidator.notNull(creator.getScopeId(), "stepDefinitionCreator.scopeId");
ArgumentValidator.notNull(creator.getStepType(), "stepDefinitionCreator.stepType");
- ArgumentValidator.notEmptyOrNull(creator.getName(), "stepDefinitionCreator.name");
+ ArgumentValidator.validateEntityName(creator.getName(), "stepDefinitionCreator.name");
ArgumentValidator.notEmptyOrNull(creator.getProcessorName(), "stepDefinitionCreator.processorName");
//
@@ -80,7 +80,7 @@ public JobStepDefinition update(JobStepDefinition jobStepDefinition) throws Kapu
ArgumentValidator.notNull(jobStepDefinition, "stepDefinition");
ArgumentValidator.notNull(jobStepDefinition.getScopeId(), "stepDefinition.scopeId");
ArgumentValidator.notNull(jobStepDefinition.getStepType(), "jobStepDefinition.stepType");
- ArgumentValidator.notEmptyOrNull(jobStepDefinition.getName(), "jobStepDefinition.name");
+ ArgumentValidator.validateEntityName(jobStepDefinition.getName(), "jobStepDefinition.name");
ArgumentValidator.notEmptyOrNull(jobStepDefinition.getProcessorName(), "jobStepDefinition.processorName");
//
diff --git a/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/internal/JobStepServiceImpl.java b/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/internal/JobStepServiceImpl.java
index 83b7eecd5c8..559d182e3c0 100644
--- a/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/internal/JobStepServiceImpl.java
+++ b/service/job/internal/src/main/java/org/eclipse/kapua/service/job/step/internal/JobStepServiceImpl.java
@@ -16,13 +16,13 @@
import org.eclipse.kapua.KapuaEntityUniquenessException;
import org.eclipse.kapua.KapuaException;
import org.eclipse.kapua.commons.configuration.AbstractKapuaConfigurableResourceLimitedService;
-import org.eclipse.kapua.model.query.SortOrder;
import org.eclipse.kapua.commons.util.ArgumentValidator;
import org.eclipse.kapua.locator.KapuaLocator;
import org.eclipse.kapua.locator.KapuaProvider;
import org.eclipse.kapua.model.domain.Actions;
import org.eclipse.kapua.model.id.KapuaId;
import org.eclipse.kapua.model.query.KapuaQuery;
+import org.eclipse.kapua.model.query.SortOrder;
import org.eclipse.kapua.model.query.predicate.AttributePredicate.Operator;
import org.eclipse.kapua.service.authorization.AuthorizationService;
import org.eclipse.kapua.service.authorization.permission.PermissionFactory;
@@ -71,8 +71,7 @@ public JobStep create(JobStepCreator jobStepCreator) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(jobStepCreator, "jobStepCreator");
ArgumentValidator.notNull(jobStepCreator.getScopeId(), "jobStepCreator.scopeId");
- ArgumentValidator.notEmptyOrNull(jobStepCreator.getName(), "jobStepCreator.name");
- ArgumentValidator.numRange(jobStepCreator.getName().length(), 1, 255, "jobStepCreator.name");
+ ArgumentValidator.validateEntityName(jobStepCreator.getName(), "jobStepCreator.name");
ArgumentValidator.notNull(jobStepCreator.getJobStepDefinitionId(), "jobStepCreator.stepDefinitionId");
if (jobStepCreator.getDescription() != null) {
@@ -152,7 +151,7 @@ public JobStep update(JobStep jobStep) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(jobStep, "jobStep");
ArgumentValidator.notNull(jobStep.getScopeId(), "jobStep.scopeId");
- ArgumentValidator.notNull(jobStep.getName(), "jobStep.name");
+ ArgumentValidator.validateEntityName(jobStep.getName(), "jobStep.name");
ArgumentValidator.notNull(jobStep.getJobStepDefinitionId(), "jobStep.stepDefinitionId");
if (jobStep.getDescription() != null) {
ArgumentValidator.numRange(jobStep.getDescription().length(), 0, 8192, "jobStep.description");
diff --git a/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/definition/quartz/TriggerDefinitionServiceImpl.java b/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/definition/quartz/TriggerDefinitionServiceImpl.java
index d586e1715e7..0e5d0e7ff6e 100755
--- a/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/definition/quartz/TriggerDefinitionServiceImpl.java
+++ b/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/definition/quartz/TriggerDefinitionServiceImpl.java
@@ -54,7 +54,7 @@ public TriggerDefinition create(TriggerDefinitionCreator creator) throws KapuaEx
ArgumentValidator.notNull(creator, "stepDefinitionCreator");
ArgumentValidator.notNull(creator.getScopeId(), "stepDefinitionCreator.scopeId");
ArgumentValidator.notNull(creator.getTriggerType(), "stepDefinitionCreator.stepType");
- ArgumentValidator.notEmptyOrNull(creator.getName(), "stepDefinitionCreator.name");
+ ArgumentValidator.validateEntityName(creator.getName(), "stepDefinitionCreator.name");
ArgumentValidator.notEmptyOrNull(creator.getProcessorName(), "stepDefinitionCreator.processorName");
//
@@ -73,7 +73,7 @@ public TriggerDefinition update(TriggerDefinition triggerDefinition) throws Kapu
ArgumentValidator.notNull(triggerDefinition, "stepDefinition");
ArgumentValidator.notNull(triggerDefinition.getScopeId(), "stepDefinition.scopeId");
ArgumentValidator.notNull(triggerDefinition.getTriggerType(), "triggerDefinition.stepType");
- ArgumentValidator.notEmptyOrNull(triggerDefinition.getName(), "triggerDefinition.name");
+ ArgumentValidator.validateEntityName(triggerDefinition.getName(), "triggerDefinition.name");
ArgumentValidator.notEmptyOrNull(triggerDefinition.getProcessorName(), "triggerDefinition.processorName");
//
diff --git a/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/quartz/TriggerServiceImpl.java b/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/quartz/TriggerServiceImpl.java
index 9e8929c728b..d56b023f245 100755
--- a/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/quartz/TriggerServiceImpl.java
+++ b/service/scheduler/quartz/src/main/java/org/eclipse/kapua/service/scheduler/trigger/quartz/TriggerServiceImpl.java
@@ -133,7 +133,7 @@ public Trigger create(TriggerCreator triggerCreator) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(triggerCreator, "triggerCreator");
ArgumentValidator.notNull(triggerCreator.getScopeId(), "triggerCreator.scopeId");
- ArgumentValidator.notEmptyOrNull(triggerCreator.getName(), "triggerCreator.name");
+ ArgumentValidator.validateEntityName(triggerCreator.getName(), "triggerCreator.name");
ArgumentValidator.notNull(triggerCreator.getStartsOn(), "triggerCreator.startsOn");
//
@@ -209,7 +209,7 @@ public Trigger update(Trigger trigger) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(trigger.getScopeId(), "trigger.scopeId");
ArgumentValidator.notNull(trigger.getId(), "trigger.id");
- ArgumentValidator.notEmptyOrNull(trigger.getName(), "trigger.name");
+ ArgumentValidator.validateEntityName(trigger.getName(), "trigger.name");
//
// Check Access
diff --git a/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/group/shiro/GroupServiceImpl.java b/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/group/shiro/GroupServiceImpl.java
index 74f4ebe3569..3bf6eb6d527 100644
--- a/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/group/shiro/GroupServiceImpl.java
+++ b/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/group/shiro/GroupServiceImpl.java
@@ -63,7 +63,7 @@ public Group create(GroupCreator groupCreator) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(groupCreator, "groupCreator");
ArgumentValidator.notNull(groupCreator.getScopeId(), "roleCreator.scopeId");
- ArgumentValidator.notEmptyOrNull(groupCreator.getName(), "groupCreator.name");
+ ArgumentValidator.validateEntityName(groupCreator.getName(), "groupCreator.name");
//
// Check Access
@@ -94,9 +94,9 @@ public Group update(Group group) throws KapuaException {
//
// Argument validator
ArgumentValidator.notNull(group, "group");
- ArgumentValidator.notNull(group.getScopeId(), "group.scopeId");
ArgumentValidator.notNull(group.getId(), "group.id");
- ArgumentValidator.notEmptyOrNull(group.getName(), "group.name");
+ ArgumentValidator.notNull(group.getScopeId(), "group.scopeId");
+ ArgumentValidator.validateEntityName(group.getName(), "group.name");
//
// Check Access
diff --git a/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/role/shiro/RoleServiceImpl.java b/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/role/shiro/RoleServiceImpl.java
index 3e9e81d9e4f..ac32aa1e226 100644
--- a/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/role/shiro/RoleServiceImpl.java
+++ b/service/security/shiro/src/main/java/org/eclipse/kapua/service/authorization/role/shiro/RoleServiceImpl.java
@@ -69,7 +69,7 @@ public Role create(RoleCreator roleCreator) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(roleCreator, "roleCreator");
ArgumentValidator.notNull(roleCreator.getScopeId(), "roleCreator.scopeId");
- ArgumentValidator.notEmptyOrNull(roleCreator.getName(), "roleCreator.name");
+ ArgumentValidator.validateEntityName(roleCreator.getName(), "roleCreator.name");
ArgumentValidator.notNull(roleCreator.getPermissions(), "roleCreator.permissions");
//
// Check Access
@@ -130,9 +130,9 @@ public Role update(Role role) throws KapuaException {
//
// Argument validation
ArgumentValidator.notNull(role, "role");
- ArgumentValidator.notNull(role.getScopeId(), "role.scopeId");
ArgumentValidator.notNull(role.getId(), "role.id");
- ArgumentValidator.notEmptyOrNull(role.getName(), "role.name");
+ ArgumentValidator.notNull(role.getScopeId(), "role.scopeId");
+ ArgumentValidator.validateEntityName(role.getName(), "role.name");
//
// Check Access
@@ -179,7 +179,7 @@ public void delete(KapuaId scopeId, KapuaId roleId) throws KapuaException {
if (find(scopeId, roleId) == null) {
throw new KapuaEntityNotFoundException(Role.TYPE, roleId);
}
- if(roleId.equals(KapuaId.ONE)) {
+ if (roleId.equals(KapuaId.ONE)) {
throw new KapuaException(KapuaErrorCodes.ADMIN_ROLE_DELETED_ERROR);
}
diff --git a/service/tag/internal/src/main/java/org/eclipse/kapua/service/tag/internal/TagServiceImpl.java b/service/tag/internal/src/main/java/org/eclipse/kapua/service/tag/internal/TagServiceImpl.java
index 90ab567e7c5..6ad95950a51 100644
--- a/service/tag/internal/src/main/java/org/eclipse/kapua/service/tag/internal/TagServiceImpl.java
+++ b/service/tag/internal/src/main/java/org/eclipse/kapua/service/tag/internal/TagServiceImpl.java
@@ -17,7 +17,6 @@
import org.eclipse.kapua.KapuaMaxNumberOfItemsReachedException;
import org.eclipse.kapua.commons.configuration.AbstractKapuaConfigurableResourceLimitedService;
import org.eclipse.kapua.commons.util.ArgumentValidator;
-//import org.eclipse.kapua.locator.KapuaLocator;
import org.eclipse.kapua.locator.KapuaProvider;
import org.eclipse.kapua.model.domain.Actions;
import org.eclipse.kapua.model.id.KapuaId;
@@ -36,6 +35,8 @@
import javax.inject.Inject;
+//import org.eclipse.kapua.locator.KapuaLocator;
+
/**
* {@link TagService} implementation.
*
@@ -44,11 +45,6 @@
@KapuaProvider
public class TagServiceImpl extends AbstractKapuaConfigurableResourceLimitedService implements TagService {
-// private static final KapuaLocator LOCATOR = KapuaLocator.getInstance();
-//
-// private static final AuthorizationService AUTHORIZATION_SERVICE = LOCATOR.getService(AuthorizationService.class);
-// private static final PermissionFactory PERMISSION_FACTORY = LOCATOR.getFactory(PermissionFactory.class);
-
@Inject
private AuthorizationService authorizationService;
@@ -65,11 +61,10 @@ public Tag create(TagCreator tagCreator) throws KapuaException {
// Argument validation
ArgumentValidator.notNull(tagCreator, "tagCreator");
ArgumentValidator.notNull(tagCreator.getScopeId(), "tagCreator.scopeId");
- ArgumentValidator.notEmptyOrNull(tagCreator.getName(), "tagCreator.name");
+ ArgumentValidator.validateEntityName(tagCreator.getName(), "tagCreator.name");
//
// Check Access
-// AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(TagDomains.TAG_DOMAIN, Actions.write, tagCreator.getScopeId()));
authorizationService.checkPermission(permissionFactory.newPermission(TagDomains.TAG_DOMAIN, Actions.write, tagCreator.getScopeId()));
//
@@ -97,13 +92,12 @@ public Tag update(Tag tag) throws KapuaException {
//
// Argument validation
ArgumentValidator.notNull(tag, "tag");
- ArgumentValidator.notNull(tag.getScopeId(), "tag.scopeId");
ArgumentValidator.notNull(tag.getId(), "tag.id");
- ArgumentValidator.notEmptyOrNull(tag.getName(), "tag.name");
+ ArgumentValidator.notNull(tag.getScopeId(), "tag.scopeId");
+ ArgumentValidator.validateEntityName(tag.getName(), "tag.name");
//
// Check Access
-// AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(TagDomains.TAG_DOMAIN, Actions.write, tag.getScopeId()));
authorizationService.checkPermission(permissionFactory.newPermission(TagDomains.TAG_DOMAIN, Actions.write, tag.getScopeId()));
//
@@ -140,7 +134,6 @@ public void delete(KapuaId scopeId, KapuaId tagId) throws KapuaException {
//
// Check Access
-// AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(TagDomains.TAG_DOMAIN, Actions.delete, scopeId));
authorizationService.checkPermission(permissionFactory.newPermission(TagDomains.TAG_DOMAIN, Actions.delete, scopeId));
//
@@ -163,7 +156,6 @@ public Tag find(KapuaId scopeId, KapuaId tagId) throws KapuaException {
//
// Check Access
-// AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(TagDomains.TAG_DOMAIN, Actions.read, scopeId));
authorizationService.checkPermission(permissionFactory.newPermission(TagDomains.TAG_DOMAIN, Actions.read, scopeId));
//
@@ -179,7 +171,6 @@ public TagListResult query(KapuaQuery query) throws KapuaException {
//
// Check Access
-// AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(TagDomains.TAG_DOMAIN, Actions.read, query.getScopeId()));
authorizationService.checkPermission(permissionFactory.newPermission(TagDomains.TAG_DOMAIN, Actions.read, query.getScopeId()));
//
@@ -195,7 +186,6 @@ public long count(KapuaQuery query) throws KapuaException {
//
// Check Access
-// AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(TagDomains.TAG_DOMAIN, Actions.read, query.getScopeId()));
authorizationService.checkPermission(permissionFactory.newPermission(TagDomains.TAG_DOMAIN, Actions.read, query.getScopeId()));
//