On 20 May 2016, at 16:45, Mark Sack
<mark.sack(a)secti.al.gov.br> wrote:
 In our Xwiki, I've added some fields such as birthday (of type Date) to the
 user profile. I'd like to implement a REST call that retrieves all of the
 non-hidden users with birthdays in a specific month (typically the current
 month) and some specific attribute values. Right now the values I want are
 the first name, last name, birthday and the link to the avatar image file. I
 have bits and pieces of the solution but am having trouble with some parts -
 specifically how to put it together into a single REST call.
 PROBLEM 1: I can create a page with a script like the following to filter
 some users and display their names.
 {{velocity}}
 #set ($tags=$services.query.xwql("select obj.first_name from Document doc,
 doc.object(XWiki.XWikiUsers) as obj where (obj.first_name LIKE '%a%' and
 (doc.hidden <> true OR doc.hidden is null))").execute())
 $tags
 {{/velocity}}
 But if I try to execute that query in a REST call like the following, the
 result is different
.../rest/wikis/query?q=select+obj.first_name+from+Document+doc%2C+doc.object%28XWiki.XWikiUsers%29+as+obj+where+%28obj.first_name+LIKE+%27%25a%25%27+and+%28doc.hidden+%3C%3E+true+OR+doc.hidden+is+null%29%29&type=xwql
 The REST call returns some data completely unrelated to the users:
 <searchResults
template="http://...rest?q={solrquery}(&number={number})(&start={start})(&orderField={fieldname}(&order={asc|desc}))(&distinct=1)(&prettyNames={false|true})(&wikis={wikis})(&className={classname})"><searchResult><link
 href="http://...rest/wikis/xwiki/spaces/XWiki/pages/DocumentTreeMacros"
rel="http://www.xwiki.org/rel/page"/><type>page</type…
 href="http://...rest/wikis/xwiki/spaces/XWiki/pages/DocumentTree"
rel="http://www.xwiki.org/rel/page"/><type>page</type…
 href="http://...rest/wikis/xwiki/spaces/Panels/pages/DocumentInformation"
rel="http://www.xwiki.org/rel/page"/><type>page</type…
 PROBLEM 2: If I try to implement a query that retrieves multiple fields from
 the user profile like the following:
 {{velocity}}
 #set ($tags=$services.query.xwql("select obj.first_name, obj.last_name,
 obj.birthday from Document doc, doc.object(XWiki.XWikiUsers) as obj where
 (obj.first_name LIKE '%a%' and (doc.hidden <> true OR doc.hidden is
 null))").execute())
 $tags
 {{/velocity}}
 the data displayed in the xwiki page looks like the following instead the
 actual attribute values:
 [[Ljava.lang.Object;@723f4d95, [Ljava.lang.Object;@4054e1bb,
 [Ljava.lang.Object;@436c8d04, [Ljava.lang.Object;@5c93ddc1,
 [Ljava.lang.Object;@54c86023, [Ljava.lang.Object;@33760a38,
 [Ljava.lang.Object;@14d5b5ff, [Ljava.lang.Object;@566a1f71,
 [Ljava.lang.Object;@41b4b4e7, [Ljava.lang.Object;@42904123,
 [Ljava.lang.Object;@7b536ec3, [Ljava.lang.Object;@7d44674f,
 [Ljava.lang.Object;@1933e78c, [Ljava.lang.Object;@59ea34d0,
 [Ljava.lang.Object;@392f7c58, [Ljava.lang.Object;@678f1a2d,
 [Ljava.lang.Object;@61868ed7, [Ljava.lang.Object;@69426a83,
 [Ljava.lang.Object;@2bcd164f, [Ljava.lang.Object;@340c3f69,
 [Ljava.lang.Object;@6129ef09, [Ljava.lang.Object;@1b4587dd,
 [Ljava.lang.Object;@58799594, [Ljava.lang.Object;@d5b1e85,
 [Ljava.lang.Object;@2324f980, [Ljava.lang.Object;@1468f956,
 [Ljava.lang.Object;@290b7a] 
You get a list Object[] each Object corresponding to a column of your select.
For ex Object[0] is the “obj.first_name”, etc.
Thanks
-Vincent
 Regards
 Mark Sack
 View this message in context:
http://xwiki.475771.n2.nabble.com/REST-query-to-fetch-filtered-list-of-user…
 Sent from the XWiki- Users mailing list archive at 
Nabble.com.