Skip to main content

Release 5.0.0.34

Date: Nov 10, 2013

Juno 5.0.0.34 is a moderate update.

  • New support for runtime-replaced variables in REST resource properties:

    @RestResource(
    messages="nls/Messages",
    properties={
    @Property(name="label",value="$L{servletTitle}"), // Localized variable in Messages.properties
    @Property(name="javaVendor",value="$S{java.vendor}"), // System property
    @Property(name="foo",value="bar"),
    @Property(name="bar",value="baz"),
    @Property(name="v1",value="$R{foo}"), // Request variable. value="bar"
    @Property(name="v2",value="$R{$R{foo}}") // Nested request variable. value="baz"
    }
    )

    See RestServlet.createRequestVarResolver(RestRequest) for more information.

  • Eliminated @Property.type annotation which was the old way of specifying NLS variables that got resolved at runtime.

  • New methods on RestRequest:

    • RestRequest.getVarResolver()
    • RestRequest.getServletURI()
    • RestRequest.getRequestParentURI()
  • New methods on RestResponse:

    • RestResponse.sendRedirect(CharSequence)
  • New methods on RestServlet that allow easier customization by subclasses:

    • RestServlet.createConfigFactory()
    • RestServlet.createConverters()
    • RestServlet.createDefaultRequestHeaders()
    • RestServlet.createDefaultResponseHeaders()
    • RestServlet.createEncoders()
    • RestServlet.createFilters()
    • RestServlet.createGuards()
    • RestServlet.createMimetypesFileTypeMap()
    • RestServlet.createParsers()
    • RestServlet.createProperties()
    • RestServlet.createRequestProperties(ObjectMap,RestRequest)
    • RestServlet.createRequestVarResolver(RestRequest)
    • RestServlet.createSerializers()
    • RestServlet.createUrlEncodingParser()
  • Changed RestServletNls to use ResourceDescription/MethodDescription instead of RestResource/RestMethod

  • New property RestServletProperties.REST_htDocsFolder.

  • New support for serving up static documents from classpath through REST interface.

  • Exception APIs now use MessageFormat (e.g. {0}) for message variables instead of %s.

  • New @Bean.stopClass annotation for specifying stop classes for bean properties.

  • New BeanFilter.setStopClass(Class) which is the program equivalent to the annotation above.

  • New methods on ResultSetList:

    • ResultSetList.handleBlob(Blob)
    • ResultSetList.handleClob(Clob)