Hi and thank you for your answer.
I am aware that our work is extremely similar to the jsr 303,
and that is exactly why I wanted to show it to you.
It just happened that we independently developed similar solutions for
the same problem, but
when we saw the specs for the jsr 303, we realized that it would not
make sense to continue
since a much better version of the same thing was already up and going
in Hibernate.
However we have spent a good amount of time and effort on our validator,
and it would be great if some of our ideas could be
picked up by the Hibernate Validator rather than just watch them go to
waste.
Therefore I am very happy that you find some of it of interest, and of
course
I would like to get involved and contribute as I can.
Unfortunatly I am not familiar with the Hibernate Validator code (I only
read the jsr specs) or
how you guys work, so I would not
know where to start, but if you give my some time (I am also working on
some other project right now) and guidelines I will be
happy to help.
Thanks again for the reply,
Federico
Den 05.10.2010 15:17, skrev Hardy Ferentschik:
Hi Frederico,
sorry for the late reply. I finally had some time to read through your
paper.
I think there are strong similarities between you work and Hibernate
Validator or
more specific the Bean Validation specification (JSR 303).
Property validation in the SHIP Validator is basically the same as in
Bean Validation.
And what you call cross-annotations would be a class level validator
in Bean Validation terms.
Bean Validation also offers constraint composition similar to what is
described in your paper.
What Bean Validation does not offer is a boolean composition of the
constraints. Here conjunction of
constraints is always assumed.
We are not able to do something like this:
@BoolTest(BoolType.OR)
@Null
@Max(10)
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = { })
public @interface NullOrMax {
public abstract String message() default "foo";
public abstract Class<?>[] groups() default { };
public abstract Class<? extends Payload>[] payload() default { };
@OverridesAttribute(constraint = Max.class, name = "value")
public abstract long max()
}
Also the ability to validate a subset of all properties from within a
class level validator sounds interesting.
We could implement these features as Hibernate Validator specific
extensions.
Are you interested in getting involved?
--Hardy
On Tue, 05 Oct 2010 09:48:15 +0200, Federico Mancini
<mancini_federico(a)yahoo.it> wrote:
> Hi again,
> I was just wondering whether I should interpret the lack of answers as
> "no, this is not interesting at all", or as "we have a lot of other
> things to do and do not have time for this right now"?
>
> Federico
>
> Den 22.09.2010 09:08, skrev Federico Mancini:
>> Hi all,
>> I am new to the list and I am opening this thread on Emmanuel Bernard's
>> suggestion, in order to
>> discuss some possible extensions to the validator (jsr 303) I have been
>> working on with a couple of collegues.
>> Mainly it concerns the possibility to extend composition with boolean
>> operators (ex.: A field is either in the range 1-10 OR 20-30 AND
>> notNull) and allow validation of sets of interdependent properties
>> (ex.: EITHER the name field is notNull OR the surname field is notNull/
>> AT LEAST 1 field must be filled/etc....).
>>
>> A description of the experimental framework we implemented can be found
>> here
http://www.ii.uib.no/publikasjoner/texrap/pdf/2009-389.pdf , and
>> some further discussion on the choices we made here
>>
http://www.ii.uib.no/~federico/papers/Annotations.pdf.
>>
>> I hope this might be of some interest for the Hybernate Validator
>> project,
>> but, even if not, it would be nice to get some feedback.
>>
>> Thanks,
>> Federico Mancini
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev