blob: 8f0c0c2b679c1a6adaeea1e112d8b8327d1d8c12 [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 <code>BeanRuntimeExceptions</code> weren't being thrown on subsequent calls to {@link oaj.BeanContext#getClassMeta(Class)}.
<li>Moved logic for <code>BeanContext.getPrimitiveDefault(Class)</code> to new {@link oaj.ClassMeta#getPrimitiveDefault()} method for performance reasons.
<li>Fixed bug in <code><del>BeanContext.addTransforms(Class[])</del></code> 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 <code>RuntimeExceptions</code> 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 <code><del>HttpServlet.getParameter(String)</del></code> was forcing the underlying servlet code to process the HTTP body itself, preventing the <code>UrlEncodingSerializer</code>
class from being able to parse the content. Updated code no longer inadvertantly calls this method.
<li>New <code><del>RestRequest.getQueryParameter(String)</del></code>, <code><del>RestRequest.hasQueryParameter(String)</del></code>, and <code><del>RestRequest.hasAnyQueryParameters(String[])</del></code>
methods that only look for parameters in the URL query string to prevent loading and parsing of URL-Encoded form posts.
<li>New <code><del>@QParam</del></code> and <code><del>@HasQParam</del></code> annotations for accessing query parameters from the URL query string.
<li><code>&amp;plainText</code> parameter can now specify a false value.
<li>Removed properties parameters from <code><del>RestServlet.onPreCall(RestRequest)</del></code> and <code><del>RestServlet#onPostCall(RestRequest,RestResponse)</del></code> methods
since the properties are already accessible through <code>RestRequest.getProperties()</code>.
<li>Added {@link oaj.uon.UonSerializer} and {@link oaj.uon.UonParser} to serializer and parser lists on
{@link oajr.BasicRestServlet} and <code><del>RestServletJenaDefault</del></code>.
</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 <code>RestResponseEntity</code> 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><code><del>RestClient#setProperty(String,Object)</del></code>
<li><code><del>RestClient#setProperties(ObjectMap)</del></code>
<li><code><del>RestClient#addNotBeanClasses(Class[])</del></code>
<li><code><del>RestClient.addTransforms(Class[])</del></code>
<li><code><del>RestClient#addImplClass(Class,Class)</del></code>
</ul>
<li>Renamed <code>RestClient.shutdown()</code> to {@link oajrc.RestClient#close()} to mirror change in Apache API.
</ul>
<h5 class='topic w800'>Samples</h5>
<ul class='spaced-list'>
<li>New <code>CodeFormatterResource</code> for quickly formatting Java and XML code samples in Javadocs.
<li>New <code>UrlEncodedFormResource</code> for showing how to work with URL-Encoded form posts.
</ul>