private List<DBObject> buildDateIntervalConditions(Map<String, ReadableInterval> intervals) { List<DBObject> conditions = new ArrayList<>(); for (Entry<String, ReadableInterval> intervalEntry : intervals.entrySet()) { QueryBuilder ids = new QueryBuilder().put("m.dates"); QueryBuilder id = QueryBuilder.start(); id.put("type").is(intervalEntry.getKey()); QueryBuilder date = id.put("date"); date.greaterThanEquals(intervalEntry.getValue().getStart().toDate()); date.lessThanEquals(intervalEntry.getValue().getEnd().toDate()); ids.elemMatch(id.get()); conditions.add(ids.get()); } return conditions; }
break; case LESS_OR_EQUAL: builder.lessThanEquals(operands); break; case GREATER:
public QueryResult next(String chromosome, int position, QueryOptions options, MongoDBCollection mongoDBCollection) { QueryBuilder builder; if (options.getString("strand") == null || options.getString("strand").equals("") || (options.getString("strand").equals("1") || options.getString("strand").equals("+"))) { builder = QueryBuilder.start("chromosome").is(chromosome).and("start").greaterThanEquals(position); options.put("sort", new HashMap<String, String>().put("start", "asc")); options.put("limit", 1); } else { builder = QueryBuilder.start("chromosome").is(chromosome).and("end").lessThanEquals(position); options.put("sort", new HashMap<String, String>().put("end", "desc")); options.put("limit", 1); } return executeQuery("result", new Document(builder.get().toMap()), options, mongoDBCollection); }
public QueryResult next(String chromosome, int position, QueryOptions options, MongoDBCollection mongoDBCollection) { QueryBuilder builder; if (options.getString("strand") == null || options.getString("strand").equals("") || (options.getString("strand").equals("1") || options.getString("strand").equals("+"))) { builder = QueryBuilder.start("chromosome").is(chromosome).and("start").greaterThanEquals(position); options.put("sort", new HashMap<String, String>().put("start", "asc")); options.put("limit", 1); } else { builder = QueryBuilder.start("chromosome").is(chromosome).and("end").lessThanEquals(position); options.put("sort", new HashMap<String, String>().put("end", "desc")); options.put("limit", 1); } return executeQuery("result", new Document(builder.get().toMap()), options, mongoDBCollection); }
private QueryBuilder getRegionFilter(Region region, QueryBuilder builder) { List<String> chunkIds = getChunkIds(region); builder.and(DocumentToVariantConverter.AT_FIELD + '.' + DocumentToVariantConverter.CHUNK_IDS_FIELD).in(chunkIds); builder.and(DocumentToVariantConverter.END_FIELD).greaterThanEquals(region.getStart()); builder.and(DocumentToVariantConverter.START_FIELD).lessThanEquals(region.getEnd()); return builder; }
protected void buildComparisionQuery(Comparison obj, Object rightExpr, QueryBuilder query) { switch(obj.getOperator()) { case EQ: query.is(rightExpr); break; case NE: query.notEquals(rightExpr); break; case LT: query.lessThan(rightExpr); break; case LE: query.lessThanEquals(rightExpr); break; case GT: query.greaterThan(rightExpr); break; case GE: query.greaterThanEquals(rightExpr); break; } }
.greaterThanEquals(region.getStart()).and("start").lessThanEquals(region.getEnd());
break; case "<=": builder.and(key).lessThanEquals(Double.parseDouble(obj)); break; case "<<=": builder.and(new BasicDBObject("$or", Arrays.asList( QueryBuilder.start(key).lessThanEquals(Double.parseDouble(obj)).get(), QueryBuilder.start(key).exists(false).get() )));
.greaterThanEquals(region.getStart()).and("start").lessThanEquals(region.getEnd());
.greaterThanEquals(region.getStart()).and("start").lessThanEquals(region.getEnd());
.greaterThanEquals(region.getStart()).and("start").lessThanEquals(region.getEnd());
.greaterThanEquals(region.getStart()).and("start").lessThanEquals(region.getEnd());
.greaterThanEquals(region.getStart()).and("start").lessThanEquals(region.getEnd());
builder.and(DocumentToVariantConverter.RELEASE_FIELD).lessThanEquals(release);
case "<=": queryBuilder.or(QueryBuilder.start(DocumentToVariantAnnotationConverter. POPULATION_FREQUENCY_REFERENCE_FREQUENCY_FIELD).lessThanEquals(aDouble).get(), QueryBuilder.start(DocumentToVariantAnnotationConverter. POPULATION_FREQUENCY_ALTERNATE_FREQUENCY_FIELD).lessThanEquals(aDouble).get() ); break;