blob: be9aaf78f705901f651c29afaae3569b161a6b07 [file] [log] [blame]
<!--
/***************************************************************************************************************************
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
***************************************************************************************************************************/
-->
5.1.0.10 (Dec 23, 2014)
<p>
Juno 5.1.0.10 is a moderate update.
</p>
<h5 class='topic w800'>Core</h5>
<ul class='spaced-list'>
<li>Major changes to URL-Encoded serializer and parser.
<ul>
<li>Logic for serializing and parsing URL-Encoded key-value pairs moved to {@link oaj.urlencoding.UrlEncodingSerializer} and {@link oaj.urlencoding.UrlEncodingParser} classes.
<li>Logic for serializing and parsing URL-Encoded values moved to new {@link oaj.uon.UonSerializer} and {@link oaj.uon.UonParser} classes.
</ul>
</li>
<li>Fix bug where <c>BeanRuntimeExceptions</c> weren't being thrown on subsequent calls to {@link oaj.BeanContext#getClassMeta(Class)}.
<li>Moved logic for <c>BeanContext.getPrimitiveDefault(Class)</c> to new {@link oaj.ClassMeta#getPrimitiveDefault()} method for performance reasons.
<li>Fixed bug in <dc>BeanContext.addTransforms(Class[])</dc> that would cause filter order to get messed up.
<li>{@link oaj.ClassMeta#newInstance()} can now create array instances.
<li>Fixed indentation bugs in {@link oaj.html.HtmlSerializer}.
<li>Fixed issue in {@link oaj.html.HtmlSerializer} where newlines were not being converted into line breaks.
<li>New {@link oaj.serializer.WriterSerializer#toString(Object)} method that's identical to the serialize method but throws <c>RuntimeExceptions</c> to make the serializer easier to use for debugging.
</ul>
<h5 class='topic w800'>Server</h5>
<ul class='spaced-list'>
<li>Fixed major issue that prevented parsing URL-Encoded form posts into POJOs.
Calling <dc>HttpServlet.getParameter(String)</dc> was forcing the underlying servlet code to process the HTTP body itself, preventing the <c>UrlEncodingSerializer</c>
class from being able to parse the content. Updated code no longer inadvertantly calls this method.
<li>New <dc>RestRequest.getQueryParameter(String)</dc>, <dc>RestRequest.hasQueryParameter(String)</dc>, and <dc>RestRequest.hasAnyQueryParameters(String[])</dc>
methods that only look for parameters in the URL query string to prevent loading and parsing of URL-Encoded form posts.
<li>New <dc>@QParam</dc> and <dc>@HasQParam</dc> annotations for accessing query parameters from the URL query string.
<li><c>&amp;plainText</c> parameter can now specify a false value.
<li>Removed properties parameters from <dc>RestServlet.onPreCall(RestRequest)</dc> and <dc>RestServlet#onPostCall(RestRequest,RestResponse)</dc> methods
since the properties are already accessible through <c>RestRequest.getProperties()</c>.
<li>Added {@link oaj.uon.UonSerializer} and {@link oaj.uon.UonParser} to serializer and parser lists on
{@link oajr.BasicRestServlet} and <dc>RestServletJenaDefault</dc>.
</ul>
<h5 class='topic w800'>Client</h5>
<ul class='spaced-list'>
<li>Moved to Apache HttpClient 4.3 to match Jazz 6.0.
<li>Renamed <c>RestResponseEntity</c> to {@link oajrc.RestRequestEntity}.
<li>Improved performance on URL-Encoded form posts by serializing directly to output stream instead of serialized to string first.
<li>New methods on {@link oajrc.RestClient} class that makes it easier to associate serializer and parser attributes with registered serializer and parser:
<ul>
<li><dc>RestClient#setProperty(String,Object)</dc>
<li><dc>RestClient#setProperties(ObjectMap)</dc>
<li><dc>RestClient#addNotBeanClasses(Class[])</dc>
<li><dc>RestClient.addTransforms(Class[])</dc>
<li><dc>RestClient#addImplClass(Class,Class)</dc>
</ul>
<li>Renamed <c>RestClient.shutdown()</c> to {@link oajrc.RestClient#close()} to mirror change in Apache API.
</ul>
<h5 class='topic w800'>Samples</h5>
<ul class='spaced-list'>
<li>New <c>CodeFormatterResource</c> for quickly formatting Java and XML code samples in Javadocs.
<li>New <c>UrlEncodedFormResource</c> for showing how to work with URL-Encoded form posts.
</ul>