Fix constraint violation exception when creating target with whitespaces (#363)

* Added a function to validate if controller id is empty

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Changed how the controller id gets past to other methods

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Changed the way controllderId gets validated in UI and repro

- added junit test

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Fixed sonar issue

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Switched to use the RegexpValidator 

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>
This commit is contained in:
Jonathan Knoblauch
2016-11-28 17:58:52 +01:00
committed by Michael Hirsch
parent a57165686e
commit b30f2bdb1f
4 changed files with 53 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ import org.eclipse.hawkbit.ui.utils.UINotification;
import org.springframework.beans.factory.annotation.Autowired;
import org.vaadin.spring.events.EventBus;
import com.vaadin.data.validator.RegexpValidator;
import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.CustomComponent;
@@ -104,6 +105,7 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
private void createRequiredComponents() {
controllerIDTextField = createTextField("prompt.target.id", UIComponentIdProvider.TARGET_ADD_CONTROLLER_ID);
controllerIDTextField.addValidator(new RegexpValidator("[.\\S]*", i18n.get("message.target.whitespace.check")));
nameTextField = createTextField("textfield.name", UIComponentIdProvider.TARGET_ADD_NAME);
nameTextField.setRequired(false);

View File

@@ -273,6 +273,7 @@ message.no.available = --No messages available--
message.no.actionupdateds.available = No other updates available for this action
message.mandatory.check = Mandatory details are missing
message.target.duplicate.check = Target [ {0} ] must be unique, entered value already exists.
message.target.whitespace.check = Please enter a valid controller ID with no whitespaces
message.permission.insufficient = Insufficient permissions to perform this action.
message.error.temp = The operation cannot be fulfilled due to {0}. Please contact administrator
message.dist.alreadyassigned = {0} : {1} is already assigned/installed, cannot be updated