I will look into the fillInValues... and will accomodate the Map.
On Wed, Jun 8, 2011 at 1:24 PM, Sergey Beryozkin <[email protected]>wrote: > 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¤cies.IND=INR¤cies.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 >
