List of usage examples for org.apache.wicket.validation.validator DateValidator range
public static DateValidator range(Date minimum, Date maximum)
From source file:org.obiba.onyx.wicket.data.validation.converter.RangeValidatorNodeConverter.java
License:Open Source License
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { DataType type = (DataType) context.get("validatorDataType"); String minimumStr = null;/*from w ww . j a v a 2 s . c om*/ String maximumStr = null; while (reader.hasMoreChildren()) { reader.moveDown(); String nodeName = reader.getNodeName(); if (nodeName.equalsIgnoreCase("minimum")) { minimumStr = reader.getValue(); } else if (nodeName.equalsIgnoreCase("maximum")) { maximumStr = reader.getValue(); } reader.moveUp(); } IValidator validator = null; switch (type) { case INTEGER: { Long minimum = minimumStr == null ? null : Long.valueOf(minimumStr); Long maximum = maximumStr == null ? null : Long.valueOf(maximumStr); if (minimum != null && maximum != null) { validator = new RangeValidator(minimum, maximum); } else if (minimum != null) { validator = new MinimumValidator(minimum); } else if (maximum != null) { validator = new MaximumValidator(maximum); } break; } case DECIMAL: { Double minimum = minimumStr == null ? null : Double.valueOf(minimumStr); Double maximum = maximumStr == null ? null : Double.valueOf(maximumStr); if (minimum != null && maximum != null) { validator = new RangeValidator(minimum, maximum); } else if (minimum != null) { validator = new MinimumValidator(minimum); } else if (maximum != null) { validator = new MaximumValidator(maximum); } break; } case DATE: { Date minimum = minimumStr == null ? null : parseDate(minimumStr); Date maximum = maximumStr == null ? null : parseDate(maximumStr); if (minimum != null && maximum != null) { validator = DateValidator.range(minimum, maximum); } else if (minimum != null) { validator = DateValidator.minimum(minimum); } else if (maximum != null) { validator = DateValidator.maximum(maximum); } break; } case TEXT: { Integer minimum = minimumStr == null ? null : Integer.valueOf(minimumStr); Integer maximum = maximumStr == null ? null : Integer.valueOf(maximumStr); if (minimum != null && maximum != null) { validator = StringValidator.lengthBetween(minimum, maximum); } else if (minimum != null) { validator = StringValidator.minimumLength(minimum); } else if (maximum != null) { validator = StringValidator.maximumLength(maximum); } break; } default: throw new ConversionException("Invalid type for rangeValidator node: '" + type + "'"); } if (validator == null) { throw new ConversionException("Invalid rangeValidator node"); } return validator; }