jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Mueller <muel...@adobe.com>
Subject Re: [j3] Repository MicroKernel API draft
Date Mon, 20 Jun 2011 12:09:11 GMT
Hi,

>The MicroKernel implementation has to parse and reserialize JSON
>strings whenever it needs to process a diff or is given a nonstandard
>set of depth, offset and count values in a getNodes() call.

Currently, the MicroKernel doesn't really parse the Json in this case. It
only tokenizes the diff. It _is_ a loop over all bytes / characters, which
could be avoided when using a different serialization. This would be a
potential optimization for the future.

What it does is create the Json result using the in-memory Json-snippets.
This is basically three or four StringBuilder.append(..) calls per
property.

>This parsing and reserialization is exactly the same stuff that any
>client needs to perform to use the API, which is duplication that
>could and IMHO should be avoided.

No matter what the MicroKernel API, the client will in many cases need a
different in-memory representation.

I did implement low level 'value' and 'bundle' classes, which could be
used by both the client and the MicroKernel:
org.apache.jackrabbit.j3.mc.Val
org.apache.jackrabbit.j3.mc.Bundle


Regards,
Thomas



Mime
View raw message