org.xwiki.query.Query类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.7k)|赞(0)|评价(0)|浏览(126)

本文整理了Java中org.xwiki.query.Query类的一些代码示例,展示了Query类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query类的具体详情如下:
包路径:org.xwiki.query.Query
类名称:Query

Query介绍

[英]This is a Query interface, representing all queries in various languages for various stores.

Note that it was modeled after the JCR Query interface.
[中]这是一个查询接口,用各种语言表示各种商店的所有查询。
注意,它是按照JCR查询接口建模的。

代码示例

代码示例来源:origin: phenotips/phenotips

private List<String> runQuery(String queryString, String formattedInput, int resultsLimit)
{
  Query query = null;
  List<String> queryResults = null;
  try {
    query = this.qm.createQuery(queryString, Query.XWQL);
    if (resultsLimit > 0) {
      query.setLimit(resultsLimit);
      query.setOffset(0);
    }
    if (StringUtils.isNotBlank(formattedInput)) {
      query.bindValue(UsersAndGroups.INPUT_PARAMETER, formattedInput);
    }
    queryResults = query.execute();
  } catch (QueryException e) {
    this.logger.error("Error while performing query: [{}] ", queryString, e.getMessage());
    return Collections.emptyList();
  }
  return queryResults;
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-wikistream-instance-oldcore

@Override
  public List<String> getDocuments(String wiki, String space) throws WikiStreamException
  {
    try {
      Query query =
        this.queryManager
          .createQuery(
            "select distinct doc.name from Document doc where doc.space = :space order by doc.name asc",
            Query.XWQL);
      query.bindValue("space", space);
      query.setWiki(wiki);

      return query.execute();
    } catch (QueryException e) {
      throw new WikiStreamException(String.format(
        "Failed to get the list of documents in wiki [%s] and space [%s]", wiki, space), e);
    }
  }
}

代码示例来源:origin: org.phenotips/pingback-client-api

@Override
public Map<String, Object> provideData()
{
  Map<String, Object> jsonMap = new HashMap<>();
  try {
    Query q = this.qm.createQuery("from doc.object(XWiki.XWikiUsers) as user", Query.XWQL);
    q.addFilter(this.countFilter);
    long count = 0;
    for (String instanceId : this.wikiManager.getAllIds()) {
      q.setWiki(instanceId);
      List<Object> results = q.execute();
      long instanceCount = (long) results.get(0);
      count += instanceCount;
    }
    jsonMap.put(PROPERTY_USER_COUNT, count);
  } catch (QueryException | WikiManagerException e) {
    logWarning("Error getting users count", e);
  }
  return jsonMap;
}

代码示例来源:origin: com.xpn.xwiki.platform/xwiki-rest-server

private List<String> getDocumentsWithTag(String tag) throws QueryException
  {
    String query =
      "select doc.fullName from XWikiDocument as doc, BaseObject as obj, DBStringListProperty as prop "
        + "where obj.name=doc.fullName and obj.className='XWiki.TagClass' and obj.id=prop.id.id "
        + "and prop.id.name='tags' and :tag in elements(prop.list) order by doc.name asc";

    List<String> documentsWithTag = queryManager.createQuery(query, Query.HQL).bindValue("tag", tag).execute();

    return documentsWithTag;
  }
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-search-solr-api

/**
 * Fetches the next 'page' of results from the database.
 */
private void fetchNextResults()
{
  try {
    // We use basic pagination (absolute offset) because we don't expect the database to change too much while
    // the synchronization takes place. Also, the database is used as the reference store, meaning that we
    // update the Solr index to match the database, not the other way around.
    results = getQuery().setWiki(wiki).setOffset(offset).execute();
    offset += LIMIT;
  } catch (QueryException e) {
    results = Collections.emptyList();
    logger.error("Failed to query the database.", e);
  }
}

代码示例来源:origin: com.xpn.xwiki.platform.plugins/xwiki-plugin-activitystream

/**
 * {@inheritDoc}
 * 
 * @see EventStream#searchEvents(Query)
 */
public List<Event> searchEvents(Query query) throws QueryException
{
  Query q = this.qm.createQuery("select event from ActivityEventImpl event "
    + query.getStatement(), query.getLanguage());
  for (Map.Entry<String, Object> entry : query.getNamedParameters().entrySet()) {
    q.bindValue(entry.getKey(), entry.getValue());
  }
  for (Map.Entry<Integer, Object> entry : query.getPositionalParameters().entrySet()) {
    q.bindValue(entry.getKey(), entry.getValue());
  }
  List<ActivityEvent> events = q.execute();
  return convertActivitiesToEvents(events);
}

代码示例来源:origin: org.phenotips/family-studies-api

