List of usage examples for com.vaadin.data.validator AbstractValidator AbstractValidator
protected AbstractValidator(String errorMessage)
From source file:de.decidr.ui.view.uibuilder.FieldBuilder.java
License:Apache License
@Override public Field createControl(String label, String value) { TextField field = new TextField(label); field.addValidator(new AbstractValidator("Please enter time in the format hh:mm:ss.") { private static final long serialVersionUID = -2794593423408118150L; @Override/*from w w w. ja v a 2 s .c o m*/ public boolean isValid(Object value) { String[] vals = ((String) value).split(":"); if (vals == null || vals.length != 3) { return false; } try { int hour = Integer.parseInt(vals[0], 10); int minute = Integer.parseInt(vals[1], 10); int second = Integer.parseInt(vals[2], 10); return (hour >= 0 && hour < 24 && minute >= 0 && minute <= 60 && second >= 0); } catch (NumberFormatException e) { return false; } } }); field.setImmediate(true); field.setValue(value); return field; }
From source file:org.opennms.features.topology.app.internal.operations.CreateGroupOperation.java
License:Open Source License
private void addValidators(final Form promptForm, final GraphContainer graphContainer) { // Add validators to the fields ((TextField) promptForm.getField("Group Label")).setNullRepresentation(""); ((TextField) promptForm.getField("Group Label")).setValidationVisible(false); promptForm.getField("Group Label").setRequired(true); promptForm.getField("Group Label").setRequiredError("You must specify a group label."); promptForm.getField("Group Label").addValidator( new StringLengthValidator("The group label must be at least one character long.", 1, -1, false)); // null validator promptForm.getField("Group Label") .addValidator(new AbstractValidator<String>("Group label cannot be blank.") { private static final long serialVersionUID = 1L; @Override/*w w w . ja v a 2s . co m*/ protected boolean isValidValue(String value) { if (value == null) return false; return !value.trim().isEmpty(); } @Override public Class<String> getType() { return String.class; } }); // unique validator promptForm.getField("Group Label") .addValidator(new AbstractValidator<String>("A group with label \"{0}\" already exists.") { private static final long serialVersionUID = -2351672151921474546L; @Override protected boolean isValidValue(String value) { try { final Collection<? extends Vertex> vertexIds = graphContainer.getBaseTopology() .getVertices(); final Collection<String> groupLabels = new ArrayList<String>(); for (Vertex vertexId : vertexIds) { if (vertexId.isGroup()) { groupLabels.add(vertexId.getLabel()); } } for (String label : groupLabels) { LoggerFactory.getLogger(this.getClass()).debug("Comparing {} to {}", value, label); if (label.equals(value)) { return false; } } return true; } catch (Throwable e) { LoggerFactory.getLogger(this.getClass()).error(e.getMessage(), e); return false; } } @Override public Class<String> getType() { return String.class; } }); }
From source file:org.opennms.features.topology.app.internal.operations.RenameGroupOperation.java
License:Open Source License
@Override public void execute(final List<VertexRef> targets, final OperationContext operationContext) { if (targets == null || targets.isEmpty() || targets.size() != 1) { return;// ww w . ja v a 2 s .c o m } final GraphContainer graphContainer = operationContext.getGraphContainer(); final UI window = operationContext.getMainWindow(); final Window groupNamePrompt = new Window("Rename Group"); groupNamePrompt.setModal(true); groupNamePrompt.setResizable(false); groupNamePrompt.setHeight("220px"); groupNamePrompt.setWidth("300px"); // Define the fields for the form final PropertysetItem item = new PropertysetItem(); item.addItemProperty("Group Label", new ObjectProperty<String>("", String.class)); final Form promptForm = new Form() { private static final long serialVersionUID = 9202531175744361407L; @Override public void commit() { // Trim the form value Property<String> field = getField("Group Label"); String groupLabel = field.getValue(); if (groupLabel == null) { throw new InvalidValueException("Group label cannot be null."); } field.setValue(groupLabel.trim()); super.commit(); groupLabel = field.getValue(); //Object parentKey = targets.get(0); //Object parentId = graphContainer.getVertexItemIdForVertexKey(parentKey); VertexRef parentId = targets.get(0); Vertex parentVertex = parentId == null ? null : graphContainer.getBaseTopology().getVertex(parentId, graphContainer.getCriteria()); Item parentItem = parentVertex == null ? null : parentVertex.getItem(); if (parentItem != null) { Property<String> property = parentItem.getItemProperty("label"); if (property != null && !property.isReadOnly()) { property.setValue(groupLabel); // Save the topology graphContainer.getBaseTopology().save(); graphContainer.redoLayout(); } } } }; // Buffer changes to the datasource promptForm.setBuffered(true); // Bind the item to create all of the fields promptForm.setItemDataSource(item); // Add validators to the fields promptForm.getField("Group Label").setRequired(true); promptForm.getField("Group Label").setRequiredError("Group label cannot be blank."); promptForm.getField("Group Label").addValidator( new StringLengthValidator("Label must be at least one character long.", 1, -1, false)); promptForm.getField("Group Label") .addValidator(new AbstractValidator<String>("A group with label \"{0}\" already exists.") { private static final long serialVersionUID = 79618011585921224L; @Override protected boolean isValidValue(String value) { try { final Collection<? extends Vertex> vertexIds = graphContainer.getBaseTopology() .getVertices(); final Collection<String> groupLabels = new ArrayList<String>(); for (Vertex vertexId : vertexIds) { if (vertexId.isGroup()) { groupLabels.add(vertexId.getLabel()); } } for (String label : groupLabels) { LoggerFactory.getLogger(this.getClass()).debug("Comparing {} to {}", value, label); if (label.equals(value)) { return false; } } return true; } catch (Throwable e) { LoggerFactory.getLogger(this.getClass()).error(e.getMessage(), e); return false; } } @Override public Class<String> getType() { return String.class; } }); Button ok = new Button("OK"); ok.addClickListener(new ClickListener() { private static final long serialVersionUID = 7388841001913090428L; @Override public void buttonClick(ClickEvent event) { promptForm.commit(); // Close the prompt window window.removeWindow(groupNamePrompt); } }); promptForm.getFooter().addComponent(ok); Button cancel = new Button("Cancel"); cancel.addClickListener(new ClickListener() { private static final long serialVersionUID = 8780989646038333243L; @Override public void buttonClick(ClickEvent event) { // Close the prompt window window.removeWindow(groupNamePrompt); } }); promptForm.getFooter().addComponent(cancel); groupNamePrompt.setContent(promptForm); window.addWindow(groupNamePrompt); }
From source file:pl.exsio.ca.module.terrain.evidence.NotificationsDataTable.java
License:Open Source License
private void handleDateSelection(DateField date, final ComboBox assignment, final ComboBox event) { date.addValidator(new AbstractValidator<Date>(t("invalid_date")) { @Override/* w w w . jav a 2s .c o m*/ protected boolean isValidValue(Date value) { EntityItem<? extends TerrainAssignment> selectedAssignmentItem = (EntityItem<? extends TerrainAssignment>) assignment .getContainerDataSource().getItem(assignment.getValue()); if (selectedAssignmentItem != null) { TerrainAssignment selectedAssignment = selectedAssignmentItem.getEntity(); try { new DateRangeValidator(this.getErrorMessage(), selectedAssignment.getStartDate(), selectedAssignment.getEndDate(), Resolution.DAY).validate(value); return true; } catch (InvalidValueException ex) { return false; } } return false; } @Override public Class<Date> getType() { return Date.class; } }); date.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent e) { filterEvents(event, (Date) e.getProperty().getValue()); } }); }
From source file:ru.codeinside.adm.ui.GwsClientsTab.java
License:Mozilla Public License
TextField text(String name, String fieldWidth, boolean enabled, boolean required, String description) { final TextField field = new TextField(name); field.setImmediate(true);//from w w w . j a v a 2 s . c o m field.setNullRepresentation(""); field.setWidth(fieldWidth); field.setMaxLength(255); field.setEnabled(enabled); field.setDescription(description); if (required) { String msg = name + " - ? "; field.setRequired(true); field.setRequiredError(msg); field.addValidator(new AbstractValidator(msg) { @Override public boolean isValid(Object value) { return value != null && !value.toString().trim().isEmpty(); } }); } return field; }