示例#1
0
 protected boolean checkDataObjectValidation(DataObject object) {
   ValidationResult vr = new ValidationResult();
   switch (object.getPersistenceState()) {
     case PersistenceState.NEW:
       ((CayenneDataObject) object).validateForInsert(vr);
       break;
     case PersistenceState.MODIFIED:
       ((CayenneDataObject) object).validateForUpdate(vr);
       break;
     case PersistenceState.DELETED:
       ((CayenneDataObject) object).validateForDelete(vr);
       break;
   }
   for (Object o : vr.getFailures()) {
     ValidationFailure vf = (ValidationFailure) o;
     String message = vf.getDescription();
     if (vf instanceof BeanValidationFailure) {
       BeanValidationFailure bvf = (BeanValidationFailure) vf;
       if (bvf.getProperty().equals("modification")) continue; // Défini automatiquement
       // Champ requis non rempli
       for (String tail :
           Arrays.asList(" is required.", " is a required field.", " can not be empty.")) {
         if (message.endsWith(tail)) {
           message = propertyMissing(propertyName(object, bvf.getProperty()));
           break;
         }
       }
     }
     error(message);
   }
   return vr.getFailures().isEmpty();
 }