You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by Hendrik Dev <he...@gmail.com> on 2015/01/15 17:57:24 UTC

Johnzon Feature List

I think we need a list of features and configuration options to
include this in our documentation.

I started with that with the following outcome:

Core:
- Full JSR 353 compatible, but not yet certified
- Speed is comparable to Jackson and the reference implementation. In
general we are a little bit faster.
- Testcoverage 75%
- Supported config options:
-- JsonGeneratorFactoryImpl
--- org.apache.johnzon.default-char-buffer-generator (default 64k)
--- javax.json.stream.JsonGenerator.prettyPrinting (default false)
--- org.apache.johnzon.buffer-strategy (default QUEUE)

-- JsonParserFactoryImpl
--- org.apache.johnzon.max-string-length (default 10MB)
--- org.apache.johnzon.default-char-buffer (default 64k)
--- org.apache.johnzon.supports-comments (default false)
--- org.apache.johnzon.buffer-strategy (default QUEUE)

-- JsonReaderFactoryImpl
--- org.apache.johnzon.max-string-length (default 10MB)
--- org.apache.johnzon.default-char-buffer (default 64k)
--- org.apache.johnzon.supports-comments (default false)
--- org.apache.johnzon.buffer-strategy (default QUEUE)

-- JsonWriterFactoryImpl
--- org.apache.johnzon.default-char-buffer-generator (default 64k)
--- javax.json.stream.JsonGenerator.prettyPrinting (default false)
--- org.apache.johnzon.buffer-strategy (default QUEUE)

org.apache.johnzon.buffer-strategy controls the reusing strategy of
char[] buffers.
QUEUE - char[] are reused by ConcurrentLinkedQueue
BY_INSTANCE - char[] are not reused
SINGLETON - char[] are reused by only one global char[]
THREAD_LOCAL - char[] are reused by thread (every thread does have its
char[] buffer bound to a thread local)

Mapper:
- Default de/serializers for BigDecimal, BigInteger, Class, Date, Enum
+ all primitves/wrappers and String
- custom de/serializers are possible
- proper handling of collections and generics
- works with fields, getter/setter or both
- subclass handling??? i guess we support inheritance, do we?
- @JohnzonConverter and @JohnzonIgnore annotations
- version handling
- attribute ordering
- configurable null/empty handling
- configurable byte[] handling
- all features or the Core

Jax-RS
- WADL support ???
- all features of the Mapper and Core

I want to ask for additions and feedback (and also for new features we
may want to introduce).

My features wishes:

Mapper:
- additional de/serializers for Joda Time, URL, URI, XML DOM/Node, ...
- handle classes without default constructor
- speed improvements especially for deserialization

Johnzon in general:
- improve overall testcoverage from 72% to 90%+
- implement jsr 367 and 374 when they are finished

KR
Hendrik

-- 
Hendrik Saly (salyh, hendrikdev22)
@hendrikdev22
PGP: 0x22D7F6EC

Re: Johnzon Feature List

Posted by Hendrik Dev <he...@gmail.com>.
Hi Prem,

i suggest you install http://www.eclemma.org/ into eclipse (or a
similar tool for you IDE if you are using not eclipse).
This especially shows also the code which is not covered yet so you
can specifically add testcases to cover exactly this lines of code
(they are marked red with eclemma).

Other option (muss which a much longer dev roundtrip) is "mvn verify
site", this generates the project site under target/site. There is a
cobertura test coverage report.

The current test coverage you can find here online:
http://johnzon.incubator.apache.org/cobertura/index.html for the current release
https://coveralls.io/r/salyh/incubator-johnzon for current master

Hope this helps

KR
Hendrik

