users@jsonb-spec.java.net

[jsonb-spec users] Re: Public Review

From: Dmitry Kornilov <dmitry.kornilov_at_oracle.com>
Date: Tue, 14 Jun 2016 23:56:24 +0200

Hi Nathan,

 

Thanks for your comments. You can find my answers inline.

 

From: Nathan Rauh [mailto:nathan.rauh_at_us.ibm.com]
Sent: Friday, June 10, 2016 10:23 PM
To: users_at_jsonb-spec.java.net; jsr367-experts_at_jsonb-spec.java.net
Subject: [jsonb-spec users] Re: Public Review

 

I'll start off by saying excellent job everyone on writing this spec!
I was proofreading it to catch any possible errors and only found a few
things that are all very minor,

1.3:
"Support Support and integration with..."
should be
"Support and integration with..."

 

Fixed.


3.7.1:
"When only public getter/setter method without corresponding field is
present in the class, ..."
should be
"When only public getter/setter methods without corresponding fields are
present in the class, ..."

 

Fixed.


3.17.1:
Figure 2: Example Type resolution is showing a Hello World Java program
rather than the intended example. Does anyone have a copy of what the actual
example was intended to be or do we need to write one?

 

Fixed.


4.4:
refers to JsonbConfig::withStrictIJSONSerializationCompliance, however the
method on JsonbConfig is actually called "withStrictIJSON".
Also, this section refers to configuration option
"jsonb.i-json.strict-ser-compliance", but the constant value for
javax.json.bind.JsonbConfig.STRICT_IJSON is "jsonb.strict-ijson".

 

Fixed. Shorter names are used.


4.5:
"The name of a parameter can be changed annotating given parameter with
JsonbProperty annotation."
should be
"The name of a parameter can be changed by annotating the given parameter
with the JsonbProperty annotation."

 

Fixed.


javax.json.bind.JsonbConfig:
Given that JsonbConfig.getProperty makes the requirement "Attempting to get
an undefined property will result in a JsonbException being thrown", so that
you can never have a return value for an undefined property name, what is
the point of having it return Optional rather than Object?
    public final Optional<Object> getProperty(String name)
Note that getAtMap() returns property values within the map as Object, not
Optional. Seems like getProperty ought to be the same.

 

I think a better solution would be to get rid of a requirement of throwing
an unchecked exception if property doesn't exist in the map.


javax.json.bind.adapter.JsonbAdapter
Sample 2 has
JsonbAdapter<Box<T>, Integer<T>>
should be
JsonbAdapter<Box<T>, Integer>

 

Agree. Roman will fix it tomorrow.


javax.json.bind.annotation.JsonbCreator
There are couple of minor grammatical errors in
"Annotation provides way how to use custom constructor or factory method to
create instance of the associated class."
I'd recommend rewriting it,
"This annotation identifies the custom constructor or factory method to use
when creating an instance of the associated class."

 

Agree. Roman will fix it tomorrow.


It seems awkward that the spec has two ways to set nillable annotatively:
@JsonbNillable
and
@JsonbProperty(nillable=true)
I understand the two have different targets:
@Target(value={ANNOTATION_TYPE,TYPE,PACKAGE})
vs
@Target(value={ANNOTATION_TYPE,METHOD,FIELD,PARAMETER})
Would it be clearer to remove nillable from @JsonbProperty and just allow
@JsonbNillable in all of the targets?

 

I agree. We will remove nilable parameter from @JsonbProperty and fix
@JsonbNilable targets.

Thanks,

Dmitry


From: Dmitry Kornilov < <mailto:dmitry.kornilov_at_oracle.com>
dmitry.kornilov_at_oracle.com>
To: < <mailto:users_at_jsonb-spec.java.net> users_at_jsonb-spec.java.net>
Date: 05/26/2016 04:12 AM
Subject: [jsonb-spec users] Public Review

  _____




Hi,
 
JSONB spec Public Review is posted!
 <https://jcp.org/en/jsr/detail?id=367> https://jcp.org/en/jsr/detail?id=367
 
Congratulations and thanks to everyone who participated in the spec
development! Great job!
 
Thanks,
Dmitry Kornilov
JSONB spec lead
@m0mus