On Fri, Mar 9, 2012 at 4:08 PM, 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.
And as a nice addition we will finally get proper escaping of liverable JSON values... > > 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? > > 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 >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >> >> >> -- >> Jérôme Velociter >> Winesquare >> http://www.winesquare.net/ >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

