Mark Struberg created BVAL-157:
----------------------------------

             Summary: method named get() blows up with illegal param name
                 Key: BVAL-157
                 URL: https://issues.apache.org/jira/browse/BVAL-157
             Project: BVal
          Issue Type: Bug
          Components: jsr303
    Affects Versions: 2.0.0
            Reporter: Mark Struberg
             Fix For: 2.0.0


In TomEE with have the following JAX-RS class:

{code}
@Path("test")
public static class Endpoint {
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Payload get() {
        return new Payload();
    }
{code}

This leads to the following exception because it obviously fails to extract a 
param name from get():
{noformat}
java.util.MissingFormatArgumentException: Format specifier '%s'
        at java.util.Formatter.format(Formatter.java:2519)
        at java.util.Formatter.format(Formatter.java:2455)
        at java.lang.String.format(String.java:2940)
        at org.apache.bval.util.Exceptions.lambda$create$0(Exceptions.java:44)
        at org.apache.bval.util.Exceptions.create(Exceptions.java:53)
        at org.apache.bval.util.Exceptions.create(Exceptions.java:44)
        at org.apache.bval.util.Exceptions.raise(Exceptions.java:63)
        at org.apache.bval.util.Exceptions.raiseIf(Exceptions.java:69)
        at org.apache.bval.util.Exceptions.raiseUnless(Exceptions.java:75)
        at org.apache.bval.util.Validate.isTrue(Validate.java:43)
        at org.apache.bval.jsr.util.Methods.propertyName(Methods.java:54)
        at org.apache.bval.jsr.util.Methods.propertyName(Methods.java:50)
        at 
org.apache.bval.jsr.metadata.ReflectionBuilder$ForBean.getGetters(ReflectionBuilder.java:104)
        at 
org.apache.bval.jsr.descriptor.MetadataReader$ForBean.getProperties(MetadataReader.java:151)
        at org.apache.bval.jsr.descriptor.BeanD.<init>(BeanD.java:53)
        at 
org.apache.bval.jsr.descriptor.DescriptorManager.getBeanDescriptor(DescriptorManager.java:75)
        at 
org.apache.bval.jsr.job.ValidateParameters$ForMethod.describe(ValidateParameters.java:66)
        at 
org.apache.bval.jsr.job.ValidateParameters.hasWork(ValidateParameters.java:188)
        at 
org.apache.bval.jsr.job.ValidationJob.getResults(ValidationJob.java:554)
        at 
org.apache.bval.jsr.ValidatorImpl.validateParameters(ValidatorImpl.java:76)
        at 
org.apache.cxf.validation.BeanValidationProvider.validateParameters(BeanValidationProvider.java:116)
        at 
org.apache.cxf.validation.AbstractBeanValidationInterceptor.handleValidation(AbstractBeanValidationInterceptor.java:55)
{noformat}





--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to