cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r840210 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs-advanced-features.html
Date Fri, 30 Nov 2012 16:48:13 GMT
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"> "&lt;=" </td><td colspan="1" rowspan="1" class="confluenceTd">
Less Or Equal </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
"&gt;=" </td><td colspan="1" rowspan="1" class="confluenceTd"> Greater or
Equal </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
"&amp;" </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 "&lt;=", while "=ge=" and "=gt=" to
"&gt;=".</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"> "(&amp;(!name=bar)(id&gt;=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"> "(&amp;(!name=bar)(|(id&gt;=10)(id&lt;=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&lt;Condition&gt; visitor = 
+   <span class="code-keyword">new</span> LdapQueryVisitor&lt;Condition&gt;(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>



Mime
View raw message