--=_e21defe9-d4a0-4579-ac6e-9f383c6664d2
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
----- Original Message -----
From: "Shireesh Anjal" <sanjal(a)redhat.com>
To: engine-devel(a)ovirt.org
Sent: Thursday, April 12, 2012 9:35:25 AM
Subject: [Engine-devel] Query regarding
ValidationUtils#validateInputs
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
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel
i don't think there is a reason to restrict only for VdcActionParametersBase, roy what
do you think?
also you can use here
getReturnValue().getCanDoActionMessages().addAll(errors);
instead of going over on all errors.
--=_e21defe9-d4a0-4579-ac6e-9f383c6664d2
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<html><head><style type='text/css'>p { margin: 0;
}</style></head><body><div style='font-family: Times New Roman;
font-size: 12pt; color: #000000'><br><br><hr
id="zwchr"><blockquote style="border-left:2px solid rgb(16, 16,
255);margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From:
</b>"Shireesh Anjal"
&lt;sanjal(a)redhat.com&gt;<br><b>To:
</b>engine-devel(a)ovirt.org<br><b>Sent: </b>Thursday, April 12,
2012 9:35:25 AM<br><b>Subject: </b>[Engine-devel] Query regarding
ValidationUtils#validateInputs<br><br>
Hi,<br>
<br>
This is regarding the following validation method we have in
ValidationUtils:<br>
<br>
<i>public static <T extends VdcActionParametersBase>
ArrayList<String>
validateInputs(List<Class<?>>
validationGroupList, T parameters);</i><br>
<br>
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:<br>
<br>
protected boolean canDoAction() {<br>
...<br>
for(GlusterBrickEntity brick :
getParameters().getGlusterVolume().getBricks()) {<br>
List<String> errors =
ValidationUtils.validateInputs(getValidationGroups(), brick);<br>
if(errors != null)
{<br>
for(String error : errors) {<br>
addCanDoActionMessage(error);<br>
}<br>
}<br>
}<br>
...<br>
}<br>
<br>
Regards,<br>
Shireesh<br>
<br>_______________________________________________<br>Engine-devel mailing
list<br>Engine-devel@ovirt.org<br>http://lists.ovirt.org/mailman/listinfo/engine-devel<br></blockquote>i
don't think there is a reason to restrict only for VdcActionParametersBase, roy what
do you think?<br><br>also you can use
here<br>getReturnValue().getCanDoActionMessages().addAll(errors);<br>instead
of going over on all errors.<br></div></body></html>
--=_e21defe9-d4a0-4579-ac6e-9f383c6664d2--