Re: How can I handle validation exception?

From: Νίκος Παράσχου (niparas..mail.com)
Date: Wed Mar 11 2009 - 03:36:36 EDT

  • Next message: Andrus Adamchik: "Re: How can I handle validation exception?"

    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