You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Biju Nair <bi...@gmail.com> on 2011/06/01 19:02:33 UTC

Re: Custom Reuqest Param Name for Bean Request Object

Did you get chance to look into this?

On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <sb...@gmail.com>wrote:

> Sorry, not yet, hoping to do it shortly
>
> Sergey
>
> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <bi...@gmail.com> wrote:
> > did you get chance to update the patch and test it?
> >
> > Biju
> >
> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <bi...@gmail.com>
> wrote:
> >
> >> Attached the path in JIRA.
> >>
> >> Attaching with this mail also.
> >>
> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
> sberyozkin@gmail.com>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 <bi...@gmail.com>
> >>> 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 <bi...@gmail.com>
> >>> 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 <
> >>> sberyozkin@gmail.com>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 <
> >>> sberyozkin@gmail.com>
> >>> >>> wrote:
> >>> >>> > Hi
> >>> >>> >
> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
> biju74techie@gmail.com
> >>> >
> >>> >>> 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 <
> >>> >>> sberyozkin@gmail.com>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 <
> >>> biju74techie@gmail.com>
> >>> >>> 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 <
> >>> >>> sberyozkin@gmail.com
> >>> >>> >>> >wrote:
> >>> >>> >>> >
> >>> >>> >>> >> Hi
> >>> >>> >>> >>
> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
> >>> biju74techie@gmail.com
> >>> >>> >
> >>> >>> >>> 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&currencies.IND=INR&currencies.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
>

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Biju Nair <bi...@gmail.com>.
I will look into the fillInValues... and will accomodate the Map.


On Wed, Jun 8, 2011 at 1:24 PM, Sergey Beryozkin <sb...@gmail.com>wrote:

> Your patch has been applied with few minor modificatios.
> Many thanks for your help, apologies for a delay in dealing with it
>
> Have a look please at the client side, the proxies can 'unwrap'
> parameter beans, so InjectionUtils.fillInValuesFromBean
> maya need to be updated a bit for Map properties handled as well. Both
> client proxies and WADLGenerator will use this function and properly
> represent parameter bean values as query or form or path params
>
> thanks, Sergey
>
> On Wed, Jun 8, 2011 at 5:52 PM, Biju Nair <bi...@gmail.com> wrote:
> > Did you get chance to look into the new code? Does it satisfy your
> > requirement?
> >
> > Biju B
> >
> > On Sun, Jun 5, 2011 at 12:28 PM, Biju Nair <bi...@gmail.com>
> wrote:
> >
> >> Updated JIRA with path and modified files for the new implementation...
> >>
> >>
> >> On Fri, Jun 3, 2011 at 1:52 AM, Sergey Beryozkin <sberyozkin@gmail.com
> >wrote:
> >>
> >>> Your patch contains empty (if) branches so that can not be committed;
> >>> Allowing for Map<String,Primitive> will result in all but the last
> >>> name/value pairs with identical names being lost
> >>>
> >>> Does it make sense ?
> >>> Cheers, Sergey
> >>>
> >>> On Fri, Jun 3, 2011 at 1:22 AM, Biju Nair <bi...@gmail.com>
> wrote:
> >>> > I am confused on what you mean by "empty branches", can you just
> >>> elaborate?
> >>> >
> >>> > Do you mean we need to have only Map<String,List<Primitive>> and not
> >>> > Map<String,Primitive>?
> >>> >
> >>> > On Thu, Jun 2, 2011 at 1:46 PM, Sergey Beryozkin <
> sberyozkin@gmail.com
> >>> >wrote:
> >>> >
> >>> >> Please check a previous message, we need a better Map check and no
> >>> >> empty branches
> >>> >>
> >>> >> thanks, Sergey
> >>> >>
> >>> >> On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com>
> >>> wrote:
> >>> >> > 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 <
> >>> sberyozkin@gmail.com
> >>> >> >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 <
> biju74techie@gmail.com>
> >>> >> wrote:
> >>> >> >> > Did you get chance to look into this?
> >>> >> >> >
> >>> >> >> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <
> >>> >> sberyozkin@gmail.com
> >>> >> >> >wrote:
> >>> >> >> >
> >>> >> >> >> Sorry, not yet, hoping to do it shortly
> >>> >> >> >>
> >>> >> >> >> Sergey
> >>> >> >> >>
> >>> >> >> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <
> >>> biju74techie@gmail.com>
> >>> >> >> wrote:
> >>> >> >> >> > did you get chance to update the patch and test it?
> >>> >> >> >> >
> >>> >> >> >> > Biju
> >>> >> >> >> >
> >>> >> >> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <
> >>> biju74techie@gmail.com
> >>> >> >
> >>> >> >> >> wrote:
> >>> >> >> >> >
> >>> >> >> >> >> Attached the path in JIRA.
> >>> >> >> >> >>
> >>> >> >> >> >> Attaching with this mail also.
> >>> >> >> >> >>
> >>> >> >> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
> >>> >> >> >> sberyozkin@gmail.com>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 <
> >>> >> biju74techie@gmail.com>
> >>> >> >> >> >>> 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 <
> >>> >> >> biju74techie@gmail.com>
> >>> >> >> >> >>> 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 <
> >>> >> >> >> >>> sberyozkin@gmail.com>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 <
> >>> >> >> >> >>> sberyozkin@gmail.com>
> >>> >> >> >> >>> >>> wrote:
> >>> >> >> >> >>> >>> > Hi
> >>> >> >> >> >>> >>> >
> >>> >> >> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
> >>> >> >> >> biju74techie@gmail.com
> >>> >> >> >> >>> >
> >>> >> >> >> >>> >>> 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 <
> >>> >> >> >> >>> >>> sberyozkin@gmail.com>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 <
> >>> >> >> >> >>> biju74techie@gmail.com>
> >>> >> >> >> >>> >>> 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 <
> >>> >> >> >> >>> >>> sberyozkin@gmail.com
> >>> >> >> >> >>> >>> >>> >wrote:
> >>> >> >> >> >>> >>> >>> >
> >>> >> >> >> >>> >>> >>> >> Hi
> >>> >> >> >> >>> >>> >>> >>
> >>> >> >> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
> >>> >> >> >> >>> biju74techie@gmail.com
> >>> >> >> >> >>> >>> >
> >>> >> >> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
> >>> >> >>
> >>> >> >
> >>> >>
> >>> >>
> >>> >>
> >>> >> --
> >>> >>  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
>

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Sergey Beryozkin <sb...@gmail.com>.
Your patch has been applied with few minor modificatios.
Many thanks for your help, apologies for a delay in dealing with it

