One more information,This is the source code of the annotation that enabled the interception,It is not missing @Inherited?
@Target({ ElementType.METHOD, ElementType.TYPE, ElementType.CONSTRUCTOR })@Retention(RetentionPolicy.RUNTIME)@InterceptorBindingpublic @interface MethodValidated {}
2013/7/8 Denis Silva <denis.analistajava@gmail.com>Gunnar,I'm using glassfish 4.0, that uses hibernate validator 5.0.0.Final.Debugging ValidationExtension for a while, i found one problem (may be not).When i use validations constraints in the abstract class, the ValidationEnabledAnnotatedType that enable the interception of the bean, is applied on the subclass implementation and the abstract class, but when i use an interface, the wrappedType is applied just in the interface.That way, the interface implementation will never be intercepted, right?I will create an entry on forum, but there is no stacktrace in my case, the expected validation just not work.
Att,--2013/7/6 Gunnar Morling <gunnar@hibernate.org>
Hi,I don't think that's a spec problem.The @NotNull constraint should be validated, no matter wether Foo is an interface or an abstract class. Generally constraints on overridden/implemented methods are to be considered, you only may not add any more parameter constraints in subclasses/implementations.Are you using the Hibernate Validator CDI portable extension? Which container do you use? Could you create an entry with the complete stack trace and a detailed description of your environment to https://forum.hibernate.org/viewforum.php?f=9?--Gunnar2013/7/6 Denis Silva <denis.analistajava@gmail.com>
_______________________________________________Hi,I'm doing some tests with bean validation, and i have some doubts about the behavior of method constraints on inheritance hierarchies.The specification tells about Liskov substitution, on method constraints within inheritance hierarchies, but i made the test bellow withthe reference implementation ( hiberante validator 5.1 ), and not understand if this is a bug in implementation or my misunderstanding the specification.public interface Foo {public void doStuff(@NotNull String v);}@Namedpublic class Bar implements Foo {public void doStuff(String v) {}}Calling bar.doStuff(null), the validation is not fired.But if i changed Foo interface to an abstract class, and made Bar extends it, the validation is fired and a ConstraintViolationException is propagated.The test was done with cdi.What should be the appropriate behavior?--
Denis Tiago
beanvalidation-dev mailing list
beanvalidation-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/beanvalidation-dev
_______________________________________________
beanvalidation-dev mailing list
beanvalidation-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/beanvalidation-dev
Denis Silva
Analista Programador Java
11 - 8334-9915--
Denis Silva
Analista Programador Java
11 - 8334-9915
_______________________________________________
beanvalidation-dev mailing list
beanvalidation-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/beanvalidation-dev