Skip to main content

Release 5.0.0.32

Date: Oct 5, 2013

Juno 5.0.0.32 is a moderate update.

  • New support for generating and consuming fully-compliant JSON-Schema documents. See jsonschema for information.

  • New methods added to Parser:

    • org.apache.juneau.parser.Parser.parseMap(Object,int,Class,Class,Class)
    • org.apache.juneau.parser.Parser.parseCollection(Object,int,Class,Class)
  • @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 JsonType enum to be serialized to lowercase per the specification (e.g. "string" instead of "STRING").

  • 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 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 Number. Now it detects the numeric type based on input and sets the value accordingly.