Have a look please at the client side, the proxies can 'unwrap'
parameter beans, so InjectionUtils.fillInValuesFromBean
maya need to be updated a bit for Map properties handled as well. Both
client proxies and WADLGenerator will use this function and properly
represent parameter bean values as query or form or path params

thanks, Sergey

On Wed, Jun 8, 2011 at 5:52 PM, Biju Nair <bi...@gmail.com> wrote:
> Did you get chance to look into the new code? Does it satisfy your
> requirement?
>
> Biju B
>
> On Sun, Jun 5, 2011 at 12:28 PM, Biju Nair <bi...@gmail.com> wrote:
>
>> Updated JIRA with path and modified files for the new implementation...
>>
>>
>> On Fri, Jun 3, 2011 at 1:52 AM, Sergey Beryozkin <sb...@gmail.com>wrote:
>>
>>> Your patch contains empty (if) branches so that can not be committed;
>>> Allowing for Map<String,Primitive> will result in all but the last
>>> name/value pairs with identical names being lost
>>>
>>> Does it make sense ?
>>> Cheers, Sergey
>>>
>>> On Fri, Jun 3, 2011 at 1:22 AM, Biju Nair <bi...@gmail.com> wrote:
>>> > I am confused on what you mean by "empty branches", can you just
>>> elaborate?
>>> >
>>> > Do you mean we need to have only Map<String,List<Primitive>> and not
>>> > Map<String,Primitive>?
>>> >
>>> > On Thu, Jun 2, 2011 at 1:46 PM, Sergey Beryozkin <sberyozkin@gmail.com
>>> >wrote:
>>> >
>>> >> Please check a previous message, we need a better Map check and no
>>> >> empty branches
>>> >>
>>> >> thanks, Sergey
>>> >>
>>> >> On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com>
>>> wrote:
>>> >> > 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 <
>>> sberyozkin@gmail.com
>>> >> >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 <bi...@gmail.com>
>>> >> wrote:
>>> >> >> > Did you get chance to look into this?
>>> >> >> >
>>> >> >> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <
>>> >> sberyozkin@gmail.com
>>> >> >> >wrote:
>>> >> >> >
>>> >> >> >> Sorry, not yet, hoping to do it shortly
>>> >> >> >>
>>> >> >> >> Sergey
>>> >> >> >>
>>> >> >> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <
>>> biju74techie@gmail.com>
>>> >> >> wrote:
>>> >> >> >> > did you get chance to update the patch and test it?
>>> >> >> >> >
>>> >> >> >> > Biju
>>> >> >> >> >
>>> >> >> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <
>>> biju74techie@gmail.com
>>> >> >
>>> >> >> >> wrote:
>>> >> >> >> >
>>> >> >> >> >> Attached the path in JIRA.
>>> >> >> >> >>
>>> >> >> >> >> Attaching with this mail also.
>>> >> >> >> >>
>>> >> >> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
>>> >> >> >> sberyozkin@gmail.com>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 <
>>> >> biju74techie@gmail.com>
>>> >> >> >> >>> 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 <
>>> >> >> biju74techie@gmail.com>
>>> >> >> >> >>> 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 <
>>> >> >> >> >>> sberyozkin@gmail.com>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 <
>>> >> >> >> >>> sberyozkin@gmail.com>
>>> >> >> >> >>> >>> wrote:
>>> >> >> >> >>> >>> > Hi
>>> >> >> >> >>> >>> >
>>> >> >> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
>>> >> >> >> biju74techie@gmail.com
>>> >> >> >> >>> >
>>> >> >> >> >>> >>> 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 <
>>> >> >> >> >>> >>> sberyozkin@gmail.com>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 <
>>> >> >> >> >>> biju74techie@gmail.com>
>>> >> >> >> >>> >>> 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 <
>>> >> >> >> >>> >>> sberyozkin@gmail.com
>>> >> >> >> >>> >>> >>> >wrote:
>>> >> >> >> >>> >>> >>> >
>>> >> >> >> >>> >>> >>> >> Hi
>>> >> >> >> >>> >>> >>> >>
>>> >> >> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
>>> >> >> >> >>> biju74techie@gmail.com
>>> >> >> >> >>> >>> >
>>> >> >> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
>>> >> >>
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >>  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

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Biju Nair <bi...@gmail.com>.
Did you get chance to look into the new code? Does it satisfy your
requirement?

