cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r887578 - in /websites/production/cxf/content: cache/docs.pageCache docs/30-migration-guide.html docs/jax-rs-basics.html docs/jax-rs.html
Date Thu, 21 Nov 2013 18:48:22 GMT
Author: buildbot
Date: Thu Nov 21 18:48:22 2013
New Revision: 887578

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/30-migration-guide.html
    websites/production/cxf/content/docs/jax-rs-basics.html
    websites/production/cxf/content/docs/jax-rs.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/cxf/content/docs/30-migration-guide.html
==============================================================================
--- websites/production/cxf/content/docs/30-migration-guide.html (original)
+++ websites/production/cxf/content/docs/30-migration-guide.html Thu Nov 21 18:48:22 2013
@@ -140,6 +140,9 @@ Apache CXF -- 3.0 Migration Guide
 <ul><li>CXF JAX-RS Form extension has been dropped, please use JAX-RS 2.0 Form.</li></ul>
 
 
+<ul><li>CXF JAX-RS ParameterHandler has been dropped, please use JAX-RS 2.0 ParamConverterProvider.</li></ul>
+
+
 <h4><a shape="rect" name="3.0MigrationGuide-JAXWS%2FSoap"></a>JAX-WS/Soap</h4>
 
 <ul><li>Add new code generator frontend to add CXF specific constructors and
methods.  (pass "-fe cxf" to wsdl2java)</li></ul>

Modified: websites/production/cxf/content/docs/jax-rs-basics.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-basics.html (original)
+++ websites/production/cxf/content/docs/jax-rs-basics.html Thu Nov 21 18:48:22 2013
@@ -133,7 +133,7 @@ Apache CXF -- JAX-RS Basics
 <div id="ConfluenceContent"><p><span style="font-size:2em;font-weight:bold">
JAX-RS : Understanding the Basics </span></p>
 
 <div>
-<ul><li><a shape="rect" href="#JAX-RSBasics-WhatisNewinJAXRS2.0">What is
New in JAX-RS 2.0</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-Filters">Filters</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-Server">Server</a></li><li><a shape="rect"
href="#JAX-RSBasics-Client">Client</a></li></ul><li><a shape="rect"
href="#JAX-RSBasics-Interceptors">Interceptors</a></li><li><a shape="rect"
href="#JAX-RSBasics-DynamicFeatures">Dynamic Features</a></li><li><a
shape="rect" href="#JAX-RSBasics-Exceptions">Exceptions</a></li><li><a
shape="rect" href="#JAX-RSBasics-Suspendedinvocations">Suspended invocations</a></li><li><a
shape="rect" href="#JAX-RSBasics-Parameterconverters">Parameter converters</a></li><li><a
shape="rect" href="#JAX-RSBasics-Beanparameters">Bean parameters</a></li><li><a
shape="rect" href="#JAX-RSBasics-Updatestothematchingalgorithm">Updates to the matching
algorithm</a></li><li><a shape="rect" href="#JAX-RSBasics-Injectionintosubresources">Injection
into subresour
 ces</a></li><li><a shape="rect" href="#JAX-RSBasics-ClientAPI">Client
API</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-AsynchronousInvocations">Asynchronous
Invocations</a></li><li><a shape="rect" href="#JAX-RSBasics-Responseinterfaceupdates">Response
interface updates</a></li></ul></ul><li><a shape="rect" href="#JAX-RSBasics-Resourceclass">Resource
class</a></li><li><a shape="rect" href="#JAX-RSBasics-@Path">@Path</a></li><li><a
shape="rect" href="#JAX-RSBasics-HTTPMethod">HTTP Method</a></li><li><a
shape="rect" href="#JAX-RSBasics-Returntypes">Return types</a></li><li><a
shape="rect" href="#JAX-RSBasics-Exceptionhandling">Exception handling</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-MappingexceptionsthrownfromCXFinterceptors">Mapping exceptions
thrown from CXF interceptors</a></li><li><a shape="rect" href="#JAX-RSBasics-CustomizingdefaultWebApplicationExceptionmapper">Customizing
default WebApplicationException mapper</a></li></ul><li><a shape="rect"
href="#JAX-RSB
 asics-DealingwithParameters">Dealing with Parameters</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-Parameterbeans">Parameter beans</a></li></ul><li><a
