Hi

I'm +1 to change setFilter by addFilter right away and have a fitler
to distinct on document names.

About having filters by default in QueryManagerScriptService ; why not
do it right away ?

Jerome

On Mon, Apr 16, 2012 at 8:10 PM, Jean-Vincent Drean <[email protected]> wrote:
> Hi devs,
>
> while replacing calls to xwiki#searchDocuments by calls to the query
> manager script service I ran into the following query manager issue:
> http://jira.xwiki.org/browse/XWIKI-7273 (XWQL short form queries
> should distinct on document fullname.)
>
> I think we could use the recent QueryFilter mechanism to handle the
> addition of the "distinct" in the select statement.
> https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-query/xwiki-platform-query-manager/src/main/java/org/xwiki/query/QueryFilter.java
>
> QueryFilters allow to:
> - transform queries depending on a dynamic parameter (for example the
> user preferences in HiddenDocumentFilter)
> - transform the select part of a short query, without requiring
> programming rights
>
> Here's an example of what it could look like from a velocity script:
> ----------------------------------------------------8<----------------------------------------------------
> #set($query = 
> $services.query.xwql("").addFilter("unique").addFilter("hidden"))
> ----------------------------------------------------8<----------------------------------------------------
> Note that in the future we could decide that the Query wrapper we use
> in the QueryManagerScriptService (ScriptQuery) have the "unique"
> filter by default + a way to remove it from the script.
>
> I wasn't expecting us to consider using multiple filters when I added
> the new APIs in Query (4.0RC1).
> If we agree that a QueryFilter would be a nice way to handle this, I'd
> like to break those API before we release 4.0:
> ----------------------------------------------------8<----------------------------------------------------
> -    Query setFilter(QueryFilter filter);
> +    Query addFilter(QueryFilter filter);
> -    QueryFilter getFilter();
> +    List<QueryFilter> getFilters();
> ----------------------------------------------------8<----------------------------------------------------
>
> WDYT ?
> JV.
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs


-- 
Jérôme Velociter
Winesquare
http://www.winesquare.net/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to