@Override public Query bindValue(int index, Object val) { this.query.bindValue(index, val); return this; }
@Override public Query bindValue(String var, Object val) { this.query.bindValue(var, val); return this; }
@Override public QueryParameter bindValue(String var) { return getWrappedQuery().bindValue(var); }
@Override public Query bindValue(String var, Object val) { return getWrappedQuery().bindValue(var, val); }
@Override public Query bindValue(int index, Object val) { return getWrappedQuery().bindValue(index, val); }
@Override public QueryParameter bindValue(String var) { QueryParameter parameter = this.query.bindValue(var); return new ScriptQueryParameter(this, parameter); }
/** * Execute the query. * * @param issuer the issuer name. * @param serial the serial number. * @return the query result. * @throws QueryException on query error. */ protected <T> List<T> execute(PrincipalIndentifier issuer, BigInteger serial) throws QueryException { return getQuery().bindValue(ISSUER, issuer.getName()).bindValue(SERIAL, serial.toString()).execute(); }
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; } }
private List<String> runQuery(String queryString, String input) { String formattedInput = String.format(PhenotipsFamilyExport.INPUT_FORMAT, input.toLowerCase()); // Query patients Query query = null; List<String> queryResults = null; try { query = this.qm.createQuery(queryString, Query.XWQL); query.bindValue(PhenotipsFamilyExport.INPUT_PARAMETER, formattedInput); queryResults = query.execute(); } catch (QueryException e) { this.logger.error("Error while performing patients/families query: [{}] ", e.getMessage()); return Collections.emptyList(); } return queryResults; }
/** * Retrieves and collects patient entities that correspond to the provided external ID. * * @param patientsBuilder a patient entity set builder * @param eids external patient IDs, as a list * @throws QueryException if the query fails */ private void collectPatientsFromEids(@Nonnull final ImmutableSet.Builder<PrimaryEntity> patientsBuilder, @Nonnull final List<Object> eids) throws QueryException { final Query q = this.qm.createQuery("from doc.object(PhenoTips.PatientClass) p where p.external_id in (:eids)", Query.XWQL); q.bindValue("eids", eids); final List<Object> patientIds = q.execute(); addIds(patientsBuilder, patientIds); }
protected Patient getPatientByGUID(String guid) { try { Query q = this.queryManager.createQuery("from doc.object(PhenoTips.PatientClass) as o where o.guid = :guid", Query.XWQL).bindValue("guid", guid); List<String> results = q.<String>execute(); if (results.size() == 1) { DocumentReference reference = this.stringResolver.resolve(results.get(0), Patient.DEFAULT_DATA_SPACE); return new PhenoTipsPatient((XWikiDocument) this.bridge.getDocument(reference)); } } catch (Exception ex) { this.logger.warn("Failed to get patient with GUID [{}]: [{}] {}", guid, ex.getMessage(), ex); } return null; }
protected Patient getPatientByGUID(String guid) { try { Query q = this.queryManager.createQuery("from doc.object(PhenoTips.PatientClass) as o where o.guid = :guid", Query.XWQL).bindValue("guid", guid); List<String> results = q.<String>execute(); if (results.size() == 1) { DocumentReference reference = this.stringResolver.resolve(results.get(0), Patient.DEFAULT_DATA_SPACE); return new PhenoTipsPatient((XWikiDocument) this.bridge.getDocument(reference)); } } catch (Exception ex) { this.logger.warn("Failed to get patient with GUID [{}]: [{}] {}", guid, ex.getMessage(), ex); } return null; }
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; }
/** * Execute the query. * * @param subject the subject name * @return the query result. * @throws QueryException on query error. */ protected <T> List<T> execute(PrincipalIndentifier subject) throws QueryException { return getQuery().bindValue(SUBJECT, subject.getName()).execute(); }
@Override public void deleteMessage(String id) { Query q; try { q = this.qm.createQuery("where event.id = :id", Query.XWQL); q.bindValue("id", id); List<Event> events = this.stream.searchEvents(q); if (events == null || events.isEmpty()) { throw new IllegalArgumentException("This message does not exist"); } else if (events.get(0).getUser().equals(this.bridge.getCurrentUserReference())) { this.stream.deleteEvent(events.get(0)); } else { throw new IllegalArgumentException("You are not authorized to delete this message"); } } catch (QueryException ex) { LOG.warn("Failed to delete message: {}", ex.getMessage()); } }
/** * Execute the query. * * @param keyId the subject key identifier. * @return the query result. * @throws IOException on encoding error. * @throws QueryException on query error. */ protected <T> List<T> execute(byte[] keyId) throws IOException, QueryException { return getQuery().bindValue(KEYID, getEncoder().encode(keyId)).execute(); }
@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; }
@Override public List<Event> getRecentMessagesForGroup(DocumentReference group, int limit, int offset) { List<Event> result = new ArrayList<Event>(); try { Query q = this.qm.createQuery( "where event.application = 'MessageStream' and event.type = 'groupMessage'" + " and event.stream = :group order by event.date desc", Query.XWQL); q.bindValue("group", this.serializer.serialize(group)); q.setLimit(limit > 0 ? limit : 30).setOffset(offset >= 0 ? offset : 0); result = this.stream.searchEvents(q); } catch (QueryException ex) { LOG.warn("Failed to search group messages: {}", ex.getMessage()); } return result; }
@Override public List<Event> getRecentDirectMessages(int limit, int offset) { List<Event> result = new ArrayList<Event>(); try { Query q = this.qm.createQuery( "where event.application = 'MessageStream' and event.type = 'directMessage'" + " and event.stream = :targetUser order by event.date desc", Query.XWQL); q.bindValue("targetUser", this.serializer.serialize(this.bridge.getCurrentUserReference())); q.setLimit(limit > 0 ? limit : 30).setOffset(offset >= 0 ? offset : 0); result = this.stream.searchEvents(q); } catch (QueryException ex) { LOG.warn("Failed to search direct messages: {}", ex.getMessage()); } return result; }
public List<String> getSpaceDocsName(String spaceName, XWikiContext context) throws XWikiException { try { return getStore().getQueryManager().getNamedQuery("getSpaceDocsName").bindValue("space", spaceName) .execute(); } catch (QueryException ex) { throw new XWikiException(0, 0, ex.getMessage(), ex); } }