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

Reply via email to