-- 
Weinan Li



On Saturday, December 1, 2012 at 4:47 AM, John Reiter wrote:

> Weinan, I just entered a JIRA ticket for this issue:
> 
> https://issues.jboss.org/browse/RESTEASY-805
Awesome! I've assigned it to me :-) 
> 
> 
> Thanks!
> 
> John
> 
> On Fri, Nov 30, 2012 at 2:57 AM, Weinan Li <l.wei...@gmail.com 
> (mailto:l.wei...@gmail.com)> wrote:
> > 
> > 
> > -- 
> > Weinan Li
> > 
> > 
> > 
> > On Thursday, November 29, 2012 at 11:58 PM, John Reiter wrote:
> > 
> > > I know it's obvious from the regex, but it looks like map keys with 
> > > numbers also wouldn't work right now (all I've tested is the case I 
> > > outlined in my email though).
> > > 
> > Hi John ,could you please sum up your problem and create a JIRA? I'll work 
> > on it, thanks! 
> > > John
> > > 
> > > On Thu, Nov 29, 2012 at 10:41 AM, Bill Burke <bbu...@redhat.com 
> > > (mailto:bbu...@redhat.com)> wrote:
> > > > I don't see a reason why this couldn't be fixed.
> > > > 
> > > > 
> > > > On 11/29/2012 8:33 AM, Weinan Li wrote:
> > > > > Hi Bill,
> > > > > 
> > > > > Do you think we could support '-' for map key?
> > > > > 
> > > > > --
> > > > > Weinan Li
> > > > > 
> > > > > 
> > > > > On Tuesday, November 27, 2012 at 12:45 AM, John Reiter wrote:
> > > > > 
> > > > > > Hello,
> > > > > > 
> > > > > > I'm having an issue with RESTEasy 2.3.4 with using @Form/@FormParam
> > > > > > annotations to set values of a Map that uses UUIDs for its keys.  My
> > > > > > classes basically look like this:
> > > > > > 
> > > > > >     @Controller
> > > > > >     @Path( "/test" )
> > > > > >     public class MyController
> > > > > >     {
> > > > > >         @Consumes( MediaType.APPLICATION_FORM_URLENCODED )
> > > > > >         @POST
> > > > > >         public ModelAndView setAssignments( @Form final MyForm 
> > > > > > myForm )
> > > > > >                 throws URISyntaxException
> > > > > >         { ... }
> > > > > >     }
> > > > > > 
> > > > > >     public class MyForm
> > > > > >     {
> > > > > >         @Form( prefix = "myMap" )
> > > > > >         private Map<String, Foo> myMap = Maps.newHashMap();
> > > > > >     }
> > > > > > 
> > > > > >     public class Foo
> > > > > >     {
> > > > > >         @FormParam( "bar" )
> > > > > >         public void setBar( final String bar )
> > > > > >        { ... }
> > > > > >     }
> > > > > > 
> > > > > > The request parameters that get submitted look like this:
> > > > > > 
> > > > > > myMap[75736572-3100-505f-dac0-0000000745b8].bar
> > > > > > myMap[b794c4a0-14b7-0130-c2da-20c9d04983db].bar
> > > > > > etc.
> > > > > > 
> > > > > > The Foo.bar properties never end up being set.  Stepping through 
> > > > > > with
> > > > > > a debugger, the problem occurs in
> > > > > > AbstractCollectionFormInjector.findMatchingPrefixesWithNoneEmptyValues():
> > > > > > that method tries to find keys in the map that match a regex.  In 
> > > > > > this
> > > > > > case, the regex is defined in MapFormInjector:
> > > > > > 
> > > > > >    public MapFormInjector(Class collectionType, Class keyType, Class
> > > > > > valueType, String prefix, ResteasyProviderFactory factory)
> > > > > >    {
> > > > > >       super(collectionType, valueType, prefix, Pattern.compile("^" +
> > > > > > prefix + "\\[([a-zA-Z_]+)\\]"), factory);
> > > > > >       keyInjector = new StringParameterInjector(keyType, keyType,
> > > > > > null, Form.class, null, null, new Annotation[0], factory);
> > > > > >    }
> > > > > > 
> > > > > > And only allows alpha characters and underscores, which is obviously
> > > > > > why my map isn't being populated.  I'm working around this right now
> > > > > > by mapping temporary, alpha-only keys to the real ones and using 
> > > > > > those
> > > > > > in my form then replacing them after the form is submitted.  Is 
> > > > > > there
> > > > > > a way to get this regex changed to be something a little more
> > > > > > lenient?  Really, is there any reason to disallow anything other 
> > > > > > than
> > > > > > maybe brackets?
> > > > > > 
> > > > > > If you want me to enter a JIRA issue for this, let me know.
> > > > > > 
> > > > > > Thanks,
> > > > > > John
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > ------------------------------------------------------------------------------
> > > > > > Monitor your physical, virtual and cloud infrastructure from a 
> > > > > > single
> > > > > > web console. Get in-depth insight into apps, servers, databases, 
> > > > > > vmware,
> > > > > > SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> > > > > > Pricing starts from $795 for 25 servers or applications!
> > > > > > http://p.sf.net/sfu/zoho_dev2dev_nov
> > > > > > _______________________________________________
> > > > > > Resteasy-users mailing list
> > > > > > Resteasy-users@lists.sourceforge.net 
> > > > > > (mailto:Resteasy-users@lists.sourceforge.net)
> > > > > > <mailto:Resteasy-users@lists.sourceforge.net>
> > > > > > https://lists.sourceforge.net/lists/listinfo/resteasy-users
> > > > > 
> > > > 
> > > > -- 
> > > > Bill Burke
> > > > JBoss, a division of Red Hat
> > > > http://bill.burkecentral.com
> > > 
> > 
> 

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
BUILD Helping you discover the best ways to construct your parallel projects.
http://goparallel.sourceforge.net
_______________________________________________
Resteasy-users mailing list
Resteasy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resteasy-users

Reply via email to