Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6CB1B10D63 for ; Tue, 18 Feb 2014 17:48:58 +0000 (UTC) Received: (qmail 2554 invoked by uid 500); 18 Feb 2014 17:48:55 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 2501 invoked by uid 500); 18 Feb 2014 17:48:54 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 2485 invoked by uid 99); 18 Feb 2014 17:48:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Feb 2014 17:48:54 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Feb 2014 17:48:49 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 4844F238897A for ; Tue, 18 Feb 2014 17:48:29 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r898411 - in /websites/production/cxf/content: cache/ docs/ Date: Tue, 18 Feb 2014 17:48:28 -0000 To: commits@cxf.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140218174829.4844F238897A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: buildbot Date: Tue Feb 18 17:48:27 2014 New Revision: 898411 Log: Production update by buildbot for cxf Modified: websites/production/cxf/content/cache/docs.pageCache websites/production/cxf/content/docs/a-simple-jax-ws-service.html websites/production/cxf/content/docs/debugging-and-logging.html websites/production/cxf/content/docs/jax-rs-advanced-features.html websites/production/cxf/content/docs/jax-rs-advanced-xml.html websites/production/cxf/content/docs/jax-rs-and-jax-ws.html websites/production/cxf/content/docs/jax-rs-basics.html websites/production/cxf/content/docs/jax-rs-client-api.html websites/production/cxf/content/docs/jax-rs-cors.html websites/production/cxf/content/docs/jax-rs-data-bindings.html websites/production/cxf/content/docs/jax-rs-deployment.html websites/production/cxf/content/docs/jax-rs-failover.html websites/production/cxf/content/docs/jax-rs-filters.html websites/production/cxf/content/docs/jax-rs-maven-plugins.html websites/production/cxf/content/docs/jax-rs-multiparts.html websites/production/cxf/content/docs/jax-rs-oauth.html websites/production/cxf/content/docs/jax-rs-redirection.html websites/production/cxf/content/docs/jax-rs-saml.html websites/production/cxf/content/docs/jax-rs-search.html websites/production/cxf/content/docs/jax-rs-xml-security.html websites/production/cxf/content/docs/jax-rs.html websites/production/cxf/content/docs/jaxrs-kerberos.html websites/production/cxf/content/docs/jaxrs-services-configuration.html websites/production/cxf/content/docs/jaxrs-services-description.html websites/production/cxf/content/docs/jaxrs-testing.html websites/production/cxf/content/docs/saml-web-sso.html websites/production/cxf/content/docs/secure-jax-rs-services.html websites/production/cxf/content/docs/soap-over-jms-10-support.html Modified: websites/production/cxf/content/cache/docs.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/cxf/content/docs/a-simple-jax-ws-service.html ============================================================================== --- websites/production/cxf/content/docs/a-simple-jax-ws-service.html (original) +++ websites/production/cxf/content/docs/a-simple-jax-ws-service.html Tue Feb 18 17:48:27 2014 @@ -121,11 +121,11 @@ Apache CXF -- A simple JAX-WS service

This example will lead you through creating your first service with doing "code first" development with JAX-WS.

+/*]]>*/ Modified: websites/production/cxf/content/docs/debugging-and-logging.html ============================================================================== --- websites/production/cxf/content/docs/debugging-and-logging.html (original) +++ websites/production/cxf/content/docs/debugging-and-logging.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- Debugging and Logging
-

Debugging and Logging

+

Debugging and Logging