Biju B

On Sun, Jun 5, 2011 at 12:28 PM, Biju Nair <bi...@gmail.com> wrote:

> Updated JIRA with path and modified files for the new implementation...
>
>
> On Fri, Jun 3, 2011 at 1:52 AM, Sergey Beryozkin <sb...@gmail.com>wrote:
>
>> Your patch contains empty (if) branches so that can not be committed;
>> Allowing for Map<String,Primitive> will result in all but the last
>> name/value pairs with identical names being lost
>>
>> Does it make sense ?
>> Cheers, Sergey
>>
>> On Fri, Jun 3, 2011 at 1:22 AM, Biju Nair <bi...@gmail.com> wrote:
>> > I am confused on what you mean by "empty branches", can you just
>> elaborate?
>> >
>> > Do you mean we need to have only Map<String,List<Primitive>> and not
>> > Map<String,Primitive>?
>> >
>> > On Thu, Jun 2, 2011 at 1:46 PM, Sergey Beryozkin <sberyozkin@gmail.com
>> >wrote:
>> >
>> >> Please check a previous message, we need a better Map check and no
>> >> empty branches
>> >>
>> >> thanks, Sergey
>> >>
>> >> On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com>
>> wrote:
>> >> > 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 <
>> sberyozkin@gmail.com
>> >> >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 <bi...@gmail.com>
>> >> wrote:
>> >> >> > Did you get chance to look into this?
>> >> >> >
>> >> >> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <
>> >> sberyozkin@gmail.com
>> >> >> >wrote:
>> >> >> >
>> >> >> >> Sorry, not yet, hoping to do it shortly
>> >> >> >>
>> >> >> >> Sergey
>> >> >> >>
>> >> >> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <
>> biju74techie@gmail.com>
>> >> >> wrote:
>> >> >> >> > did you get chance to update the patch and test it?
>> >> >> >> >
>> >> >> >> > Biju
>> >> >> >> >
>> >> >> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <
>> biju74techie@gmail.com
>> >> >
>> >> >> >> wrote:
>> >> >> >> >
>> >> >> >> >> Attached the path in JIRA.
>> >> >> >> >>
>> >> >> >> >> Attaching with this mail also.
>> >> >> >> >>
>> >> >> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
>> >> >> >> sberyozkin@gmail.com>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 <
>> >> biju74techie@gmail.com>
>> >> >> >> >>> 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 <
>> >> >> biju74techie@gmail.com>
>> >> >> >> >>> 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 <
>> >> >> >> >>> sberyozkin@gmail.com>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 <
>> >> >> >> >>> sberyozkin@gmail.com>
>> >> >> >> >>> >>> wrote:
>> >> >> >> >>> >>> > Hi
>> >> >> >> >>> >>> >
>> >> >> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
>> >> >> >> biju74techie@gmail.com
>> >> >> >> >>> >
>> >> >> >> >>> >>> 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 <
>> >> >> >> >>> >>> sberyozkin@gmail.com>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 <
>> >> >> >> >>> biju74techie@gmail.com>
>> >> >> >> >>> >>> 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 <
>> >> >> >> >>> >>> sberyozkin@gmail.com
>> >> >> >> >>> >>> >>> >wrote:
>> >> >> >> >>> >>> >>> >
>> >> >> >> >>> >>> >>> >> Hi
>> >> >> >> >>> >>> >>> >>
>> >> >> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
>> >> >> >> >>> biju74techie@gmail.com
>> >> >> >> >>> >>> >
>> >> >> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
>> >> >>
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >>  Sergey Beryozkin
>> >>
>> >> Application Integration Division of Talend
>> >> http://sberyozkin.blogspot.com
>> >>
>> >
>>
>>
>>
>> --
>>  Sergey Beryozkin
>>
>> Application Integration Division of Talend
>> http://sberyozkin.blogspot.com
>>
>
>

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Biju Nair <bi...@gmail.com>.
Updated JIRA with path and modified files for the new implementation...