shape="rect" href="#JAX-RSBasics-Resourcelifecycles">Resource lifecycles</a></li><li><a
shape="rect" href="#JAX-RSBasics-Overviewoftheselectionalgorithm.">Overview of the selection
algorithm.</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-Selectingbetweenmultipleresourceclasses">Selecting
between multiple resource classes</a></li><li><a shape="rect" href="#JAX-RSBasics-Selectingbetweenmultipleresourcemethods">Selecting
between multiple resource methods</a></li><li><a shape="rect" href="#JAX-RSBasics-Resourcemethodsandmediatypes">Resource
methods and media types</a></li><li><a shape="rect" href="#JAX-RSBasics-Customselectionbetweenmultipleresources">Custom
selection between multiple resources</a></li></ul><li><a shape="rect"
href="#JAX-RSBasics-Contextannotations">Context annotations</a></li><ul><li><a
shape="rect" href="#JA
 X-RSBasics-CustomContexts">Custom Contexts</a></li></ul><li><a
shape="rect" href="#JAX-RSBasics-URIcalculationusingUriInfoandUriBuilder">URI calculation
using UriInfo and UriBuilder</a></li><li><a shape="rect" href="#JAX-RSBasics-Annotationinheritance">Annotation
inheritance</a></li><li><a shape="rect" href="#JAX-RSBasics-Subresourcelocators.">Sub-resource
locators.</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-Staticresolutionofsubresources">Static
resolution of subresources</a></li></ul><li><a shape="rect" href="#JAX-RSBasics-MessageBodyProviders">Message
Body Providers</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-CustomMessageBodyProviders">Custom
Message Body Providers</a></li><li><a shape="rect" href="#JAX-RSBasics-Registeringcustomproviders">Registering
custom providers</a></li></ul><li><a shape="rect" href="#JAX-RSBasics-Customizingmediatypesformessagebodyproviders">Customizing
media types for message body providers</a></li><li><a shape="rect" href="#JAX-RSBasics
 -AdvancedHTTP">Advanced HTTP</a></li></ul></div>
+<ul><li><a shape="rect" href="#JAX-RSBasics-WhatisNewinJAXRS2.0">What is
New in JAX-RS 2.0</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-Filters">Filters</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-Server">Server</a></li><li><a shape="rect"
href="#JAX-RSBasics-Client">Client</a></li></ul><li><a shape="rect"
href="#JAX-RSBasics-Interceptors">Interceptors</a></li><li><a shape="rect"
href="#JAX-RSBasics-DynamicFeatures">Dynamic Features</a></li><li><a
shape="rect" href="#JAX-RSBasics-Exceptions">Exceptions</a></li><li><a
shape="rect" href="#JAX-RSBasics-Suspendedinvocations">Suspended invocations</a></li><li><a
shape="rect" href="#JAX-RSBasics-Parameterconverters">Parameter converters</a></li><li><a
shape="rect" href="#JAX-RSBasics-Beanparameters">Bean parameters</a></li><li><a
shape="rect" href="#JAX-RSBasics-ResourceInfo">ResourceInfo</a></li><li><a
shape="rect" href="#JAX-RSBasics-Injectionintosubresources">Injection into subresources</a></li><li><a
shape="rect" href="
 #JAX-RSBasics-Updatestothematchingalgorithm">Updates to the matching algorithm</a></li><li><a
shape="rect" href="#JAX-RSBasics-ClientAPI">Client API</a></li></ul><li><a
shape="rect" href="#JAX-RSBasics-Resourceclass">Resource class</a></li><li><a
shape="rect" href="#JAX-RSBasics-@Path">@Path</a></li><li><a shape="rect"
href="#JAX-RSBasics-HTTPMethod">HTTP Method</a></li><li><a shape="rect"
href="#JAX-RSBasics-Returntypes">Return types</a></li><li><a shape="rect"
href="#JAX-RSBasics-Exceptionhandling">Exception handling</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-MappingexceptionsthrownfromCXFinterceptors">Mapping exceptions
thrown from CXF interceptors</a></li><li><a shape="rect" href="#JAX-RSBasics-CustomizingdefaultWebApplicationExceptionmapper">Customizing
default WebApplicationException mapper</a></li></ul><li><a shape="rect"
href="#JAX-RSBasics-DealingwithParameters">Dealing with Parameters</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-Parameterbeans">Parameter be
 ans</a></li></ul><li><a shape="rect" href="#JAX-RSBasics-Resourcelifecycles">Resource