private List<String> runQuery(String queryString, String input, int resultsLimit)
{
  String formattedInput = String.format(PhenotipsFamilyExport.INPUT_FORMAT, input);
  // Query patients
  Query query = null;
  List<String> queryResults = null;
  try {
    query = this.qm.createQuery(queryString, Query.XWQL);
    query.setLimit(resultsLimit);
    query.bindValue(PhenotipsFamilyExport.INPUT_PARAMETER, formattedInput);
    queryResults = query.execute();
  } catch (QueryException e) {
    this.logger.error("Error while performing patiets query: [{}] ", e.getMessage());
    return Collections.emptyList();
  }
  return queryResults;
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-wikistream-instance-oldcore

@Override
public List<String> getSpaces(String wiki) throws WikiStreamException
{
  try {
    return this.queryManager.getNamedQuery("getSpaces").setWiki(wiki).execute();
  } catch (QueryException e) {
    throw new WikiStreamException(String.format("Failed to get the list of spaces in wiki [%s]", wiki), e);
  }
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-query-manager

@Override
public <T> List<T> execute() throws QueryException
{
  return this.query.execute();
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-query-manager

countQuery.setWiki(getWiki());
  for (Map.Entry<Integer, Object> entry : getPositionalParameters().entrySet()) {
    countQuery.bindValue(entry.getKey(), entry.getValue());
    countQuery.bindValue(entry.getKey(), entry.getValue());
    countQuery.addFilter(filter);
  countQuery.addFilter(this.componentManager.<QueryFilter>getInstance(QueryFilter.class, "count"));
  List<Long> results = countQuery.execute();
  result = results.get(0);
} catch (Exception e) {

代码示例来源:origin: org.phenotips/family-studies-api

private long getLastUsedId() throws QueryException
{
  this.logger.debug("getLastUsedId()");
  long crtMaxID = 0;
  Query q = this.qm.createQuery("select family.identifier "
    + "from     Document doc, "
    + "         doc.object(PhenoTips.FamilyClass) as family "
    + "where    family.identifier is not null "
    + "order by family.identifier desc", Query.XWQL).setLimit(1);
  List<Long> crtMaxIDList = q.execute();
  if (crtMaxIDList.size() > 0 && crtMaxIDList.get(0) != null) {
    crtMaxID = crtMaxIDList.get(0);
  }
  crtMaxID = Math.max(crtMaxID, 0);
  return crtMaxID;
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-watchlist-api

query.setOffset(start);
query.setLimit(nb);
query.bindValues(values);
  String wikiPrefix = wiki + DefaultWatchListStore.WIKI_SPACE_SEP;
  try {
    query.setWiki(wiki);
    List<String> upDocsInWiki = query.execute();

代码示例来源:origin: com.xpn.xwiki.platform/xwiki-rest-server

queryManager.getNamedQuery("getSpaces").setOffset(start).setLimit(number).execute();

代码示例来源:origin: org.xwiki.platform/xwiki-platform-messagestream-api

@Override
public List<Event> getRecentPersonalMessages(DocumentReference author, int limit, int offset)
{
  List<Event> result = new ArrayList<Event>();
  try {
    Query q = this.qm.createQuery(
      "where event.application = 'MessageStream' and event.type = 'personalMessage'"
        + " and event.user = :user order by event.date desc",
      Query.XWQL);
    q.bindValue("user", this.serializer.serialize(author));
    q.setLimit(limit > 0 ? limit : 30).setOffset(offset >= 0 ? offset : 0);
    result = this.stream.searchEvents(q);
  } catch (QueryException ex) {
    LOG.warn("Failed to search personal messages: {}", ex.getMessage());
  }
  return result;
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-query-manager

@Override
public Query bindValue(int index, Object val)
{
  this.query.bindValue(index, val);
  return this;
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-tag-api

query.bindValues(parameters);
  query.addFilter(Utils.getComponent(QueryFilter.class, UniqueDocumentFilter.HINT));
  if (!includeHiddenDocuments) {
    query.addFilter(Utils.getComponent(QueryFilter.class, HiddenDocumentFilter.HINT));
  results = query.execute();
} catch (QueryException e) {
  throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, XWikiException.ERROR_XWIKI_UNKNOWN,

代码示例来源:origin: org.xwiki.platform/xwiki-platform-search-solr-api

query = queryManager.createQuery(select + whereClause + orderBy, Query.HQL).setLimit(LIMIT);
countQuery = queryManager.createQuery(whereClause, Query.HQL).addFilter(countFilter);
  query.bindValue("space", this.localEntityReferenceSerializer.serialize(spaceReference));
  if (documentReference != null) {
    query.bindValue("name", documentReference.getName());
for (Map.Entry<String, Object> parameter : query.getNamedParameters().entrySet()) {
  countQuery.bindValue(parameter.getKey(), parameter.getValue());

代码示例来源:origin: org.xwiki.platform/xwiki-platform-tag-api

/**
 * Get all tags within the wiki.
 *
 * @param context XWiki context.
 * @return list of tags (alphabetical order).
 * @throws com.xpn.xwiki.XWikiException if search query fails (possible failures: DB access problems, etc).
 */
public static List<String> getAllTags(XWikiContext context) throws XWikiException
{
  List<String> results;
  String hql = "select distinct elements(prop.list) from XWikiDocument as doc, BaseObject as obj, "
    + "DBStringListProperty as prop where obj.name=doc.fullName and obj.className='XWiki.TagClass' and "
    + "obj.id=prop.id.id and prop.id.name='tags'";
  try {
    Query query = context.getWiki().getStore().getQueryManager().createQuery(hql, Query.HQL);
    query.addFilter(Utils.<QueryFilter> getComponent(QueryFilter.class, HiddenDocumentFilter.HINT));
    results = query.execute();
  } catch (QueryException e) {
    throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, XWikiException.ERROR_XWIKI_UNKNOWN,
      String.format("Failed to get all tags", hql), e);
  }
  Collections.sort(results, String.CASE_INSENSITIVE_ORDER);
  return results;
}

代码示例来源:origin: org.xwiki.platform/xwiki-platform-crypto-store-wiki

this.query.setWiki(wiki.getName());
  this.query.bindValue(STORE, serializer.serialize(store));

代码示例来源:origin: org.xwiki.platform/xwiki-platform-query-manager

@Override
public Query setWiki(String wiki)
{
  this.query.setWiki(wiki);
  return this;
}

相关文章