public FieldEnd<? extends CriteriaContainerImpl> criteria( String field) { return mq.criteria(field); }
public <T extends Model> FieldEnd<? extends CriteriaContainerImpl> criteria( String field) { return q_.criteria(field); }
@Override public List<Building> findByNameStartingWith(String name) { final Query<BuildingDocument> query = datastore.createQuery(BuildingDocument.class); query.criteria("name").startsWith(name); return query.asList().stream().map(this::toDomain).collect(toList()); }
private <T> Query<T> prepareQuery(Object criteria, Datastore dataStore) { Query<T> query = (Query<T>) dataStore.createQuery(criteria.getClass()); List<Field> fields = this.getAllModelFields(criteria.getClass()); for (Field field : fields) { field.setAccessible(true); Object value = null; try { value = field.get(criteria); } catch (IllegalArgumentException | IllegalAccessException e) { log.error(e.getMessage(), e); } if (value != null) { query.criteria(field.getName()).equal(value); } } return query; }
private <T> Query<T> prepareQuery(Object criteria, Datastore dataStore) { Query<T> query = (Query<T>) dataStore.createQuery(criteria.getClass()); List<Field> fields = this.getAllModelFields(criteria.getClass()); for (Field field : fields) { field.setAccessible(true); Object value = null; try { value = field.get(criteria); } catch (IllegalArgumentException | IllegalAccessException ignored) {} if (value != null) { query.criteria(field.getName()).equal(value); } } return query; }
@Override public Long count(List<String> searchFields, String keywords, String where) { Query<?> q = ds().createQuery(clazz); if (keywords != null && !keywords.equals("")) { List<Criteria> cl = new ArrayList<Criteria>(); String[] sa = keywords.split("[\\W]+"); for (String f : fillSearchFieldsIfEmpty_(searchFields)) { for (String s : sa) { cl.add(q.criteria(f).containsIgnoreCase(keywords)); } } q.or(cl.toArray(new Criteria[]{})); } processWhere(q, where); return q.countAll(); }
private Query<DynamicBuild> filterBranch(final Query<DynamicBuild> query) { final String branch = getBranch(); if ("All".equals(branch)) { return query; } if ("Mine".equals(branch)) { query.or( query.criteria("actions.causes.user").equal(Jenkins.getAuthentication().getName()), query.criteria("actions.causes.pusher").equal(Jenkins.getAuthentication().getName()) ); return query; } return getDynamicBuildRepository().filterExpression(branch, query); }
@Override public List<play.db.Model> fetch(int offset, int size, String orderBy, String order, List<String> searchFields, String keywords, String where) { if (orderBy == null) orderBy = keyName(); if ("DESC".equalsIgnoreCase(order)) orderBy = null == orderBy ? null : "-" + orderBy; Query<? extends Model> q = ds().createQuery(clazz).offset(offset) .limit(size); if (null != orderBy) q = q.order(orderBy); if (keywords != null && !keywords.equals("")) { List<Criteria> cl = new ArrayList<Criteria>(); String[] sa = keywords.split("[\\W]+"); for (String f : fillSearchFieldsIfEmpty_(searchFields)) { List<Criteria> cl0 = new ArrayList<Criteria>(); for (String s : sa) { cl0.add(q.criteria(f).containsIgnoreCase(s)); } cl.add(q.and(cl0.toArray(new Criteria[]{}))); } q.or(cl.toArray(new Criteria[]{})); } processWhere(q, where); List<play.db.Model> l = new ArrayList<play.db.Model>(); l.addAll(q.asList()); return l; }
private Query<DynamicBuild> getDynamicBuildsForUser(final String user, final int numberOfBuilds) { final Query<DynamicBuild> query = getDatastore().createQuery(DynamicBuild.class) .limit(numberOfBuilds) .disableValidation() .order("-timestamp") .field("className").equal("com.groupon.jenkins.dynamic.build.DynamicBuild"); query.or( query.criteria("actions.causes.user").equal(user), query.criteria("actions.causes.pusher").equal(user) ); return query; }
private Query<RoleAssignment> withUserOrAnyUserAndTarget(Subject subject, Resource resource) { String userName = toUserName(subject); String projectId = toProjectId(resource); Query<RoleAssignment> query = datastore.createQuery(RoleAssignment.class) .field(PROJECT_ID).equal(projectId); if (!subject.isGuest()) { query.or( query.criteria(USER_NAME).equal(userName), query.criteria(USER_NAME).equal(null) ); } else { query.field(USER_NAME).equal(userName); } return query; }
public <T extends DbBackedBuild> Iterable<T> getCurrentUserBuilds(final DbBackedProject project, final int i, final Result result) { Query<DbBackedBuild> query = getQuery(project) .limit(i) .order("-number"); query.or( query.criteria("actions.causes.user").equal(Jenkins.getAuthentication().getName()), query.criteria("actions.causes.pusher").equal(Jenkins.getAuthentication().getName()) ); if (result != null) { query = query.filter("result", result.toString()); } final List<DbBackedBuild> builds = query.asList(); for (final DbBackedBuild build : builds) { associateProject(project, build); } return (Iterable<T>) builds; }