On Fri, Jun 3, 2011 at 1:52 AM, Sergey Beryozkin <sb...@gmail.com>wrote:

> Your patch contains empty (if) branches so that can not be committed;
> Allowing for Map<String,Primitive> will result in all but the last
> name/value pairs with identical names being lost
>
> Does it make sense ?
> Cheers, Sergey
>
> On Fri, Jun 3, 2011 at 1:22 AM, Biju Nair <bi...@gmail.com> wrote:
> > I am confused on what you mean by "empty branches", can you just
> elaborate?
> >
> > Do you mean we need to have only Map<String,List<Primitive>> and not
> > Map<String,Primitive>?
> >
> > On Thu, Jun 2, 2011 at 1:46 PM, Sergey Beryozkin <sberyozkin@gmail.com
> >wrote:
> >
> >> Please check a previous message, we need a better Map check and no
> >> empty branches
> >>
> >> thanks, Sergey
> >>
> >> On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com>
> wrote:
> >> > 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 <
> sberyozkin@gmail.com
> >> >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 <bi...@gmail.com>
> >> wrote:
> >> >> > Did you get chance to look into this?
> >> >> >
> >> >> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <
> >> sberyozkin@gmail.com
> >> >> >wrote:
> >> >> >
> >> >> >> Sorry, not yet, hoping to do it shortly
> >> >> >>
> >> >> >> Sergey
> >> >> >>
> >> >> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <
> biju74techie@gmail.com>
> >> >> wrote:
> >> >> >> > did you get chance to update the patch and test it?
> >> >> >> >
> >> >> >> > Biju
> >> >> >> >
> >> >> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <
> biju74techie@gmail.com
> >> >
> >> >> >> wrote:
> >> >> >> >
> >> >> >> >> Attached the path in JIRA.
> >> >> >> >>
> >> >> >> >> Attaching with this mail also.
> >> >> >> >>
> >> >> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
> >> >> >> sberyozkin@gmail.com>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 <
> >> biju74techie@gmail.com>
> >> >> >> >>> 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 <
> >> >> biju74techie@gmail.com>
> >> >> >> >>> 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 <
> >> >> >> >>> sberyozkin@gmail.com>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 <
> >> >> >> >>> sberyozkin@gmail.com>
> >> >> >> >>> >>> wrote:
> >> >> >> >>> >>> > Hi
> >> >> >> >>> >>> >
> >> >> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
> >> >> >> biju74techie@gmail.com
> >> >> >> >>> >
> >> >> >> >>> >>> 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 <
> >> >> >> >>> >>> sberyozkin@gmail.com>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 <
> >> >> >> >>> biju74techie@gmail.com>
> >> >> >> >>> >>> 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 <
> >> >> >> >>> >>> sberyozkin@gmail.com
> >> >> >> >>> >>> >>> >wrote:
> >> >> >> >>> >>> >>> >
> >> >> >> >>> >>> >>> >> Hi
> >> >> >> >>> >>> >>> >>
> >> >> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
> >> >> >> >>> biju74techie@gmail.com
> >> >> >> >>> >>> >
> >> >> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
> >> >>
> >> >
> >>
> >>
> >>
> >> --
> >>  Sergey Beryozkin
> >>
> >> Application Integration Division of Talend
> >> http://sberyozkin.blogspot.com
> >>
> >
>
>
>
> --
>  Sergey Beryozkin
>
> Application Integration Division of Talend
> http://sberyozkin.blogspot.com
>

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Sergey Beryozkin <sb...@gmail.com>.
Your patch contains empty (if) branches so that can not be committed;
Allowing for Map<String,Primitive> will result in all but the last
name/value pairs with identical names being lost

