/hippo/src/main/java/com/googlecode/hdbc/model/validator/ExperimentDataValidator.java

http://hdbc.googlecode.com/ · Java · 52 lines · 27 code · 6 blank · 19 comment · 5 complexity · 5e3b80a8bd10afd4ad5902354d2913a2 MD5 · raw file

  1. package com.googlecode.hdbc.model.validator;
  2. import org.springframework.validation.Errors;
  3. import org.springframework.validation.Validator;
  4. import com.googlecode.hdbc.model.record.ExperimentData;
  5. public class ExperimentDataValidator extends DataValidator implements Validator {
  6. public boolean supports(Class clazz) {
  7. return false;
  8. }
  9. /**
  10. * Validate the ExperimentData dumb object
  11. * <p>
  12. * Specification
  13. * validate :: Object -> Errors -> Boolean
  14. * validate obj | obj.uid == null || obj.uid > 0
  15. * &&
  16. * obj.title != null && len(obj.title) <= 64
  17. * &&
  18. * obj.purpose != null && len(obj.purpose) <= 128
  19. * &&
  20. * obj.method == null || len(obj.method) <= 4000
  21. * &&
  22. * obj.conclusion == null || len(obj.conclusion) <= 4000 = false
  23. * | otherwise = true
  24. * <p>
  25. * precondition is obj.title and obj.purpose /= null
  26. * postcondition error.count >= 0
  27. */
  28. public void validate(Object target, Errors errors) {
  29. ExperimentData data = (ExperimentData) target;
  30. if (!this.isNullOrGreaterThan(data.getUid(), 0)) {
  31. errors.rejectValue("uid", ValidationErrorCd.NUMBER_BELOW_MINIMUM.toString(), new Object[] {0}, "na");
  32. }
  33. if (!this.isNotNullAndUpToLengthN(data.getTitle(), 64)) {
  34. errors.rejectValue("title", ValidationErrorCd.REQUIRED_STRING_TOO_LONG.toString(), new Object[] {64}, "na");
  35. }
  36. if (!this.isNotNullAndUpToLengthN(data.getPurpose(), 128)) {
  37. errors.rejectValue("purpose", ValidationErrorCd.REQUIRED_STRING_TOO_LONG.toString(), new Object[] {128}, "na");
  38. }
  39. if (!this.isNullOrUptoLengthN(data.getMethod(), 4000)) {
  40. errors.rejectValue("method", ValidationErrorCd.OPTIONAL_STRING_TO_LONG.toString(), new Object[] {4000}, "na");
  41. }
  42. if (!this.isNullOrUptoLengthN(data.getConclusion(), 4000)) {
  43. errors.rejectValue("conclusion", ValidationErrorCd.OPTIONAL_STRING_TO_LONG.toString(), new Object[] {4000}, "na");
  44. }
  45. }
  46. }