Author: buildbot
Date: Fri Nov 30 16:48:12 2012
New Revision: 840210
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/jax-rs-advanced-features.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/jax-rs-advanced-features.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-advanced-features.html
(original)
+++ websites/production/cxf/content/docs/jax-rs-advanced-features.html Fri Nov
30 16:48:12 2012
@@ -124,7 +124,7 @@ Apache CXF -- JAX-RS Advanced Features
<div id="ConfluenceContent"><p><span
style="font-size:2em;font-weight:bold">JAX-RS : Advanced Features</span></p>
<div>
-<ul><li><a shape="rect" href="#JAX-RSAdvancedFeatures-JMSSupport">JMS
Support</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Endpoints">Endpoints</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Client">Client</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-FIQLsearchqueries">FIQL search
queries</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Introduction">Introduction</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-WhentouseFIQL">When to use
FIQL</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-DependenciesandConfiguration">Dependencies and
Configuration</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-WorkingwithFIQLqueries">Working with FIQL
queries</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-CapturingFIQLqueries">Capturing FIQL
queries</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Mappingofquerypropertiestobeanproperties">Mapping
of query properties to bean prop
erties</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Mappingofquerypropertiestocolumn%2Ffieldnames">Mapping
of query properties to column/field names</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SearchBean">SearchBean</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-ConvertingFIQLqueries">Converting
FIQL queries</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SQL">SQL</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-JPA2.0">JPA 2.0</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Lucene">Lucene</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Customvisitors">Custom
visitors</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Untypedconverters">Untyped
converters</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Typedconverters">Typed converters</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-Customparsing">Custom
parsing</a></li></ul></ul><li><a shape="rect" href="#JAX
-RSAdvancedFeatures-ConvertingFIQLquerieswithQueryContext">Converting FIQL
queries with QueryContext</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SearchExpressionsinURIPathsegments">Search
Expressions in URI Path segments</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Queriesinvolvingmultipleentities">Queries
involving multiple entities</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Basicqueries">Basic queries</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-Complexqueries">Complex
queries</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-BuildingFIQLqueries">Building FIQL
queries</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Usingdatesinqueries">Using dates in
queries</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Alternativequerylanguages">Alternative query
languages</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Onewayinvocations">Oneway
invocations</a></li><li><a shape="re
ct" href="#JAX-RSAdvancedFeatures-SupportforContinuations">Support for
Continuations</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Serversidecaching">Server-side
caching</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-RESTfulserviceswithoutannotations">RESTful
services without annotations</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Configuration">Configuration</a></li></ul></ul></div>
+<ul><li><a shape="rect" href="#JAX-RSAdvancedFeatures-JMSSupport">JMS
Support</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Endpoints">Endpoints</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Client">Client</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-FIQLsearchqueries">FIQL search
queries</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Introduction">Introduction</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-WhentouseFIQL">When to use
FIQL</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-DependenciesandConfiguration">Dependencies and
Configuration</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-WorkingwithFIQLqueries">Working with FIQL
queries</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-CapturingFIQLqueries">Capturing FIQL
queries</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Mappingofquerypropertiestobeanproperties">Mapping
of query properties to bean prop
erties</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Mappingofquerypropertiestocolumn%2Ffieldnames">Mapping
of query properties to column/field names</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SearchBean">SearchBean</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-ConvertingFIQLqueries">Converting
FIQL queries</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SQL">SQL</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-JPA2.0">JPA 2.0</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Lucene">Lucene</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-LDAP">LDAP</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Customvisitors">Custom
visitors</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Untypedconverters">Untyped
converters</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Typedconverters">Typed converters</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-Custompar
sing">Custom parsing</a></li></ul></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-ConvertingFIQLquerieswithQueryContext">Converting
FIQL queries with QueryContext</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SearchExpressionsinURIPathsegments">Search
Expressions in URI Path segments</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Queriesinvolvingmultipleentities">Queries
involving multiple entities</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Basicqueries">Basic queries</a></li><li><a
shape="rect" href="#JAX-RSAdvancedFeatures-Complexqueries">Complex
queries</a></li></ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-BuildingFIQLqueries">Building FIQL
queries</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Usingdatesinqueries">Using dates in
queries</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Alternativequerylanguages">Alternative query
languages</a></li></ul><li><a shape="rect" href="#JAX-RSAdvancedFe
atures-Onewayinvocations">Oneway invocations</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-SupportforContinuations">Support for
Continuations</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Serversidecaching">Server-side
caching</a></li><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-RESTfulserviceswithoutannotations">RESTful
services without annotations</a></li><ul><li><a shape="rect"
href="#JAX-RSAdvancedFeatures-Configuration">Configuration</a></li></ul></ul></div>
<h1><a shape="rect" name="JAX-RSAdvancedFeatures-JMSSupport"></a>JMS
Support</h1>
@@ -743,6 +743,42 @@ org.apache.lucene.search.Query phraseQue
<p>The current limitation is that no typed Date queries are supported yet
(except for the equality match), for example, "find all the documents issued
before a given date", to be supported shortly.</p>
+<h3><a shape="rect" name="JAX-RSAdvancedFeatures-LDAP"></a>LDAP</h3>
+
+<p>Mapping of FIQL expressions to LDAP queries as defined by <a shape="rect"
class="external-link" href="http://tools.ietf.org/html/rfc4515"
rel="nofollow">RFC-4515</a> is supported starting from CXF 2.7.1 with the help
of org.apache.cxf.jaxrs.ext.search.ldap.LdapQueryVisitor. Use this visitor when
working with LDAP or OSGI.</p>
+
+<p>Here is a summary of LDAP filter operators:</p>
+
+<div class="table-wrap">
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"> Operator </th><th colspan="1" rowspan="1"
class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "=" </td><td colspan="1" rowspan="1"
class="confluenceTd"> Equal </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "!" </td><td colspan="1" rowspan="1"
class="confluenceTd"> Not Equal </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "<=" </td><td colspan="1" rowspan="1"
class="confluenceTd"> Less Or Equal </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> ">=" </td><td colspan="1" rowspan="1"
class="confluenceTd"> Greater or Equal </td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"> "&" </td><td colspan="1" rowspan="1"
class="confluenceTd"> AND </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "|" </td><td colspan="1" rowspan="1"
class="confluenceTd"> OR </td></tr></tbody
></table>
+</div>
+
+
+<p>FIQL "=le=" and "=lt=" will both map to "<=", while "=ge=" and "=gt=" to
">=".</p>
+
+<p>For example:</p>
+
+<div class="table-wrap">
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"> FIQL </th><th colspan="1" rowspan="1"
class="confluenceTh"> LDAP </th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "name==bar*" </td><td colspan="1" rowspan="1"
class="confluenceTd"> "(name=bar*)" </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "name!=bar" </td><td colspan="1" rowspan="1"
class="confluenceTd"> "(!name=bar)" </td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"> "name!=bar;id=gt=10" </td><td colspan="1" rowspan="1"
class="confluenceTd"> "(&(!name=bar)(id>=10))" </td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"> "name!=bar;(id=gt=10,id=lt=5)"
</td><td colspan="1" rowspan="1" class="confluenceTd">
"(&(!name=bar)(|(id>=10)(id<=5)))" </td></tr></tbody></table>
+</div>
+
+
+<p>The converter is created like all other converters:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent
panelContent">
+<pre class="code-java">
+
+<span class="code-comment">// FIQL <span class="code-quote">"oclass=Bar"</span>
+</span>
+<span class="code-comment">// map 'oclass' used in the FIQL query to the
actual property name, 'objectClass'
+</span>LdapQueryVisitor<Condition> visitor =
+ <span class="code-keyword">new</span>
LdapQueryVisitor<Condition>(Collections.singletonMap(<span
class="code-quote">"oclass"</span>, <span
class="code-quote">"objectClass"</span>));
+
+filter.accept(visitor.visitor());
+<span class="code-object">String</span> ldap = visitor.getQuery();
+
+</pre>
+</div></div>
+
<h3><a shape="rect" name="JAX-RSAdvancedFeatures-Customvisitors"></a>Custom
visitors</h3>
<p>In cases when a custom conversion has to be done, a converter for doing the
untyped (example, SQL) or typed (example, JPA2 TypedQuery) conversions can be
provided. </p>