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 Fri, 03 Jun 2011 08:52:47 GMT
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

Mime
View raw message