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 Thu, 02 Jun 2011 20:46:31 GMT
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

Mime
View raw message