lifecycles</a></li><li><a shape="rect" href="#JAX-RSBasics-Overviewoftheselectionalgorithm.">Overview
of the selection algorithm.</a></li><ul><li><a shape="rect" href="#JAX-RSBasics-Selectingbetweenmultipleresourceclasses">Selecting
between multiple resource classes</a></li><li><a shape="rect" href="#JAX-RSBasics-Selectingbetweenmultipleresourcemethods">Selecting
between multiple resource methods</a></li><li><a shape="rect" href="#JAX-RSBasics-Resourcemethodsandmediatypes">Resource
methods and media types</a></li><li><a shape="rect" href="#JAX-RSBasics-Customselectionbetweenmultipleresources">Custom
selection between multiple resources</a></li></ul><li><a shape="rect"
href="#JAX-RSBasics-Contextannotations">Context annotations</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-CustomContexts">Custom Contexts</a></li></ul><li><a
shape="rect" href="#JAX-RSBasics-URIcalculationusingUriInfoandUriBuild
 er">URI calculation using UriInfo and UriBuilder</a></li><li><a shape="rect"
href="#JAX-RSBasics-Annotationinheritance">Annotation inheritance</a></li><li><a
shape="rect" href="#JAX-RSBasics-Subresourcelocators.">Sub-resource locators.</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-Staticresolutionofsubresources">Static resolution of subresources</a></li></ul><li><a
shape="rect" href="#JAX-RSBasics-MessageBodyProviders">Message Body Providers</a></li><ul><li><a
shape="rect" href="#JAX-RSBasics-CustomMessageBodyProviders">Custom Message Body Providers</a></li><li><a
shape="rect" href="#JAX-RSBasics-Registeringcustomproviders">Registering custom providers</a></li></ul><li><a
shape="rect" href="#JAX-RSBasics-Customizingmediatypesformessagebodyproviders">Customizing
media types for message body providers</a></li><li><a shape="rect" href="#JAX-RSBasics-AdvancedHTTP">Advanced
HTTP</a></li></ul></div>
 
 <h1><a shape="rect" name="JAX-RSBasics-WhatisNewinJAXRS2.0"></a>What is
New in JAX-RS 2.0</h1>
 
@@ -197,14 +197,50 @@ Apache CXF -- JAX-RS Basics
 
 <h2><a shape="rect" name="JAX-RSBasics-Parameterconverters"></a>Parameter
converters</h2>
 
-<p><a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/ParamConverterProvider.html"
rel="nofollow">ParamConverterProvider</a> can be used to manage the conversion of
custom Objects to String and vice versa on the server and client sides, when processing JAX-RS
parameters representing URI parts or headers and when a default conversion mechanism does
not work. For example, java.util.Date constructor accepting a String may have to be replaced
a custom ParamConverter.  </p>
+<p><a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/ParamConverterProvider.html"
rel="nofollow">ParamConverterProvider</a> can be used to manage the conversion of
custom Objects to String and vice versa on the server and client sides, when processing JAX-RS
parameters representing URI parts or headers or form elements and when a default conversion
mechanism does not work. For example, java.util.Date constructor accepting a String may have
to be replaced a custom ParamConverter.  </p>
 
 <h2><a shape="rect" name="JAX-RSBasics-Beanparameters"></a>Bean parameters</h2>
-<h2><a shape="rect" name="JAX-RSBasics-Updatestothematchingalgorithm"></a>Updates
to the matching algorithm</h2>
+
+<p><a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/BeanParam.html"
rel="nofollow">BeanParam</a> can be used to get JAX-RS parameters representing URI
parts or headers or form elements and also contexts injected into a single bean container.
</p>
+
+<p>Note the CXF extension supporting the injection of all the parameters of specific
JAX-RS type (example, QueryParam("") MyBean) is different, it only allows to get all the query
parameters injected, but it also does not require that bean properties are annotated with
QueryParam/etc annotations.</p>
+
+<h2><a shape="rect" name="JAX-RSBasics-ResourceInfo"></a>ResourceInfo</h2>
+
+<p><a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ResourceInfo.html"
rel="nofollow">ResourceInfo</a> is a new JAX-RS context which can be injected into
filters and interceptors and checked which resource class and method are about to be invoked.</p>
+
 <h2><a shape="rect" name="JAX-RSBasics-Injectionintosubresources"></a>Injection