Does it make sense ?
Cheers, Sergey

On Fri, Jun 3, 2011 at 1:22 AM, Biju Nair <bi...@gmail.com> wrote:
> I am confused on what you mean by "empty branches", can you just elaborate?
>
> Do you mean we need to have only Map<String,List<Primitive>> and not
> Map<String,Primitive>?
>
> On Thu, Jun 2, 2011 at 1:46 PM, Sergey Beryozkin <sb...@gmail.com>wrote:
>
>> Please check a previous message, we need a better Map check and no
>> empty branches
>>
>> thanks, Sergey
>>
>> On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com> wrote:
>> > 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 <sberyozkin@gmail.com
>> >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 <bi...@gmail.com>
>> wrote:
>> >> > Did you get chance to look into this?
>> >> >
>> >> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <
>> sberyozkin@gmail.com
>> >> >wrote:
>> >> >
>> >> >> Sorry, not yet, hoping to do it shortly
>> >> >>
>> >> >> Sergey
>> >> >>
>> >> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <bi...@gmail.com>
>> >> wrote:
>> >> >> > did you get chance to update the patch and test it?
>> >> >> >
>> >> >> > Biju
>> >> >> >
>> >> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <biju74techie@gmail.com
>> >
>> >> >> wrote:
>> >> >> >
>> >> >> >> Attached the path in JIRA.
>> >> >> >>
>> >> >> >> Attaching with this mail also.
>> >> >> >>
>> >> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
>> >> >> sberyozkin@gmail.com>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 <
>> biju74techie@gmail.com>
>> >> >> >>> 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 <
>> >> biju74techie@gmail.com>
>> >> >> >>> 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 <
>> >> >> >>> sberyozkin@gmail.com>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 <
>> >> >> >>> sberyozkin@gmail.com>
>> >> >> >>> >>> wrote:
>> >> >> >>> >>> > Hi
>> >> >> >>> >>> >
>> >> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
>> >> >> biju74techie@gmail.com
>> >> >> >>> >
>> >> >> >>> >>> 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 <
>> >> >> >>> >>> sberyozkin@gmail.com>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 <
>> >> >> >>> biju74techie@gmail.com>
>> >> >> >>> >>> 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 <
>> >> >> >>> >>> sberyozkin@gmail.com
>> >> >> >>> >>> >>> >wrote:
>> >> >> >>> >>> >>> >
>> >> >> >>> >>> >>> >> Hi
>> >> >> >>> >>> >>> >>
>> >> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
>> >> >> >>> biju74techie@gmail.com
>> >> >> >>> >>> >
>> >> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
>> >>
>> >
>>
>>
>>
>> --
>>  Sergey Beryozkin
>>
>> Application Integration Division of Talend
>> http://sberyozkin.blogspot.com
>>
>



