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 <biju74tec...@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 <biju74tec...@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 >> <sberyoz...@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 <sberyoz...@gmail.com> >>> wrote: >>> > Hi >>> > >>> > On Fri, May 20, 2011 at 11:23 PM, Biju Nair <biju74tec...@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 < >>> sberyoz...@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 <biju74tec...@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 < >>> sberyoz...@gmail.com >>> >>> >wrote: >>> >>> > >>> >>> >> Hi >>> >>> >> >>> >>> >> On Tue, May 17, 2011 at 7:09 AM, Biju Nair <biju74tec...@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¤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