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 {@del 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").
- {@del 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.