-- 
Sergey Beryozkin

Application Integration Division of Talend
http://sberyozkin.blogspot.com

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Biju Nair <bi...@gmail.com>.
I am confused on what you mean by "empty branches", can you just elaborate?

Do you mean we need to have only Map<String,List<Primitive>> and not
Map<String,Primitive>?

On Thu, Jun 2, 2011 at 1:46 PM, Sergey Beryozkin <sb...@gmail.com>wrote:

> Please check a previous message, we need a better Map check and no
> empty branches
>
> thanks, Sergey
>
> On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com> wrote:
> > 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 <sberyozkin@gmail.com
> >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 <bi...@gmail.com>
> wrote:
> >> > Did you get chance to look into this?
> >> >
> >> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <
> sberyozkin@gmail.com
> >> >wrote:
> >> >
> >> >> Sorry, not yet, hoping to do it shortly
> >> >>
> >> >> Sergey
> >> >>
> >> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <bi...@gmail.com>
> >> wrote:
> >> >> > did you get chance to update the patch and test it?
> >> >> >
> >> >> > Biju
> >> >> >
> >> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <biju74techie@gmail.com
> >
> >> >> wrote:
> >> >> >
> >> >> >> Attached the path in JIRA.
> >> >> >>
> >> >> >> Attaching with this mail also.
> >> >> >>
> >> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
> >> >> sberyozkin@gmail.com>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 <
> biju74techie@gmail.com>
> >> >> >>> 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 <
> >> biju74techie@gmail.com>
> >> >> >>> 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 <
> >> >> >>> sberyozkin@gmail.com>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 <
> >> >> >>> sberyozkin@gmail.com>
> >> >> >>> >>> wrote:
> >> >> >>> >>> > Hi
> >> >> >>> >>> >
> >> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
> >> >> biju74techie@gmail.com
> >> >> >>> >
> >> >> >>> >>> 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 <
> >> >> >>> >>> sberyozkin@gmail.com>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 <
> >> >> >>> biju74techie@gmail.com>
> >> >> >>> >>> 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 <
> >> >> >>> >>> sberyozkin@gmail.com
> >> >> >>> >>> >>> >wrote:
> >> >> >>> >>> >>> >
> >> >> >>> >>> >>> >> Hi
> >> >> >>> >>> >>> >>
> >> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
> >> >> >>> biju74techie@gmail.com
> >> >> >>> >>> >
> >> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
> >>
> >
>
>
>
> --
>  Sergey Beryozkin
>
> Application Integration Division of Talend
> http://sberyozkin.blogspot.com
>

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Sergey Beryozkin <sb...@gmail.com>.
Please check a previous message, we need a better Map check and no
empty branches

thanks, Sergey

On Thu, Jun 2, 2011 at 6:37 PM, Biju Nair <bi...@gmail.com> wrote:
> 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 <sb...@gmail.com>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 <bi...@gmail.com> wrote:
>> > Did you get chance to look into this?
>> >
>> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <sberyozkin@gmail.com
>> >wrote:
>> >
>> >> Sorry, not yet, hoping to do it shortly
>> >>
>> >> Sergey
>> >>
>> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <bi...@gmail.com>
>> wrote:
>> >> > did you get chance to update the patch and test it?
>> >> >
>> >> > Biju
>> >> >
>> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <bi...@gmail.com>
>> >> wrote:
>> >> >
>> >> >> Attached the path in JIRA.
>> >> >>
>> >> >> Attaching with this mail also.
>> >> >>
>> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
>> >> sberyozkin@gmail.com>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 <bi...@gmail.com>
>> >> >>> 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 <
>> biju74techie@gmail.com>
>> >> >>> 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 <
>> >> >>> sberyozkin@gmail.com>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 <
>> >> >>> sberyozkin@gmail.com>
>> >> >>> >>> wrote:
>> >> >>> >>> > Hi
>> >> >>> >>> >
>> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
>> >> biju74techie@gmail.com
>> >> >>> >
>> >> >>> >>> 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 <
>> >> >>> >>> sberyozkin@gmail.com>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 <
>> >> >>> biju74techie@gmail.com>
>> >> >>> >>> 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 <
>> >> >>> >>> sberyozkin@gmail.com
>> >> >>> >>> >>> >wrote:
>> >> >>> >>> >>> >
>> >> >>> >>> >>> >> Hi
>> >> >>> >>> >>> >>
>> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
>> >> >>> biju74techie@gmail.com
>> >> >>> >>> >
>> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
>>
>



