return criteria.gt(parameters.next()); case GREATER_THAN_EQUAL: return criteria.gte(parameters.next()); case BEFORE: case LESS_THAN:
return criteria.gt(parameters.next()); case GREATER_THAN_EQUAL: return criteria.gte(parameters.next()); case BEFORE: case LESS_THAN:
private Criteria targetPublishedYearRangeCriterion(int beginYear, int endYear) { return Criteria.where(PROPERTY_TARGET_PUBLISHED_YEAR) .gte(beginYear) .lte(endYear); }
private Criteria targetPublishedYearRangeCriterion(Integer beginYear, Integer endYear) { Criteria result = Criteria.where(F_PUBLISHED_YEAR); if (beginYear != null) { result.gte(beginYear); } if (endYear != null) { result.lte(endYear); } return result; }
@Override public Iterator<RateLimit> findAsyncAfter(long timestamp) { final Query query = Query.query(Criteria.where(FIELD_ASYNC).is(true).and(FIELD_UPDATED_AT).gte(timestamp)); return mongoOperations.find(query, Document.class, RATE_LIMIT_COLLECTION) .stream() .map(this::convert) .iterator(); }
@Override public void addCondition(Criteria criteria, FilterCondition filter, CriteriaHolder criteriaHolder) { this.validate(criteriaHolder, filter.getValue(), filter.isNegative(), INCORRECT_FILTER_PARAMETERS); Object[] castedValues; if (filter.getValue().contains(",")) { castedValues = (Object[]) this.castValue(criteriaHolder, filter.getValue(), INCORRECT_FILTER_PARAMETERS); } else { String[] values = filter.getValue().split(";"); ZoneOffset offset = ZoneOffset.of(values[2]); ZonedDateTime localDateTime = ZonedDateTime.now(offset).toLocalDate().atStartOfDay(offset); long start = from(localDateTime.plusMinutes(parseLong(values[0])).toInstant()).getTime(); long end = from(localDateTime.plusMinutes(parseLong(values[1])).toInstant()).getTime(); String newValue = start + "," + end; castedValues = (Object[]) this.castValue(criteriaHolder, newValue, INCORRECT_FILTER_PARAMETERS); } criteria.gte(castedValues[0]).lte(castedValues[1]); }
@Override public Set<? extends AuditActionContext> getAuditRecordsSince(final LocalDate localDate) { val dt = DateTimeUtils.dateOf(localDate); LOGGER.debug("Retrieving audit records since [{}] from [{}]", dt, this.collectionName); val query = new Query().addCriteria(Criteria.where("whenActionWasPerformed").gte(dt)); return new LinkedHashSet<>(this.mongoTemplate.find(query, AuditActionContext.class, this.collectionName)); } }
private Long countTxMsgs(Timestamp from, Timestamp to) { DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String toStr = ""; String fromStr = ""; try { toStr = sdf.format(to); fromStr = sdf.format(from); } catch (Exception e) { LogUtil.error(LOGGER, "日期转换错误,cause is {}", e::getLocalizedMessage); throw new IllegalArgumentException("请检查传入的日期参数!"); } Criteria criteria = Criteria.where("createDate").lte(toStr).gte(fromStr); Query query = Query.query(criteria); return mongoTemplate.count(query, TxTransactionItem.class, CollectionNameEnum.TxTransactionItem.name()); }
@Override public List<ObservationObjectCount> getMostObservedObjects(ObservationObjectType objectType, Date fromDate, int limit) { Criteria criteria = Criteria.where(QUERY_PARAM_OBJECT_TYPE).is(objectType.name()); if (fromDate != null) { criteria.andOperator(Criteria.where(QUERY_PARAM_CREATION_TIMESTAMP).gte(fromDate)); } GroupBy groupBy = GroupBy.key(QUERY_PARAM_OBJECT_ID).initialDocument("{ count: 0 }").reduceFunction("function(doc, prev) { prev.count += 1 }"); GroupByResults<ObservationObjectCount> groupByResults = mongoTemplate.group(criteria, mongoCollectionName, groupBy, ObservationObjectCount.class); List<ObservationObjectCount> result = new ArrayList<ObservationObjectCount>(); for (Iterator<ObservationObjectCount> iterator = groupByResults.iterator(); iterator.hasNext();) { ObservationObjectCount objectCount = (ObservationObjectCount) iterator.next(); result.add(objectCount); } Collections.sort(result); Collections.reverse(result); result = result.subList(0, limit); return result; }
/** * Adds (inclusive) range criterion. * Query is not modified if both min and max objects are null. */ public static void addRangeCriterion(Query query, String key, Object min, Object max) { if (min!=null || max!=null) { Criteria range = Criteria.where(key); if (min!=null) { range.gte(min); } if (max!=null) { range.lte(max); } query.addCriteria(range); } }
@Override public void addCondition(Criteria criteria, FilterCondition filter, CriteriaHolder criteriaHolder) { /* Validate only numbers & dates */ this.validate(criteriaHolder, filter.getValue(), filter.isNegative(), INCORRECT_FILTER_PARAMETERS); criteria.gte(this.castValue(criteriaHolder, filter.getValue(), INCORRECT_FILTER_PARAMETERS)); }
@Override public List<Log> findTestItemErrorLogs(String testItemId, int limit) { Query query = query(where(ITEM_REFERENCE).is(testItemId)).addCriteria(where(LOG_LEVEL).gte(LogLevel.ERROR_INT)) .limit(limit); return mongoTemplate.find(query, Log.class); }
@Override public List<Log> findGreaterOrEqualLevel(List<String> testItemIds, LogLevel level) { Query query = query(where(ITEM_REFERENCE).in(testItemIds)).addCriteria(where(LOG_LEVEL).gte(level.toInt())); return mongoTemplate.find(query, Log.class); }
@Override public Stream<Launch> streamModifiedInRange(String project, Date from, Date to) { Query query = Query.query(Criteria.where(Modifiable.LAST_MODIFIED).gte(from).lte((to))) .addCriteria(Criteria.where(PROJECT_ID_REFERENCE).is(project)); query.fields().include(ID_REFERENCE); return Streams.stream(mongoTemplate.stream(query, Launch.class)); }
private Query buildPageableQuery(final Long from, final Long to) { // By default get 20 elements final int limit = 20; final Pageable pageable = new PageRequest(0, limit, Direction.DESC, "timestamp"); final SearchFilter filter = new SearchFilter(pageable); if (TenantContextHolder.isEnabled()) { filter.addAndParam("tenant", TenantUtils.getRequestTenant()); } final Criteria customCriteria = Criteria.where("timestamp").lte(to == null ? CatalogUtils.getMaxSystemTimeMillis() : to); if (from != null) { customCriteria.gte(from); } return buildQuery(filter, true, customCriteria); }
@Override public Page<Launch> findModifiedInRange(String project, Date from, Date to, Pageable p) { Query query = Query.query(Criteria.where(Modifiable.LAST_MODIFIED).gte(from).lte((to))) .addCriteria(Criteria.where(PROJECT_ID_REFERENCE).is(project)); query.with(p); query.fields().include(ID_REFERENCE); return pageByQuery(query, p, Launch.class); }
@Override public List<InvocationCount> aggregateDailyStatistics(String afterday, String beforeday) { // Build a query to pre-select the statistics that will be aggregated. Aggregation aggregation = newAggregation( match(Criteria.where("day").gte(afterday).lte(beforeday)), group("day").sum("dailyCount").as("number"), project("number").and("day").previousOperation(), sort(ASC, "day") ); AggregationResults<InvocationCount> results = template.aggregate(aggregation, DailyStatistic.class, InvocationCount.class); return results.getMappedResults(); }
@Override public Page<ApiKeyMongo> search(ApiKeyCriteria filter) { Query query = new Query(); if (! filter.isIncludeRevoked()) { query.addCriteria(Criteria.where("revoked").is(false)); } if (filter.getPlans() != null) { query.addCriteria(Criteria.where("plan").in(filter.getPlans())); } // set range query if (filter.getFrom() != 0 && filter.getTo() != 0) { query.addCriteria(Criteria.where("updatedAt").gte(new Date(filter.getFrom())).lt(new Date(filter.getTo()))); } query.with(new Sort(Sort.Direction.DESC, "updatedAt")); List<ApiKeyMongo> events = mongoTemplate.find(query, ApiKeyMongo.class); long total = mongoTemplate.count(query, ApiKeyMongo.class); return new Page<>(events, 0, 0, total); } }
public static PageRequest processPagePart(Query query, PageQueryRequest queryRequest, Sort sort) { if (queryRequest instanceof DateRangedQueryRequest) { DateRangedQueryRequest dateRangedQueryRequest = (DateRangedQueryRequest) queryRequest; if (dateRangedQueryRequest.getBeginDate() != null && dateRangedQueryRequest.getEndDate() != null) { query.addCriteria(new Criteria().andOperator(Criteria.where("createdAt") .gte(dateRangedQueryRequest.getBeginDate()), Criteria.where("createdAt") .lte(dateRangedQueryRequest.getEndDate()))); } else if (dateRangedQueryRequest.getBeginDate() != null) { query.addCriteria(Criteria.where("createdAt").gte(dateRangedQueryRequest.getBeginDate())); } else if (dateRangedQueryRequest.getEndDate() != null) { query.addCriteria(Criteria.where("createdAt").lte(dateRangedQueryRequest.getEndDate())); } } int start = queryRequest.getStart(); int limit = queryRequest.getLimit(); PageRequest pageable = new PageRequest(start, limit, sort); query.with(pageable); return pageable; }
public boolean interpret(Criteria clause, CompareRule filter) { Criteria c = clause.and(filter.getPropertyId());//Criteria.where(filter.getPropertyId()); switch (filter.getCompareType()) { case Equals: c.is(filter.getValue()); break; case GreaterOrEqual: c.gte(filter.getValue()); break; case GreaterThan: c.gt(filter.getValue()); break; case LessOrEqual: c.lte(filter.getValue()); break; case LessThan: c.lt(filter.getValue()); break; } return true; } }