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.