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
RestServletthat 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 useResourceDescription/MethodDescription
instead ofRestResource/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)