5.0.0.32 (Oct 5, 2013)
Juno 5.0.0.32 is a moderate update.
-
New support for generating and consuming fully-compliant JSON-Schema documents.
See org.apache.juneau.dto.jsonschema
for information.
-
New methods added to {@link oaj.parser.Parser}:
org.apache.juneau.parser.Parser.parseMap(Object,int,Class,Class,Class)
org.apache.juneau.parser.Parser.parseCollection(Object,int,Class,Class)
-
{@link oaj.annotation.Bean @Bean} annotation can now be defined on interfaces and inherited by subclasses.
-
Support for customizing serialized values for
Enums
through overriding toString()
and fromString()
on the enum class.
Previously used Enum.valueOf()
to convert strings back into Enums
.
Used for JSON-Schema support to allow {@link oaj.dto.jsonschema.JsonType} enum to be serialized to lowercase per the specification (e.g. "string" instead of "STRING").
-
{@link oaj.dto.cognos Cognos} DTOs now have fluent-style bean setters.
-
Support for generic bean objects whose type was erased at compile time.
Previous behavior gave you an error message that the type could not be determined.
New behavior assumes a type of Object
when the type is erased.
-
Bug fixes:
-
When duplicate fluent-style setters were defined with different parameter types (e.g.
setFoo(Foo f)
, setFoo(Bar b)
), the {@link oaj.BeanMap} API would sometime choose the wrong setter as the bean property setter.
Now validates that the setter being chosen is the one whose return type matches the property getter.
-
Passing in
Accept
GET parameters with '+' (e.g. &Accept=text/json+simple
) wasn't working anymore.
The Accept
parameter is supposed to interpret spaces as '+' to allow you to not have to write &Accept=text/json%2Bsimple
.
-
Parsers would not set bean properties of abstract type {@link java.lang.Number}.
Now it detects the numeric type based on input and sets the value accordingly.