On Fri, Mar 9, 2012 at 16:08, Marius Dumitru Florea
<
mariusdumitru.florea(a)xwiki.com> wrote:
On Fri, Mar 9, 2012 at 4:47 PM, Jerome Velociter
<jerome(a)winesquare.net>
wrote:
On Fri, Mar 9, 2012 at 3:26 PM, Marius Dumitru
Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
> On Fri, Mar 9, 2012 at 4:10 PM, Vincent Massol <vincent(a)massol.net>
wrote:
>>
>> On Mar 9, 2012, at 3:02 PM, Denis Gervalle wrote:
>>
>>> On Fri, Mar 9, 2012 at 14:54, Marius Dumitru Florea <
>>> mariusdumitru.florea(a)xwiki.com> 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-i…
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.