[Engine-devel] Query regarding ValidationUtils#validateInputs

Shireesh Anjal sanjal at redhat.com
Thu Apr 12 06:35:25 UTC 2012


Hi,

This is regarding the following validation method we have in 
ValidationUtils:

/public static <T extends VdcActionParametersBase> ArrayList<String> 
validateInputs(List<Class<?>> validationGroupList, T parameters);/

I there any particular reason for supporting the validations only on 
objects of classes derived from VdcActionParametersBase? I guess this 
was done because this method is primarily intended to validate the 
action parameters passed to a BLL action, using the validation 
annotations on the parameter class. However I think this method can be 
useful for general use as well. e.g. I cannot add a "@Valid" annotation 
on a "list" or a "map" in a parameter class. So I need to iterate over 
the list/map, and validate each element inside the loop. The validation 
inside the loop can also utilize the above method if the restriction 
"extends VdcActionParametersBase" is removed. This will allow me to do 
the following in the canDoAction method:

protected boolean canDoAction() {
...
     for(GlusterBrickEntity brick : 
getParameters().getGlusterVolume().getBricks()) {
         List<String> errors = 
ValidationUtils.validateInputs(getValidationGroups(), brick);
         if(errors != null) {
             for(String error : errors) {
                 addCanDoActionMessage(error);
             }
         }
     }
...
}

Regards,
Shireesh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/engine-devel/attachments/20120412/bdaa0f0a/attachment.html>


More information about the Engine-devel mailing list