into subresources</h2>
+
+<p>Subresources can get JAX-RS contexts injected directly into their fields with the
help of <a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/ResourceContext.html"
rel="nofollow">ResourceContext</a>. </p>
+
+<p>When possible, having a parent resource injecting the contexts into a given subresource
instance via a setter or constructor can offer a much simpler alternative.</p>
+
+<h2><a shape="rect" name="JAX-RSBasics-Updatestothematchingalgorithm"></a>Updates
to the matching algorithm</h2>
+
+<p>JAX-RS 2.0 supports a proper resource method selection in cases where multiple root
resource classes have the same Path value, for example:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+@Path("/")
+public class Root1 {
+   @Path("/1")
+   @GET 
+   public Response get() {...}
+}
+
+@Path("/")
+public class Root2 {
+   @Path("/2")
+   @GET 
+   public Response get() {...}
+}
+]]></script>
+</div></div>
+
+<p>In JAX-RS 1.1 a request with URI such as "/1" is not guaranteed to be matched and
in CXF 2.7.x or earlier the use of CXF specific ResourceComparator is required to ensure Root1
and its get() method gets selected. In CXF 3.0.0 Root1 get() will always be correctly selected.
Note ResourceComparator may still be of help in some cases even in CXF 3.0.0. </p>
+
 <h2><a shape="rect" name="JAX-RSBasics-ClientAPI"></a>Client API</h2>
-<h3><a shape="rect" name="JAX-RSBasics-AsynchronousInvocations"></a>Asynchronous
Invocations</h3>
-<h3><a shape="rect" name="JAX-RSBasics-Responseinterfaceupdates"></a>Response
interface updates</h3>
+<p>JAX-RS 2.0 Client API has been completely implemented in CXF 3.0.0, please see the
<a shape="rect" href="http://cxf.apache.org/docs/jax-rs-client-api.html#JAX-RSClientAPI-JAXRS2.0ClientAPI">Client
API page</a> for more information.</p>
 
 <h1><a shape="rect" name="JAX-RSBasics-Resourceclass"></a>Resource class</h1>
 

Modified: websites/production/cxf/content/docs/jax-rs.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs.html (original)
+++ websites/production/cxf/content/docs/jax-rs.html Thu Nov 21 18:48:22 2013
@@ -175,7 +175,9 @@ in CXF 3.0.0. Here are more details on t
 
 <p>2. CXF org.apache.cxf.jaxrs.ext.form.Form has been dropped, please use JAX-RS 2.0
<a shape="rect" class="external-link" href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/Form.html"
rel="nofollow">Form</a> instead. </p>
 
-<p>3. JAX-RS 2.0 introduces a controversial requirement that the default built-in JAX-RS
MessageBodyWriter and JAX-RS MessageBodyReader providers are <b>preferred</b>
to custom providers supporting the same types unless the custom providers are precisely typed,
for example, if you have a custom InputStream reader properly implementing isReadable:</p>
+<p>3. CXF ParameterHandler has been dropped. Please use <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/ParamConverterProvider.html"
rel="nofollow">ParameterConverterProvider</a> instead, it can be used both on the
server and client sides.</p>
+
+<p>4. JAX-RS 2.0 introduces a controversial requirement that the default built-in JAX-RS
MessageBodyWriter and JAX-RS MessageBodyReader providers are <b>preferred</b>
to custom providers supporting the same types unless the custom providers are precisely typed,
for example, if you have a custom InputStream reader properly implementing isReadable:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
@@ -212,7 +214,7 @@ public void upload(@Multipart InputStrea
 ]]></script>
 </div></div>  
 
-<p>4. If the custom code throws JAX-RS WebApplicationException with Response containing
a non-null entity then custom WebApplicationException mappers will be bypassed - another problematic
requirement, for example, the custom mappers doing the logging will miss on such exceptions.<br
clear="none">
+<p>5. If the custom code throws JAX-RS WebApplicationException with Response containing
a non-null entity then custom WebApplicationException mappers will be bypassed - another problematic
requirement, for example, the custom mappers doing the logging will miss on such exceptions.<br
clear="none">
 Set CXF "support.wae.spec.optimization" property to false to disable it.  </p>
 
 <h3><a shape="rect" name="JAX-RS-FromCXF2.6.xtoCXF2.7.x"></a>From CXF 2.6.x
to CXF 2.7.x</h3>



Mime
View raw message