Hi Tim,
  Honestly, AFAICT, what you've tried in your validation.xml should work.
If you can cook up a small example project, I'd be glad to look further.

br,
Matt


On Thu, Jan 10, 2013 at 10:05 PM, Tim Robertson
<[email protected]>wrote:

> Ok, so I simplified the code above and there was an extra method with
> @NotNull coming in from an interface definition, so I am seeing the
> validation of return types issue.
>
> Can someone please tell me how I go about including the fix which is to
> have:
> apache.bval.metabean-factory-classnames=org.apache.bval.jsr303.extensions.
> MethodValidatorMetaBeanFactory
>
> Thanks,
> Tim
>
>
>
> On Fri, Jan 11, 2013 at 10:59 AM, Tim Robertson <[email protected]
> > wrote:
>
>> Hi all,
>>
>> I am trying to use guice method interception on a jersey web service to
>> validate a posted object but I get:
>>
>> javax.validation.ValidationException: error retrieving constraints for
>> class org.gbif.registry.ws.resources.NodeResource
>> ...caused by:
>> javax.validation.ValidationException: Property list does not follow
>> javabean conventions.
>> at
>> org.apache.bval.jsr303.Jsr303MetaBeanFactory.processClass(Jsr303MetaBeanFactory.java:162)
>>  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.getConstraintsForClass(ClassValidator.java:258)
>>  at
>> org.apache.bval.jsr303.extensions.MethodValidatorImpl.validateParameters(MethodValidatorImpl.java:85)
>> at
>> org.apache.bval.guice.ValidateMethodInterceptor.invoke(ValidateMethodInterceptor.java:76)
>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> ....
>>
>> My web service is very simple:
>>
>> @Path("/node")
>> @Produces({MediaType.APPLICATION_JSON,
>> ExtraMediaTypes.APPLICATION_JAVASCRIPT})
>> @Consumes(MediaType.APPLICATION_JSON)
>> public class NodeResource implements NodeService {
>>
>>   private final NodeService nodeService;
>>
>>   @Inject
>>   public NodeResource(NodeService nodeService) {
>>     this.nodeService = nodeService;
>>   }
>>
>>   @POST
>>   @Validate
>>   @Override
>>   public WritableNode create(@org.apache.bval.Validate WritableNode
>> entity) {
>>     return nodeService.create(entity);
>>   }
>> }
>>
>> And WritableNode is a simple POJO with @NotNull markers on the fields.
>>
>> I came across https://issues.apache.org/jira/browse/BVAL-107 which
>> suggests using MethodValidatorMetaBeanFactory.  Can someone please tell me
>> how to do that with Guice?  I tried adding this validation.xml to the CP
>> but it did not help.
>>
>> <validation-config
>>     xmlns="http://jboss.org/xml/ns/javax/validation/configuration";
>>      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>     xsi:schemaLocation=
>>         
>> "http://jboss.org/xml/ns/javax/validation/configurationvalidation-configuration-1.0.xsd";>
>>   <property
>> name="apache.bval.metabean-factory-classnames">org.apache.bval.jsr303.extensions.MethodValidatorMetaBeanFactory</property>
>> </validation-config>
>>
>> Any help greatly appreciated!  I'm using bval 0.5
>>
>> Thanks,
>> Tim
>>
>>
>>
>>
>

Reply via email to