cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: Custom Reuqest Param Name for Bean Request Object
Date Wed, 08 Jun 2011 20:24:26 GMT
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 <biju74techie@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 <biju74techie@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 <biju74techie@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 <biju74techie@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

Mime
View raw message