public ValidationResult validate() { PropertyValidationSupport infoSupport = new PropertyValidationSupport(model, "Info"); if (ValidationUtils.isBlank(model.getAppName())) { infoSupport.addError("application name", "is mandatory"); } if (ValidationUtils.isBlank(model.getVersion())) { infoSupport.addError("application version", "is mandatory"); } // A simple way to check if a homepage URL is valid try { if (model.getHomepage() != null && model.getHomepage().length() != 0) new URL(model.getHomepage()); } catch (MalformedURLException murle) { infoSupport.addError("homepage", "is not a valid URL: " + murle.getLocalizedMessage()); } PropertyValidationSupport localeSupport = new PropertyValidationSupport(model, "Locale"); if (model.getLangCodes().size() == 0) { localeSupport.addError("langpacks", "must have at least one language added"); } PropertyValidationSupport guiPrefsSupport = new PropertyValidationSupport(model, "GUIPrefs"); // Check for 0 sizes // Warn for small sizes // TODO find good values for these if (model.getWidth() == 0) { guiPrefsSupport.addError("width", "must not be 0"); } else if (model.getWidth() < 400) { guiPrefsSupport.addWarning("width", "may be too small to display correctly"); } if (model.getHeight() == 0) { guiPrefsSupport.addError("height", "must not be 0"); } else if (model.getHeight() < 400) { guiPrefsSupport.addWarning("height", "may be too small to display correctly"); } ValidationResult vr = new ValidationResult(); vr.addAllFrom(infoSupport.getResult()); vr.addAllFrom(localeSupport.getResult()); vr.addAllFrom(guiPrefsSupport.getResult()); return vr; }
/** * Validates this Validator's Order and returns the result as an instance of {@link * com.jgoodies.validation.ValidationResult}. * * @return the ValidationResult of the accession validation */ public ValidationResult validate() { ArchDescriptionPhysicalDescriptions modelToValidate = (ArchDescriptionPhysicalDescriptions) objectToValidate; ATPropertyValidationSupport support = new ATPropertyValidationSupport(modelToValidate, "Physical Description"); if (ValidationUtils.isBlank(modelToValidate.getExtentType())) support.addError("Extent Type", "is mandatory"); if (modelToValidate.getExtentNumber() == null || modelToValidate.getExtentNumber() == 0) support.addError("Extent", "is mandatory"); checkForStringLengths(modelToValidate, support); return support.getResult(); }
/** * Returns a String representation of the Object <code>value</code>. This invokes <code>format * </code> on the current <code>Format</code>. * * <p>Unlike its superclass, this class converts the empty value to the empty string. * * @param value the value to convert * @return a String representation of value * @throws ParseException if there is an error in the conversion */ @Override public String valueToString(Object value) throws ParseException { return ValidationUtils.equals(value, emptyValue) ? "" : super.valueToString(value); }
/** * Returns the <code>Object</code> representation of the <code>String</code> <code>text</code>. * * <p>Unlike its superclass, this class converts blank strings to the empty value. * * @param text <code>String</code> to convert * @return <code>Object</code> representation of text * @throws ParseException if there is an error in the conversion */ @Override public Object stringToValue(String text) throws ParseException { return ValidationUtils.isBlank(text) ? emptyValue : super.stringToValue(text); }