-- 
Sergey Beryozkin

Application Integration Division of Talend
http://sberyozkin.blogspot.com

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Biju Nair <bi...@gmail.com>.
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 <sb...@gmail.com>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 <bi...@gmail.com> wrote:
> > Did you get chance to look into this?
> >
> > On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <sberyozkin@gmail.com
> >wrote:
> >
> >> Sorry, not yet, hoping to do it shortly
> >>
> >> Sergey
> >>
> >> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <bi...@gmail.com>
> wrote:
> >> > did you get chance to update the patch and test it?
> >> >
> >> > Biju
> >> >
> >> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <bi...@gmail.com>
> >> wrote:
> >> >
> >> >> Attached the path in JIRA.
> >> >>
> >> >> Attaching with this mail also.
> >> >>
> >> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
> >> sberyozkin@gmail.com>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 <bi...@gmail.com>
> >> >>> 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 <
> biju74techie@gmail.com>
> >> >>> 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 <
> >> >>> sberyozkin@gmail.com>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 <
> >> >>> sberyozkin@gmail.com>
> >> >>> >>> wrote:
> >> >>> >>> > Hi
> >> >>> >>> >
> >> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
> >> biju74techie@gmail.com
> >> >>> >
> >> >>> >>> 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 <
> >> >>> >>> sberyozkin@gmail.com>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 <
> >> >>> biju74techie@gmail.com>
> >> >>> >>> 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 <
> >> >>> >>> sberyozkin@gmail.com
> >> >>> >>> >>> >wrote:
> >> >>> >>> >>> >
> >> >>> >>> >>> >> Hi
> >> >>> >>> >>> >>
> >> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
> >> >>> biju74techie@gmail.com
> >> >>> >>> >
> >> >>> >>> >>> 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&currencies.IND=INR&currencies.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
>

Re: Custom Reuqest Param Name for Bean Request Object

Posted by Sergey Beryozkin <sb...@gmail.com>.
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 <bi...@gmail.com> wrote:
> Did you get chance to look into this?
>
> On Thu, May 26, 2011 at 2:19 PM, Sergey Beryozkin <sb...@gmail.com>wrote:
>
>> Sorry, not yet, hoping to do it shortly
>>
>> Sergey
>>
>> On Thu, May 26, 2011 at 8:36 PM, Biju Nair <bi...@gmail.com> wrote:
>> > did you get chance to update the patch and test it?
>> >
>> > Biju
>> >
>> > On Wed, May 25, 2011 at 9:09 AM, Biju Nair <bi...@gmail.com>
>> wrote:
>> >
>> >> Attached the path in JIRA.
>> >>
>> >> Attaching with this mail also.
>> >>
>> >>   On Wed, May 25, 2011 at 4:33 AM, Sergey Beryozkin <
>> sberyozkin@gmail.com>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 <bi...@gmail.com>
>> >>> 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 <bi...@gmail.com>
>> >>> 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 <
>> >>> sberyozkin@gmail.com>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 <
>> >>> sberyozkin@gmail.com>
>> >>> >>> wrote:
>> >>> >>> > Hi
>> >>> >>> >
>> >>> >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <
>> biju74techie@gmail.com
>> >>> >
>> >>> >>> 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 <
>> >>> >>> sberyozkin@gmail.com>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 <
>> >>> biju74techie@gmail.com>
>> >>> >>> 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 <
>> >>> >>> sberyozkin@gmail.com
>> >>> >>> >>> >wrote:
>> >>> >>> >>> >
>> >>> >>> >>> >> Hi
>> >>> >>> >>> >>
>> >>> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <
>> >>> biju74techie@gmail.com
>> >>> >>> >
>> >>> >>> >>> 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&currencies.IND=INR&currencies.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