Thank you Andrus,
Yes, I do not throw the exception myself. But, how am I going to handle
the exception thrown by Cayenne? Or how can I retrieve the error message
from the validationResult when a ValidationException is thrown, so that
I can print it in the GUI?
Is the following correct?
..verride
protected void validateForSave(ValidationResult validationResult) {
super.validateForSave(validationResult);
if(getCompanyName().equalsIgnoreCase("")) {
validationResult.addFailure(new ValidationFailure() {
..verride
public Object getSource() {
return this;
}
..verride
public Object getError() {
return Company.CNAME_PROPERTY;
}
..verride
public String getDescription() {
return "My error message";
}
});
}
}
Nikos
Στις 10-03-2009, ημέρα Τρι, και ώρα 18:16 +0200, ο/η Andrus Adamchik
έγραψε:
> The code example looks about right. However this is probably what's
> wrong: "When a specific condition is not met, a ValidationException is
> thrown.". You should not throw the exception yourself. Just add an
> error to the validationResult, and let Cayenne throw it later.
>
> Andrus
>
>
> On Mar 10, 2009, at 5:03 PM, Νίκος Παράσχου wrote:
>
> > Hello,
> >
> > I implemented validateForSave(ValidationResult validationResult) in
> > one
> > of my ObjEntities. When a specific condition is not met, a
> > ValidationException is thrown.
> >
> > How can I handle this ValidationException?
> >
> > The following doesn't work (I get: ValidationException is not thrown
> > anywhere inside block try{}):
> >
> > try {
> > mycontext.commit();
> > }
> > catch(ValidationException vex) {
> > ...
> > }
> >
> > Thank you,
> > Nikos
> >
> >
> >
>
This archive was generated by hypermail 2.0.0 : Wed Mar 11 2009 - 03:37:25 EDT