On Fri, Mar 9, 2012 at 17:17, Jerome Velociter <[email protected]>wrote:
> On Fri, Mar 9, 2012 at 4:51 PM, Denis Gervalle <[email protected]> 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. > > I'm not sure what's the problem/how groovy changes the picture here. > Right now json-lib is bundled with XWiki and used internally, but not > exposed. I don't think bundled jars should be assumed stable over > time. Do we have a rule for this ? > > In any case that's not good enough a reason to ditch jackson in favor > of json-lib, IMHO. Worse case, it's an argument in favor of keeping > json-lib in the classpath in addition to whatever other lib we decide > to use - should we decide to use something else than json-lib. > That was my concern, you expressed yourself better than I have. The question is simply, is Jackson so much better that we want to have both, or drop some compatibility. > > > > > > >> > >> 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 > >> > > > > > > > > -- > > Denis Gervalle > > SOFTEC sa - CEO > > eGuilde sarl - CTO > > _______________________________________________ > > 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 > -- Denis Gervalle SOFTEC sa - CEO eGuilde sarl - CTO _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