On Mon, Jan 19, 2015 at 2:41 PM, Prem Sangeeth
<pr...@gmail.com> wrote:
> Hi Hendrik Dev,
>
> Can you share the test coverage report.  Or help out to setup local
> run to get the coverage report.
>
> I think I can work on increasing coverage, which will help me to
> understand the code better.
>
>
> Thanks
> Prem Sangeeth
>
> On Thu, Jan 15, 2015 at 10:27 PM, Hendrik Dev <he...@gmail.com> wrote:
>> I think we need a list of features and configuration options to
>> include this in our documentation.
>>
>> I started with that with the following outcome:
>>
>> Core:
>> - Full JSR 353 compatible, but not yet certified
>> - Speed is comparable to Jackson and the reference implementation. In
>> general we are a little bit faster.
>> - Testcoverage 75%
>> - Supported config options:
>> -- JsonGeneratorFactoryImpl
>> --- org.apache.johnzon.default-char-buffer-generator (default 64k)
>> --- javax.json.stream.JsonGenerator.prettyPrinting (default false)
>> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>>
>> -- JsonParserFactoryImpl
>> --- org.apache.johnzon.max-string-length (default 10MB)
>> --- org.apache.johnzon.default-char-buffer (default 64k)
>> --- org.apache.johnzon.supports-comments (default false)
>> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>>
>> -- JsonReaderFactoryImpl
>> --- org.apache.johnzon.max-string-length (default 10MB)
>> --- org.apache.johnzon.default-char-buffer (default 64k)
>> --- org.apache.johnzon.supports-comments (default false)
>> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>>
>> -- JsonWriterFactoryImpl
>> --- org.apache.johnzon.default-char-buffer-generator (default 64k)
>> --- javax.json.stream.JsonGenerator.prettyPrinting (default false)
>> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>>
>> org.apache.johnzon.buffer-strategy controls the reusing strategy of
>> char[] buffers.
>> QUEUE - char[] are reused by ConcurrentLinkedQueue
>> BY_INSTANCE - char[] are not reused
>> SINGLETON - char[] are reused by only one global char[]
>> THREAD_LOCAL - char[] are reused by thread (every thread does have its
>> char[] buffer bound to a thread local)
>>
>> Mapper:
>> - Default de/serializers for BigDecimal, BigInteger, Class, Date, Enum
>> + all primitves/wrappers and String
>> - custom de/serializers are possible
>> - proper handling of collections and generics
>> - works with fields, getter/setter or both
>> - subclass handling??? i guess we support inheritance, do we?
>> - @JohnzonConverter and @JohnzonIgnore annotations
>> - version handling
>> - attribute ordering
>> - configurable null/empty handling
>> - configurable byte[] handling
>> - all features or the Core
>>
>> Jax-RS
>> - WADL support ???
>> - all features of the Mapper and Core
>>
>> I want to ask for additions and feedback (and also for new features we
>> may want to introduce).
>>
>> My features wishes:
>>
>> Mapper:
>> - additional de/serializers for Joda Time, URL, URI, XML DOM/Node, ...
>> - handle classes without default constructor
>> - speed improvements especially for deserialization
>>
>> Johnzon in general:
>> - improve overall testcoverage from 72% to 90%+
>> - implement jsr 367 and 374 when they are finished
>>
>> KR
>> Hendrik
>>
>> --
>> Hendrik Saly (salyh, hendrikdev22)
>> @hendrikdev22
>> PGP: 0x22D7F6EC



-- 
Hendrik Saly (salyh, hendrikdev22)
@hendrikdev22
PGP: 0x22D7F6EC

Re: Johnzon Feature List

Posted by Prem Sangeeth <pr...@gmail.com>.
Hi Hendrik Dev,

Can you share the test coverage report.  Or help out to setup local
run to get the coverage report.

I think I can work on increasing coverage, which will help me to
understand the code better.


Thanks
Prem Sangeeth

On Thu, Jan 15, 2015 at 10:27 PM, Hendrik Dev <he...@gmail.com> wrote:
> I think we need a list of features and configuration options to
> include this in our documentation.
>
> I started with that with the following outcome:
>
> Core:
> - Full JSR 353 compatible, but not yet certified
> - Speed is comparable to Jackson and the reference implementation. In
> general we are a little bit faster.
> - Testcoverage 75%
> - Supported config options:
> -- JsonGeneratorFactoryImpl
> --- org.apache.johnzon.default-char-buffer-generator (default 64k)
> --- javax.json.stream.JsonGenerator.prettyPrinting (default false)
> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>
> -- JsonParserFactoryImpl
> --- org.apache.johnzon.max-string-length (default 10MB)
> --- org.apache.johnzon.default-char-buffer (default 64k)
> --- org.apache.johnzon.supports-comments (default false)
> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>
> -- JsonReaderFactoryImpl
> --- org.apache.johnzon.max-string-length (default 10MB)
> --- org.apache.johnzon.default-char-buffer (default 64k)
> --- org.apache.johnzon.supports-comments (default false)
> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>
> -- JsonWriterFactoryImpl
> --- org.apache.johnzon.default-char-buffer-generator (default 64k)
> --- javax.json.stream.JsonGenerator.prettyPrinting (default false)
> --- org.apache.johnzon.buffer-strategy (default QUEUE)
>
> org.apache.johnzon.buffer-strategy controls the reusing strategy of
> char[] buffers.
> QUEUE - char[] are reused by ConcurrentLinkedQueue
> BY_INSTANCE - char[] are not reused
> SINGLETON - char[] are reused by only one global char[]
> THREAD_LOCAL - char[] are reused by thread (every thread does have its
> char[] buffer bound to a thread local)
>
> Mapper:
> - Default de/serializers for BigDecimal, BigInteger, Class, Date, Enum
> + all primitves/wrappers and String
> - custom de/serializers are possible
> - proper handling of collections and generics
> - works with fields, getter/setter or both
> - subclass handling??? i guess we support inheritance, do we?
> - @JohnzonConverter and @JohnzonIgnore annotations
> - version handling
> - attribute ordering
> - configurable null/empty handling
> - configurable byte[] handling
> - all features or the Core
>
> Jax-RS
> - WADL support ???
> - all features of the Mapper and Core
>
> I want to ask for additions and feedback (and also for new features we
> may want to introduce).
>
> My features wishes:
>
> Mapper:
> - additional de/serializers for Joda Time, URL, URI, XML DOM/Node, ...
> - handle classes without default constructor
> - speed improvements especially for deserialization
>
> Johnzon in general:
> - improve overall testcoverage from 72% to 90%+
> - implement jsr 367 and 374 when they are finished
>
> KR
> Hendrik
>
> --
> Hendrik Saly (salyh, hendrikdev22)
> @hendrikdev22
> PGP: 0x22D7F6EC