+/*]]>*/
  • Logging Messages
  • Debugging Tools 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 Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Advanced Features
    -

    JAX-RS : Advanced Features

    +

    JAX-RS : Advanced Features

    +/*]]>*/
    • JMS Support
    • Advanced Search
    • Oneway invocations
    • Support for Continuations
    • Server-side caching
    • RESTful services without annotations Modified: websites/production/cxf/content/docs/jax-rs-advanced-xml.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-advanced-xml.html (original) +++ websites/production/cxf/content/docs/jax-rs-advanced-xml.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Advanced XML
      -

      JAX-RS : Advanced XML

      +

      JAX-RS : Advanced XML

      +/*]]>*/
      Modified: websites/production/cxf/content/docs/jax-rs-and-jax-ws.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-and-jax-ws.html (original) +++ websites/production/cxf/content/docs/jax-rs-and-jax-ws.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS and JAX-WS
      -

      JAX-RS and JAX-WS

      +

      JAX-RS and JAX-WS

      +/*]]>*/ 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 Tue Feb 18 17:48:27 2014 @@ -118,12 +118,12 @@ Apache CXF -- JAX-RS Basics
      -
      JAX-RS : Understanding the Basics

       

      +/*]]>*/

      • What is New in JAX-RS 2.0
        • Filters Modified: websites/production/cxf/content/docs/jax-rs-client-api.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-client-api.html (original) +++ websites/production/cxf/content/docs/jax-rs-client-api.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Client API
          -

          JAX-RS : Client API

          +

          JAX-RS : Client API

          +/*]]>*/
          • Maven Dependency
          • JAX-RS 2.0 Client API
          • Proxy-based API Modified: websites/production/cxf/content/docs/jax-rs-cors.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-cors.html (original) +++ websites/production/cxf/content/docs/jax-rs-cors.html Tue Feb 18 17:48:27 2014 @@ -118,15 +118,15 @@ Apache CXF -- JAX-RS CORS
            -

            JAX-RS: CORS

            +

            JAX-RS: CORS

            +/*]]>*/ Modified: websites/production/cxf/content/docs/jax-rs-data-bindings.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-data-bindings.html (original) +++ websites/production/cxf/content/docs/jax-rs-data-bindings.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Data Bindings
            -

            JAX-RS : Data Bindings

            +

            JAX-RS : Data Bindings

            +/*]]>*/
            • JAXB support
            • JSON support Modified: websites/production/cxf/content/docs/jax-rs-deployment.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-deployment.html (original) +++ websites/production/cxf/content/docs/jax-rs-deployment.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Deployment
              -

              JAX-RS : Deployment

              +

              JAX-RS : Deployment

              +/*]]>*/
              • Servlet Containers
              • Application Servers Modified: websites/production/cxf/content/docs/jax-rs-failover.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-failover.html (original) +++ websites/production/cxf/content/docs/jax-rs-failover.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Failover
                -

                JAX-RS: Failover

                +

                JAX-RS: Failover

                +/*]]>*/
                Modified: websites/production/cxf/content/docs/jax-rs-filters.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-filters.html (original) +++ websites/production/cxf/content/docs/jax-rs-filters.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Filters
                -

                JAX-RS Filters

                +

                JAX-RS Filters

                +/*]]>*/
                • Filters
                • Overriding request and response properties Modified: websites/production/cxf/content/docs/jax-rs-maven-plugins.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-maven-plugins.html (original) +++ websites/production/cxf/content/docs/jax-rs-maven-plugins.html Tue Feb 18 17:48:27 2014 @@ -118,15 +118,15 @@ Apache CXF -- JAX-RS Maven Plugins
                  -

                  JAX-RS: Maven Plugins

                  +

                  JAX-RS: Maven Plugins

                  +/*]]>*/ @@ -181,25 +181,25 @@ package: org.examples.rest ~/work/archetypes$ tree simple simple -??? pom.xml -??? src - ??? main - ?ÊÊ ??? java - ?ÊÊ ?ÊÊ ??? org - ?ÊÊ ?ÊÊ ??? examples - ?ÊÊ ?ÊÊ ??? rest - ?ÊÊ ?ÊÊ ??? HelloWorld.java - ?ÊÊ ?ÊÊ ??? JsonBean.java - ?ÊÊ ??? webapp - ?ÊÊ ??? WEB-INF - ?ÊÊ ??? beans.xml - ?ÊÊ ??? web.xml - ??? test - ??? java - ??? org - ??? examples - ??? rest - ??? HelloWorldIT.java +├── pom.xml +└── src + ├── main + │   ├── java + │   │   └── org + │   │   └── examples + │   │   └── rest + │   │   ├── HelloWorld.java + │   │   └── JsonBean.java + │   └── webapp + │   └── WEB-INF + │   ├── beans.xml + │   └── web.xml + └── test + └── java + └── org + └── examples + └── rest + └── HelloWorldIT.java ~/work/archetypes$ cd simple Modified: websites/production/cxf/content/docs/jax-rs-multiparts.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-multiparts.html (original) +++ websites/production/cxf/content/docs/jax-rs-multiparts.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Multiparts
                  -

                  JAX-RS : Support for Multiparts

                  +

                  JAX-RS : Support for Multiparts

                  +/*]]>*/
                  • Reading attachments
                  • Writing attachments
                  • Uploading files
                  • Reading large attachments Modified: websites/production/cxf/content/docs/jax-rs-oauth.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-oauth.html (original) +++ websites/production/cxf/content/docs/jax-rs-oauth.html Tue Feb 18 17:48:27 2014 @@ -118,15 +118,15 @@ Apache CXF -- JAX-RS OAuth
                    -

                    JAX-RS: OAuth

                    +

                    JAX-RS: OAuth

                    +/*]]>*/
                    • Introduction
                    • Maven dependencies
                    • Developing OAuth 1.0 Servers
                      • RequestTokenService
                      • AuthorizationRequestService Modified: websites/production/cxf/content/docs/jax-rs-redirection.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-redirection.html (original) +++ websites/production/cxf/content/docs/jax-rs-redirection.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS Redirection
                        -

                        JAX-RS : Redirection

                        +

                        JAX-RS : Redirection

                        +/*]]>*/
                        Modified: websites/production/cxf/content/docs/jax-rs-saml.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-saml.html (original) +++ websites/production/cxf/content/docs/jax-rs-saml.html Tue Feb 18 17:48:27 2014 @@ -118,15 +118,15 @@ Apache CXF -- JAX-RS SAML
                        -

                        JAX-RS: SAML

                        +

                        JAX-RS: SAML

                        +/*]]>*/
                        Modified: websites/production/cxf/content/docs/jax-rs-search.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-search.html (original) +++ websites/production/cxf/content/docs/jax-rs-search.html Tue Feb 18 17:48:27 2014 @@ -118,25 +118,29 @@ Apache CXF -- JAX-RS Search

                        JAX-RS Search

                         

                        FIQL search queries

                        Introduction

                        CXF JAXRS (since 2.3.0) supports Feed Item Query Language(FIQL). FIQL provides for a way to express complex search expressions using an intuitive and URI friendly language.

                        For example, the following query

                        +

                        Advanced Search Queries

                        CXF supports mapping the advanced query expressions to the typed Search API with the help of query language specific parsers.   

                        Supported Query Languages

                        Feed Item Query Language

                        Feed Item Query Language(FIQL) is supported since CXF 2.3..

                        For example, the following query

                        lets users search for all the Apache projects with the name 'CXF' and the version greater or equal to '2.2'. The initial '=' separates the name of the query '_s' from the FIQL expression, while '==' and '=ge=' convey 'equals to' and 'greater or equals to' respectively.
                        An expression such as "name==CXF*" can be used to do the partial equality check (example: the name should start from "CXF").

                        More complex composite expressions can also be expressed easily enough, examples:

                        @@ -152,14 +156,14 @@ div.rbtoc1387471148351 li {margin-left: /books?date=lt=2000-01-01;date=gt=1999-01-01;(sub==math,sub==physics) ]]> -

                        Note that no "_s" or "_search" query parameter is available, the whole query string starting after "?" represents an actual FIQL expression.
                        Please use "search.use.all.query.component" contextual property for this option be supported.

                        Alternatively the expressions can be encoded as URI path segments, see the sections below for more information.

                        When to use FIQL

                        Consider a typical query expression such as "a=avalue&c=cvalue". This can mean either "find all resources with 'a' and 'c' properties equal to 'avalue' and 'cvalue'" or "find all resources with 'a' or 'c' properties equal to 'avalue' and 'cvalue'". It is application specific on whether it is "and" or "or" as far as the combination of multiple query properties is concerned.

                        It is also to capture conditional expressions with the custom language, example, "find all resource with 'a' property less than 123" when a number of properties is large or the entities which can be searched are created dynamically.

                        Use FIQL for capturing simple or medium complexity queries, typically in cases where a set of properties that a user can specify is well-known. Example, a book store resource will let users search books given a number of useful properties(those of Book and/or Library a given book is available in, etc).

                        Furthermore, consider using FIQL and SearchConditionVisitor for the purpose of generalizing the search code, when the number of properties and entities is large, dynamic, etc.

                        Dependencies and Configuration

                        The following dependency is required starting from CXF 2.6.0:

                        +

                        Note that no "_s" or "_search" query parameter is available, the whole query string starting after "?" represents an actual FIQL expression.
                        Please use "search.use.all.query.component" contextual property for this option be supported.

                        Alternatively the expressions can be encoded as URI path segments, see the sections below for more information.

                        Open Data Protocol

                        CXF 3.0.0-milestone2 supports the $filter query defined as part of Open Data Protocol, courtesy of Apache Olingo.

                        The $filter query can have a number of the logical operator s, here is a summary of the operators supported in scope of Search API:

                        Operator

                        Description

                        "eq"

                        Equal

                        "ne"

                        Not Equal

                        "lt"

                        Less Than

                        "le"

                        Less or Equal

                        "gt"

                        Greater Than< /p>

                        "ge"

                        Greater or Equal

                        "and"

                        AND

                        "or"

                        OR

                        Please note that OData protocol is not supported by CXF Search API, only the $filter query is supported for querying the application data with CXF Search API. Users should work directly with Apache Olingo to get the OData protocol supported as part of the application flow.

                        When to use advanced queries.

                        Consider a typical query expression such as "a=avalue&c=cvalue". This can mean either "find all resources with 'a' and 'c' properties equal to 'avalue' and 'cvalue'" or "find all resources with 'a' or 'c' properties equal to 'avalue' and 'cvalue'". It is application specific on whether it is "and" or "or" as far as the combination of multiple query properties is concerned.

                        It is also to capture conditional expressions with the custom language, example, "find all resource with 'a' property less than 123" when a number of properties is large or the entities which can be searched are created dynamically.

                        Use FIQL or OData for capturing simple or medium complexity queries, typically in cases where a set of properties that a user can specify is well-known. Example, a book store resource will let users search books given a number of useful properties(those of Book and/or Library a given book is available in, etc).

                        Furthermore, consider using FIQL/OData and SearchCon ditionVisitor for the purpose of generalizing the search code, when the number of properties and entities is large, dynamic, etc.

                        Dependencies and Configuration

                        The following dependency is required starting from CXF 2.6.0:

                        -

                        Additionally, in CXF 2.6.0, SearchContextProvider needs to be registered as jaxrs:provider.

                        Working with FIQL queries

                        To work with FIQL queries, a SearchContext needs be injected into an application code and used to retrieve a SearchCondition representing the current FIQL query. This SearchCondition can be used in a number of ways for finding the matching data.

                        In this section we assume that the data to be matched are already available in memory. The follow-up section on converting the queries will show how FIQL queries can be converted to some other query language typed or text expression.

                        So, suppose a list or map of Book instances is available. Here is one possible approach:

                        +

                        Additionally, in CXF 2.6.0, SearchContextProvider needs to be registered as jaxrs:provider.

                        Working with the queries

                        SearchContext needs be injected into an application code and used to retrieve a SearchCondition representing the current FIQL/OData query. This SearchCondition can be used in a number of ways for finding the matching data.

                        In this section we assume that t he data to be matched are already available in memory. The follow-up section on converting the queries will show how the queries can be converted to some other query language typed or text expression.

                        So, suppose a list or map of Book instances is available. Here is one possible approach:

                        -

                        Note that a searchContext.getCondition(Book.class) call may return an arbitrary complex SearchCondition, it can be a simple primitive
                        expression or a more complex, composite one.

                        Capturing FIQL queries

                        For the query expression to be captured, a bean like Book.class is instantiated and has all the search properties injected into it. A complex composite expression will be 'injected' into a number of Book instances - something that may have to be optimized.

                        Note that by default, a bean such as Book class needs to have a matching property per every property name found in the FIQL expression, for example, given a 'name==b;id==123' expression, the Book class would need to have 'name' and 'id' properties available. The reason for this strict mode being enabled by default is that ignoring a property which can not be captured may lead to a false or unexpected match, for example, if Book 'name' property has been renamed to 'title' then ignoring the 'name' property will lead to a wider match. Thus, if the property does not exist, org.apache.cxf.jaxrs.ext.search.PropertyNotFoundException will be thrown; capturing it can let returning an empty response or retry with the more lax mode, see the next paragraph.

                        When a more lax parsing of FIQL expressions is expected, for example, where the primitive expressions are joined by "OR", using SearchBean (see one of the next subsections) or setting a contextual property "search.lax.property.match" will help. The former option is better when you need to know the list of all the properties which have been used in the expression, even those which will not be possible to use for the actual search; the latter option will simply have the unrecognized properties ignored.

                        Mapping of query properties to bean properties

                        As noted above, when a 'typed' bean such as Book.class i s used to capture the expressions, a property found in the query expression that can not be mapped to a specific Book property will lead to an exception being reported or it can be optionally ignored. In the reality, there is a number of reasons why the direct match between properties found in query expressions and in capturing beans may not be ideal:

                        • Capturing beans may evolve independently of the actual queries; for example, a working query such as "name==b" will break if a Book 'name' gets renamed to 'title' which will make it difficult to have the queries bookmarked.
                        • Direct match will simply not work for cases where an actual bean property does not belong to the capturing bean itself but to one of its child properties; for example, a JPA2 Book entity may have an OwnerInfo bean with Name bean property which does contain a primitive 'name' property.

                        The preferred approach, when working with typed beans, is to register a bean propert ies map, using a "search.bean.property.map" contextual property or directly with SearchContext. For example, given

                        +

                        Note that a searchContext.getCondition(Book.class) call may return an arbitrary complex SearchCondition, it can be a simple primitive
                        expression or a more complex, composite one.

                        Capturing the queries

                        For the query expression to be captured, a bean like Book.class is instantiated and has all the search properties injected into it. A complex composite expression will be 'injected' into a number of Book instances - something that may have to be optimized.

                        Note that by default, a bean such as Book class needs to have a matching property per every property name found in the FIQL expression, for example, given a 'name==b;id==123' expression, the Book class would need to have 'name' and 'id' properties available. The reason for this strict mode being enabled by default is that ignoring a property which can not be captured may lead to a false or unexpected match, for example, if Book 'name' property h as been renamed to 'title' then ignoring the 'name' property will lead to a wider match. Thus, if the property does not exist, org.apache.cxf.jaxrs.ext.search.PropertyNotFoundException will be thrown; capturing it can let returning an empty response or retry with the more lax mode, see the next paragraph.

                        When a more lax parsing of FIQL expressions is expected, for example, where the primitive expressions are joined by "OR", using SearchBean (see one of the next subsections) or setting a contextual property "search.lax.property.match" will help. The former option is better when you need to know the list of all the properties which have been used in the expression, even those which will not be possible to use for the actual search; the latter option will simply have the unrecognized properties ignored.

                        Mapping of query properties to bean properties

                        As noted above, when a 'typed' bean such as Book.class is used to capture the expressions, a property found in the query expression that can not be mapped to a specific Book property will lead to an exception being reported or it can be optionally ignored. In the reality, there is a number of reasons why the direct match between properties found in query expressions and in capturing beans may not be ideal:

                        • Capturing beans may evolve independently of the actual queries; for example, a working query such as "name==b" will break if a Book 'name' gets renamed to 'title' which will make it difficult to have the queries bookmarked.
                        • Direct match will simply not work for cases where an actual bean property does not belong to the capturing bean itself but to one of its child properties; for example, a JPA2 Book entity may have an OwnerInfo bean with Name bean property which does contain a primitive 'name' property.

                        The preferred approach, when working with typed beans, is to register a bean propertie s map, using a "search.bean.property.map" contextual property or directly with SearchContext. For example, given

                        -

                        Converting FIQL queries

                        SearchCondition can also be used to convert the search requirements (originally expressed in FIQL) into other query languages.
                        A custom SearchConditionVisitor implementation can be used to convert SearchCondition objects into custom expressions or typed objects. CXF ships visitors for converting expressions to SQL, JPA 2.0 CriteriaQuery or TypedQuery, Lucene Query.

                        SQL

                        org.apache.cxf.jaxrs.ext.search.sql.SQLPrinterVisitor can be used for creating SQL expressions. For example:

                        +

                        Converting the queries

                        SearchCondition can also be used to convert the search requirements (originally expressed in FIQL) into other query languages.
                        A custom SearchConditionVisitor implementation can be used to convert SearchCondition objects into custom expressions or typed objects. CXF ships visitors for converting expressions to SQL, JPA 2.0 CriteriaQuery or TypedQuery, Lucene Query.

                        SQL

                        org.apache.cxf.jaxrs.ext.search.sql.SQLPrinterVisitor can be used for creating SQL expressions. For example:

                        -

                        Converting FIQL queries with QueryContext

                        QueryContext is the helper context available from CXF 2.7.1 which makes it simpler for the application code to
                        get the converted query expression, with the actual converter/visitor registered as the jaxrs contextual property, for example:

                        +

                        Converting the queries with QueryContext

                        QueryContext is the helper context available from CXF 2.7.1 which makes it simpler for the application code to
                        get the converted query expression, with the actual converter/visitor registered as the jaxrs contextual property, for example:

                        -

                        Note this code assumes that "bookId" is mapped to "Book.id" property with the help of the contextual "search.bean.property.map" property as explained earlier.

                        Validation

                        First option is to have a bean capturing specific property values do a domain specific validation. For example, a Book.class may have its setName(String name) method validating the name value.
                        Another option is to inject a custom validator into a visitor which is used to build the untyped or typed query.

                        Finally, avoid letting users to use properties whose values which can not be well validated in the application code. Using a typed capturing bean like Book.class offers a perfect option to limit a number of supported properties to the ones known t o be related to Books.

                        Building FIQL queries

                        CXF 2.4.0 introduces SearchConditionBuilder which makes it simpler to build FIQL queries. SearchConditionBuilder is an abstract class that returns a FIQL builder by default:

                        +

                        Note this code assumes that "bookId" is mapped to "Book.id" property with the help of the contextual "search.bean.property.map" property as explained earlier.

                        Validation

                        First option is to have a bean capturing specific property values do a domain specific validation. For example, a Book.class may have its setName(String name) method validating the name value.
                        Another option is to inject a custom validator into a visitor which is used to build the untyped or typed query.

                        Finally, avoid letting users to use properties whose values which can not be well validated in the application code. Using a typed capturing bean like Book.class offers a perfect option to limit a number of supported properties to the ones known t o be related to Books.

                        Building the queries

                        FIQL

                        CXF 2.4.0 introduces SearchConditionBuilder which makes it simpler to build FIQL queries. SearchConditionBuilder is an abstract class that returns a FIQL builder by default:

                        -

                        Using dates in queries

                        By default, the date values have to have the following format: "yyyy-MM-dd", for example:

                        +

                        OData

                         

                        Please work with Apache Olingo to produce OData queries from the code.

                        Using dates in queries

                        By default, the date values have to have the following format: "yyyy-MM-dd", for example:

                        A custom date format can be supported. Use "search.date-format" contextual property, example, "search.date-format"="yyyy-MM-dd'T'HH:mm:ss" will let users type:

                        Modified: websites/production/cxf/content/docs/jax-rs-xml-security.html ============================================================================== --- websites/production/cxf/content/docs/jax-rs-xml-security.html (original) +++ websites/production/cxf/content/docs/jax-rs-xml-security.html Tue Feb 18 17:48:27 2014 @@ -118,12 +118,12 @@ Apache CXF -- JAX-RS XML Security
                        -
                        JAX-RS: XML Security

                         

                        +/*]]>*/

                        • Introduction
                        • Maven dependencies
                        • XML Signature
                        • XML Encryption 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 Tue Feb 18 17:48:27 2014 @@ -118,15 +118,15 @@ Apache CXF -- JAX-RS
                          -

                          JAX-RS (JSR-339)

                          +

                          JAX-RS (JSR-339)

                          +/*]]>*/
                          • Introduction
                          • Project setup and configuration
                            • Migration Modified: websites/production/cxf/content/docs/jaxrs-kerberos.html ============================================================================== --- websites/production/cxf/content/docs/jaxrs-kerberos.html (original) +++ websites/production/cxf/content/docs/jaxrs-kerberos.html Tue Feb 18 17:48:27 2014 @@ -118,12 +118,12 @@ Apache CXF -- JAXRS Kerberos
                              -
                              JAX-RS Kerberos Support

                               

                              +/*]]>*/

                              • Introduction
                                • Setup Modified: websites/production/cxf/content/docs/jaxrs-services-configuration.html ============================================================================== --- websites/production/cxf/content/docs/jaxrs-services-configuration.html (original) +++ websites/production/cxf/content/docs/jaxrs-services-configuration.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAXRS Services Configurati
                                  -

                                  JAX-RS : Services Configuration

                                  +

                                  JAX-RS : Services Configuration

                                  +/*]]>*/
                                  • Configuring JAX-RS services programmatically
                                  • OSGI
                                  • Configuring JAX-RS endpoints programmatically without Spring
                                  • Configuring JAX-RS services in container with Spring configuration file. Modified: websites/production/cxf/content/docs/jaxrs-services-description.html ============================================================================== --- websites/production/cxf/content/docs/jaxrs-services-description.html (original) +++ websites/production/cxf/content/docs/jaxrs-services-description.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAXRS Services Description
                                    -

                                    JAX-RS Services Description

                                    +

                                    JAX-RS Services Description

                                    +/*]]>*/
                                    • WADL overview
                                    • WADL-first Development Modified: websites/production/cxf/content/docs/jaxrs-testing.html ============================================================================== --- websites/production/cxf/content/docs/jaxrs-testing.html (original) +++ websites/production/cxf/content/docs/jaxrs-testing.html Tue Feb 18 17:48:27 2014 @@ -118,15 +118,15 @@ Apache CXF -- JAXRS Testing
                                      -

                                      JAX-RS Testing

                                      +

                                      JAX-RS Testing

                                      +/*]]>*/ Modified: websites/production/cxf/content/docs/saml-web-sso.html ============================================================================== --- websites/production/cxf/content/docs/saml-web-sso.html (original) +++ websites/production/cxf/content/docs/saml-web-sso.html Tue Feb 18 17:48:27 2014 @@ -118,12 +118,12 @@ Apache CXF -- SAML Web SSO
                                      -
                                      JAX-RS: SAML Web SSO

                                       

                                      +/*]]>*/

                                      • Introduction
                                      • Maven dependencies
                                      • Identity Provider
                                      • Service Provider Security Filter Modified: websites/production/cxf/content/docs/secure-jax-rs-services.html ============================================================================== --- websites/production/cxf/content/docs/secure-jax-rs-services.html (original) +++ websites/production/cxf/content/docs/secure-jax-rs-services.html Tue Feb 18 17:48:27 2014 @@ -118,14 +118,14 @@ Apache CXF -- Secure JAX-RS Services
                                        -

                                        JAX-RS: Security

                                        +

                                        JAX-RS: Security

                                        +/*]]>*/
                                        • HTTPS
                                        • Authentication
                                        • Authorization
                                        • WS-Trust integration Modified: websites/production/cxf/content/docs/soap-over-jms-10-support.html ============================================================================== --- websites/production/cxf/content/docs/soap-over-jms-10-support.html (original) +++ websites/production/cxf/content/docs/soap-over-jms-10-support.html Tue Feb 18 17:48:27 2014 @@ -272,13 +272,14 @@ PERSISTENT messages will be saved to dis public final void run() { try { broker = new BrokerService(); + broker.setPersistent(false); broker.setPersistenceAdapter(new MemoryPersistenceAdapter()); broker.setTmpDataDirectory(new File("./target")); broker.setUseJmx(false); if (brokerName != null) { broker.setBrokerName(brokerName); } - broker.addConnector(brokerUrl1 + "?daemon=true"); + broker.addConnector(brokerUrl1); broker.start(); } catch (Exception e) { e.printStackTrace();