Yes I can help you in improving. Let me know what needs to be done. On Wed, Jun 1, 2011 at 10:16 AM, Sergey Beryozkin <[email protected]>wrote:
> I did. It needs a bit more work and I'll need to allocate some time to > add a test and see what needs to be improved, ex, having empty if > branches is not possible. Realistically, it has to be Map<String, > List<Primitive>> (where Primitive is String or Integer/etc, to handle > m.v=1&m.v=2 or similar), so isMapSupported() should check it and > return false if not (this can help with eliminating empty branches). > Would you like to improve this patch a bit ? I can do some test once > it's ready, but I can't afford at all to look into improving the patch > right now... > > Thanks, Sergey > > On Wed, Jun 1, 2011 at 6:02 PM, Biju Nair <[email protected]> wrote: > > Did you get chance to look into this? > > > > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <[email protected] > >wrote: > > > >> Sorry, not yet, hoping to do it shortly > >> > >> Sergey > >> > >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <[email protected]> > wrote: > >> > did you get chance to update the patch and test it? > >> > > >> > Biju > >> > > >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <[email protected]> > >> wrote: > >> > > >> >> Attached the path in JIRA. > >> >> > >> >> Attaching with this mail also. > >> >> > >> >> On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin < > >> [email protected]>wrote: > >> >> > >> >>> Hi > >> >>> > >> >>> Can you attach the updated patch to JIRA please ? I'm not seeing a > >> >>> patch attached to your email message. > >> >>> > >> >>> Supporting explicit Lists for JAX-RS param annotations (@PathParam, > >> >>> etc) is a JAX-RS spec requirement. > >> >>> Supporting explicit Lists which are mapped to request payloads or > >> >>> responses is the extensions. All JAX-RS stacks are probably > supporting > >> >>> it, but that is an extension. > >> >>> Supporting MultivaluedMap in case of form submissions is a spec > >> >>> requirement as well. It really only makes sense for form payloads. > The > >> >>> only other exception is probably QueryParams and may be > HeaderParams, > >> >>> but it has to be a MultivaluedMap for a single key/multiple values > >> >>> case to work. > >> >>> > >> >>> Cheers, Sergey > >> >>> > >> >>> On Wed, May 25, 2011 at 4:45 AM, Biju Nair <[email protected]> > >> >>> wrote: > >> >>> > I gave the Explict Map Support, becuase CXF was supporting Explict > >> List > >> >>> > support. > >> >>> > > >> >>> > The code which i send you have only support for beans with nested > Map > >> >>> > interface. > >> >>> > > >> >>> > On Tue, May 24, 2011 at 8:28 PM, Biju Nair < > [email protected]> > >> >>> wrote: > >> >>> > > >> >>> >> That was my mistake. I was using Eclipse IDE and I formatted the > >> java > >> >>> file, > >> >>> >> so the whole file got messed up. > >> >>> >> > >> >>> >> I revereted the changes and made support only for bean with > nested > >> Map > >> >>> >> interface (FormParam(""),QueryParam("")..) > >> >>> >> > >> >>> >> Attaching the changed file with this mail. > >> >>> >> ------------------------------ > >> >>> >> Details, > >> >>> >> > >> >>> >> Modified the changes only for supporting map's interface only > inside > >> >>> beans. > >> >>> >> > >> >>> >> Classes Changed, > >> >>> >> org.apache.cxf.jaxrs.utils.InjectionUtils > >> >>> >> > >> >>> >> Methods Changed > >> >>> >> public static Object handleBean(...) - Added another if clause > >> >>> >> "} else if (InjectionUtils.isSupportedMap(type)) {" > >> >>> >> > >> >>> >> Methods Added > >> >>> >> isSupportedMap > >> >>> >> mergeMap > >> >>> >> convertMultimapToMap > >> >>> >> injectIntoMap > >> >>> >> > >> >>> >> -------------------------- > >> >>> >> > >> >>> >> > >> >>> >> On Tue, May 24, 2011 at 4:36 AM, Sergey Beryozkin < > >> >>> [email protected]>wrote: > >> >>> >> > >> >>> >>> Actually, I can see you modifying the code for explicit Maps be > >> >>> >>> supported as well. > >> >>> >>> > >> >>> >>> That is not a bad idea but I'd prefer for one issue (to do with > >> >>> >>> parameter beans containing Map fileds) addressed first. > >> >>> >>> > >> >>> >>> Explicit Maps can be supported right now (a bit of work is > needed > >> to > >> >>> >>> register ParameterHandler to capture Form, query or path values > or > >> >>> >>> XmlJavaTypeAdapter to capture say XML payload). > >> >>> >>> > >> >>> >>> Please, simplify the patch a bit so that only a 'FormParam(""), > >> >>> >>> QueryParam(""), or PathParam("") Map' case can be supported > >> >>> >>> > >> >>> >>> thanks, Sergey > >> >>> >>> > >> >>> >>> On Tue, May 24, 2011 at 12:04 PM, Sergey Beryozkin < > >> >>> [email protected]> > >> >>> >>> wrote: > >> >>> >>> > Hi > >> >>> >>> > > >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair < > >> [email protected] > >> >>> > > >> >>> >>> wrote: > >> >>> >>> >> Updated the JIRA with DIFF file. > >> >>> >>> >> > >> >>> >>> >> May I know whether that worked. > >> >>> >>> >> > >> >>> >>> > I have problems applying the patch, as it seems like > >> InjectionUtils > >> >>> >>> > has been completely changed, I can't spot, by looking at the > diff > >> >>> >>> > file, what the actual changes are. > >> >>> >>> > I'm going to attach svn properties file from my local snapshot > to > >> >>> >>> > JIRA, can you please give me a favor and try again with those > >> >>> >>> > properties applied ? > >> >>> >>> > > >> >>> >>> > thanks, Sergey > >> >>> >>> > > >> >>> >>> >> On Fri, May 20, 2011 at 2:26 AM, Sergey Beryozkin < > >> >>> >>> [email protected]>wrote: > >> >>> >>> >> > >> >>> >>> >>> Hi - did you see the comments on JIRA ? > >> >>> >>> >>> Please update your local snapshot and create a patch > >> >>> >>> >>> > >> >>> >>> >>> thanks, Sergey > >> >>> >>> >>> > >> >>> >>> >>> On Tue, May 17, 2011 at 9:25 PM, Biju Nair < > >> >>> [email protected]> > >> >>> >>> wrote: > >> >>> >>> >>> > Created JIRA - CXF-3529 > >> >>> >>> >>> > > >> >>> >>> >>> > Let me know what is the next step? > >> >>> >>> >>> > > >> >>> >>> >>> > Biju > >> >>> >>> >>> > > >> >>> >>> >>> > On Tue, May 17, 2011 at 1:51 AM, Sergey Beryozkin < > >> >>> >>> [email protected] > >> >>> >>> >>> >wrote: > >> >>> >>> >>> > > >> >>> >>> >>> >> Hi > >> >>> >>> >>> >> > >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair < > >> >>> [email protected] > >> >>> >>> > > >> >>> >>> >>> wrote: > >> >>> >>> >>> >> > Added the Map feature for service level and bean level. > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > I was not able to check-in the files, so attaching the > >> same. > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > >> >>> >>> >>> >> I don't see an attachment, but what you need to do is to > >> create > >> >>> a > >> >>> >>> CXF > >> >>> >>> >>> >> JIRA, attach a patch and I will apply it. > >> >>> >>> >>> >> > >> >>> >>> >>> >> > >> >>> >>> >>> >> > Following are the changes, > >> >>> >>> >>> >> > Added Map Support to Rest Based Services > >> >>> >>> >>> >> > -- Added InjectionUtils.injectIntoMap > >> >>> >>> >>> >> > -- Added InjectionUtils.convertMultimapToMap > >> >>> >>> >>> >> > -- Changed Signature of > >> InjectionUtils.createParameterObject > >> >>> >>> >>> >> > -- Modified handleBean > >> >>> >>> >>> >> > -- Modified createParameterObject > >> >>> >>> >>> >> > -- Added InjectionUtils.injectIntoMap > >> >>> >>> >>> >> > -- Added InjectionUtils.isSupportedMap > >> >>> >>> >>> >> > -- Added InjectionUtils.mergeMap > >> >>> >>> >>> >> > -- Added JAXRSUtils.processMapValue > >> >>> >>> >>> >> > -- Changed JAXRSUtils.processFormParam > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > The code is tested with sample services like, > >> >>> >>> >>> >> > public String debug(@FormParam("")TestEmployeeTO > >> >>> >>> >>> >> > testObject1,@FormParam("map") Map<String,Integer> map) > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > public class TestEmployeeTO { > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > private HashMap<String,String> currencies; > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > //getters/setters > >> >>> >>> >>> >> > } > >> >>> >>> >>> >> > Input Data > >> >>> >>> >>> >> > > map.x=11&map.y=9¤cies.IND=INR¤cies.USA=DOLLAR > >> >>> >>> >>> >> > Output > >> >>> >>> >>> >> > TestEmployeeTO[currencies={IND=INR, USA=DOLLAR}] > >> >>> >>> >>> >> > map={y=9, x=11} > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > >> >>> >>> >>> >> thanks, Sergey > >> >>> >>> >>> >> > >> >>> >>> >>> >> > >> >>> >>> >>> >> > >> >>> >>> >>> >> > Please verify and let me know is this is good. > >> >>> >>> >>> >> > > >> >>> >>> >>> >> > Biju B > >> >>> >>> >>> >> > >> >>> >>> >>> >> > >> >>> >>> >>> >> > >> >>> >>> >>> >> -- > >> >>> >>> >>> >> Sergey Beryozkin > >> >>> >>> >>> >> > >> >>> >>> >>> >> Application Integration Division of Talend > >> >>> >>> >>> >> http://sberyozkin.blogspot.com > >> >>> >>> >>> >> > >> >>> >>> >>> > > >> >>> >>> >>> > >> >>> >>> >> > >> >>> >>> > > >> >>> >>> > >> >>> >> > >> >>> >> > >> >>> > > >> >>> > >> >>> > >> >>> > >> >>> -- > >> >>> Sergey Beryozkin > >> >>> > >> >>> Application Integration Division of Talend > >> >>> http://sberyozkin.blogspot.com > >> >>> > >> >> > >> >> > >> > > >> > >> > >> > >> -- > >> Sergey Beryozkin > >> > >> Application Integration Division of Talend > >> http://sberyozkin.blogspot.com > >> > > > > > > -- > Sergey Beryozkin > > Application Integration Division of Talend > http://sberyozkin.blogspot.com >
