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. + *

+ * + * @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())); //