On Mar 9, 2012, at 4:51 PM, Denis Gervalle wrote: > On Fri, Mar 9, 2012 at 16:08, Marius Dumitru Florea < > [email protected]> wrote: > >> On Fri, Mar 9, 2012 at 4:47 PM, Jerome Velociter <[email protected]> >> wrote: >>> On Fri, Mar 9, 2012 at 3:26 PM, Marius Dumitru Florea >>> <[email protected]> wrote: >>>> On Fri, Mar 9, 2012 at 4:10 PM, Vincent Massol <[email protected]> >> wrote: >>>>> >>>>> On Mar 9, 2012, at 3:02 PM, Denis Gervalle wrote: >>>>> >>>>>> On Fri, Mar 9, 2012 at 14:54, Marius Dumitru Florea < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi devs, >>>>>>> >>>>>>> Some time ago Jerome Velociter raised a vote [1] for adding a JSON >>>>>>> Velocity Tool. The vote passed but the tool wasn't committed. I'd >> like >>>>>>> to do it know (for 4.0M1) with two changes: >>>>>>> >>>>>>> 1. Use Jackson [2] instead of json-lib [3] because it has a more >> recent >>>>>>> release >>>>>>> >>>>>> >>>>>> Isn't json-lib already a dependency available, should we use another >> one ? >>>>> >>>>> +1 to use only one json lib in xwiki! :) >>>> >>>> Fine.. since json-lib is already used in public API >>>> (com.xpn.xwiki.plugin.packaging.PackageAPI) I'll stick with it. >>> >>> Jackson is considered faster, by several orders. Some articles/threads >>> that talks about it : >>> - >> http://www.lshift.net/blog/2011/12/28/benchmarking-simple-json-generation-in-java >>> - http://www.sencha.com/forum/archive/index.php/t-94883.html >>> >> >>> It can be a case for Jackson : if we are to use that tool for >>> generating livetable values, performance is a big deal. >> >> That's my use case. I want to refactor the macros from >> XWiki.LiveTableResultsMacros to generate the "JSON" in memory (using >> actually plain Java data types like maps and lists/arrays) so that I >> can adjust it before the response is send to the client. This way I >> can avoid duplicating the code from XWiki.LiveTableResultsMacros just >> to add a new property to the generated JSON or to modify the value of >> an existing property. >> >> Since json-lib is used only in xwiki-platform-oldcore by the package >> plugin I think it's fine to: >> >> * use Jackson in JSONTool >> * when we refactor the package plugin into a component (if we still >> needed it at that point) we can also change the code to use Jackson. I >> can add a comment in the pom for this so that we don't forget about >> it. >> >> WDYT? >> > > What about groovy ? the JSONBuilder provided by json-lib is nice to have, > and is one of the motivation of the initial thread. > I am not asking for annoying you, we use all that already in many sites. I > am not against improving, but we should also be careful to not break > existing stuffs.
Groovy has a built json parser. Thanks -Vincent >> I'm +1 for this. >> >> Thanks, >> Marius >> >>> >>> my 2 cents >>> >>> Jerome >>> >>> >>>> >>>> Thanks, >>>> Marius >>>> >>>>> >>>>> Thanks >>>>> -Vincent >>>>>> >>>>>> >>>>>>> 2. Add only the toJSON method for now because we can use >>>>>>> $escapetool.javascript to accomplish the same result as toValueString >>>>>>> >>>>>>> Reply quickly if you are against it. >>>>>>> >>>>>>> Thanks, >>>>>>> Marius >>>>>>> >>>>>>> [1] http://www.mail-archive.com/[email protected]/msg11395.html >>>>>>> [2] http://jackson.codehaus.org/ >>>>>>> [3] http://json-lib.sourceforge.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

