Author: buildbot
Date: Thu Mar 8 10:48:03 2012
New Revision: 807845
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/developing-assertions.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/developing-assertions.html
==============================================================================
--- websites/production/cxf/content/docs/developing-assertions.html (original)
+++ websites/production/cxf/content/docs/developing-assertions.html Thu Mar 8
10:48:03 2012
@@ -240,26 +240,39 @@ class MyPolicyAwareInterceptor {
<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
<pre class="code-java">
-<span class="code-keyword">public</span> class
AuthorizationInterceptorProvider <span class="code-keyword">extends</span>
AbstractPolicyInterceptorProvider {
+<span class="code-keyword">public</span> class MyInterceptorProvider <span
class="code-keyword">extends</span> AbstractPolicyInterceptorProvider {
<span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
<span class="code-object">long</span> serialVersionUID = -5248428637449096540L;
- <span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
AuthorizationInInterceptor IN_AUTHZ_INTERCEPTOR = <span
class="code-keyword">new</span> AuthorizationInInterceptor();
- <span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
AuthorizationInInterceptor OUT_AUTHZ_INTERCEPTOR = <span
class="code-keyword">new</span> AuthorizationOutInterceptor();
+ <span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
MyInInterceptor IN_INTERCEPTOR = <span class="code-keyword">new</span>
MyInInterceptor();
+ <span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
MyOutInterceptor OUT_INTERCEPTOR = <span class="code-keyword">new</span>
MyOutInterceptor();
+ <span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
MyOutFaultInterceptor OUT_FAULT_INTERCEPTOR = <span
class="code-keyword">new</span> MyOutFaultInterceptor();
<span class="code-keyword">private</span> <span
class="code-keyword">static</span> <span class="code-keyword">final</span>
Collection<QName> ASSERTION_TYPES;
<span class="code-keyword">static</span> {
ASSERTION_TYPES = <span class="code-keyword">new</span>
ArrayList<QName>();
- ASSERTION_TYPES.add(AuthorizationConstants.AUTHORIZATION_ASSERTION);
+ ASSERTION_TYPES.add(<span class="code-keyword">new</span> QName(<span
class="code-quote">"www.mycompany.org"</span>, <span
class="code-quote">"myassertion"</span>));
}
- <span class="code-keyword">public</span>
AuthorizationInterceptorProvider() {
+ <span class="code-keyword">public</span> MyInterceptorProvider() {
<span class="code-keyword">super</span>(ASSERTION_TYPES);
- getInInterceptors().add(IN_AUTHZ_INTERCEPTOR);
- getOutInterceptors().add(OUT_AUTHZ_INTERCEPTOR);
+ getInInterceptors().add(IN_INTERCEPTOR);
+ getOutInterceptors().add(OUT_INTERCEPTOR);
+ getOutFaultInterceptors().add(OUT_FAULT_INTERCEPTOR);
}
}
</pre>
</div></div>
+<p>Since version 2.5.2, Assertion builder and policy interceptor provider can
be registered using CXF bus extension mechanism: just create a file
META-INF/cxf/bus-extensions.txt containing the following:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
+<pre class="code-java">
+org.company.MyInterceptorProvider::<span class="code-keyword">true</span>
+org.company.MyAssertionBuilder::<span class="code-keyword">true</span>
+</pre>
+</div></div>
+<p>Boolean value at the end specifies lazy loading strategy. <br clear="none">
+CXF automatically recognizes the assertion builder and policy interceptor
provider and store them into registries: <em>AssertionBuilderRegistry</em> and
<em>PolicyInterceptorProviderRegistry</em>. <br clear="none">
+Since CXF 2.6.0 it is possible to register multiple interceptor providers for
single assertion.</p>
+
<h2><a shape="rect"
name="DevelopingAssertions-ImplementingaPolicyAwareConduit%2FDestination"></a>Implementing
a Policy-Aware Conduit/Destination</h2>
<h3><a shape="rect"
name="DevelopingAssertions-Initialisation"></a>Initialisation</h3>