Example usage for com.vaadin.data.validator AbstractValidator AbstractValidator

List of usage examples for com.vaadin.data.validator AbstractValidator AbstractValidator

Introduction

In this page you can find the example usage for com.vaadin.data.validator AbstractValidator AbstractValidator.

Prototype

protected AbstractValidator(String errorMessage) 

Source Link

Document

Constructs a validator with the given error message.

Usage

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;
  }