cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Biju Nair <biju74tec...@gmail.com>
Subject Re: Custom Reuqest Param Name for Bean Request Object
Date Sun, 05 Jun 2011 19:28:35 GMT
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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message