You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bval.apache.org by "Matt Benson (JIRA)" <ji...@apache.org> on 2016/10/20 15:37:58 UTC
[jira] [Closed] (BVAL-125) "No validator could be found for type
..." for overloaded methods with more specific return type
[ https://issues.apache.org/jira/browse/BVAL-125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Benson closed BVAL-125.
----------------------------
Resolution: Won't Fix
method validation standardized with bean validation 1.1
> "No validator could be found for type ..." for overloaded methods with more specific return type
> ------------------------------------------------------------------------------------------------
>
> Key: BVAL-125
> URL: https://issues.apache.org/jira/browse/BVAL-125
> Project: BVal
> Issue Type: Bug
> Affects Versions: 0.5
> Environment: Java(TM) SE Runtime Environment (build 1.8.0-b132)
> Linux 3.11.10-7-desktop x86_64
> Reporter: viktor
>
> Example:
> import java.lang.reflect.Method;
> import java.util.Set;
> import javax.validation.ConstraintViolation;
> import javax.validation.Validation;
> import javax.validation.ValidatorFactory;
> public class App {
> public static interface Identifiable {
> Object getId();
> }
> public static class Test implements Identifiable {
> @javax.validation.constraints.Pattern(regexp = "\\w+")
> public String getId() {
> return "ok";
> }
> }
> public static void main(String[] args) {
> ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
> Test test = new Test();
> System.out.println("methods: ");
> for(Method m: test.getClass().getMethods()) {
> System.out.println(" " + m);
> }
> Set<ConstraintViolation<Test>> set = vf.getValidator().validate(test);
> System.out.println("set:" + set);
> }
> }
> Print to ouput stream:
> methods:
> public java.lang.String ru.kih.test.App$Test.getId()
> public java.lang.Object ru.kih.test.App$Test.getId()
> ... other methods was skipped ...
> Exception in thread "main" javax.validation.UnexpectedTypeException: No validator could be found for type java.lang.Object. See: @Pattern at public java.lang.Object ru.kih.test.App$Test.getId()
> at org.apache.bval.jsr303.AnnotationProcessor.checkOneType(AnnotationProcessor.java:326)
> at org.apache.bval.jsr303.AnnotationProcessor.getConstraintValidator(AnnotationProcessor.java:301)
> at org.apache.bval.jsr303.AnnotationProcessor.applyConstraint(AnnotationProcessor.java:241)
> at org.apache.bval.jsr303.AnnotationProcessor.processAnnotation(AnnotationProcessor.java:149)
> at org.apache.bval.jsr303.AnnotationProcessor.processAnnotations(AnnotationProcessor.java:90)
> at org.apache.bval.jsr303.Jsr303MetaBeanFactory.processClass(Jsr303MetaBeanFactory.java:156)
> at org.apache.bval.jsr303.Jsr303MetaBeanFactory.buildMetaBean(Jsr303MetaBeanFactory.java:95)
> at org.apache.bval.MetaBeanBuilder.buildForClass(MetaBeanBuilder.java:131)
> at org.apache.bval.MetaBeanManager.findForClass(MetaBeanManager.java:102)
> at org.apache.bval.jsr303.ClassValidator.validate(ClassValidator.java:140)
> at ru.kih.test.App.main(App.java:34)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)