@Override public List<Decorator> findAll() { return toInterfaceList(coll.find().toArray()); }
@Override public List<Decorator> findForStream(String streamId) { return toInterfaceList(coll.find(DBQuery.is(DecoratorImpl.FIELD_STREAM, Optional.of(streamId))).toArray()); }
/** * {@inheritDoc} */ @Override public List<IndexSetConfig> findPaginated(Set<String> indexSetIds, int limit, int skip) { final List<DBQuery.Query> idQuery = indexSetIds.stream() .map(id -> DBQuery.is("_id", id)) .collect(Collectors.toList()); final DBQuery.Query query = DBQuery.or(idQuery.toArray(new DBQuery.Query[0])); return ImmutableList.copyOf(collection.find(query) .sort(DBSort.asc("title")) .skip(skip) .limit(limit) .toArray()); }
@Override public List<AlarmCallbackHistory> getForAlertId(String alertId) { return toAbstractListType(coll.find(DBQuery.is(AlarmCallbackHistoryImpl.FIELD_ALERTID, alertId)).toArray()); }
@Override public List<Alert> loadRecentOfStreams(List<String> streamIds, DateTime since, int limit) { if (streamIds == null || streamIds.isEmpty()) { return Collections.emptyList(); } final DateTime effectiveSince = (since == null ? new DateTime(0L, DateTimeZone.UTC) : since); final DBQuery.Query query = DBQuery.and( getFindAnyStreamQuery(streamIds), DBQuery.greaterThanEquals(AlertImpl.FIELD_TRIGGERED_AT, effectiveSince) ); return Collections.unmodifiableList(this.coll.find(query) .limit(limit) .sort(DBSort.desc(AlertImpl.FIELD_TRIGGERED_AT)) .toArray()); }
@Override public List<Decorator> findForGlobal() { return toInterfaceList(coll.find(DBQuery.or( DBQuery.notExists(DecoratorImpl.FIELD_STREAM), DBQuery.is(DecoratorImpl.FIELD_STREAM, Optional.empty()) )).toArray()); }
@Override public Optional<Alert> getLastTriggeredAlert(String streamId, String conditionId) { final List<AlertImpl> alert = this.coll.find( DBQuery.and( DBQuery.is(AlertImpl.FIELD_STREAM_ID, streamId), DBQuery.is(AlertImpl.FIELD_CONDITION_ID, conditionId) ) ) .sort(DBSort.desc(AlertImpl.FIELD_TRIGGERED_AT)) .limit(1) .toArray(); if (alert == null || alert.size() == 0) { return Optional.empty(); } return Optional.of(alert.get(0)); }
@Override public List<Alert> listForStreamIds(List<String> streamIds, AlertState state, int skip, int limit) { if (streamIds == null || streamIds.isEmpty()) { return Collections.emptyList(); } DBQuery.Query query = getFindAnyStreamQuery(streamIds); if (state != null && state != AlertState.ANY) { query = DBQuery.and(query, getFindByStateQuery(state)); } return Collections.unmodifiableList(this.coll.find(query) .sort(DBSort.desc(AlertImpl.FIELD_TRIGGERED_AT)) .skip(skip) .limit(limit) .toArray()); }
/** * Converts this cursor to an array. * * @return an array of elements * @throws MongoException * If an error occurred */ public List<T> toArray() throws MongoException { executed(); return toArray(Integer.MAX_VALUE); }
@Override public List<QuoteReadModel> fetchQuotes(String exchangeId) { Preconditions.checkState(quotes != null, "quotes collection must be initialized"); Preconditions.checkArgument(!Strings.isNullOrEmpty(exchangeId), "exchangeId must not be null or empty"); return quotes.find(DBQuery.is("exchangeId", exchangeId)).toArray(); }
@Override public List<CurrencyPairReadModel> fetchCurrencyPairs(String exchangeId) { Preconditions.checkState(currencyPairs != null, "currency_pairs collection must be initialized"); return currencyPairs.find(DBQuery.is("exchangeId", exchangeId)).toArray(); }
@Override public Set<Output> loadAll() { return toAbstractSetType(coll.find().toArray()); }
@Override public List<Decorator> findAll() { return toInterfaceList(coll.find().toArray()); }
@Override public List<Decorator> findForStream(String streamId) { return toInterfaceList(coll.find(DBQuery.is(DecoratorImpl.FIELD_STREAM, Optional.of(streamId))).toArray()); }
/** * {@inheritDoc} */ @Override public List<IndexSetConfig> findPaginated(Set<String> indexSetIds, int limit, int skip) { final List<DBQuery.Query> idQuery = indexSetIds.stream() .map(id -> DBQuery.is("_id", id)) .collect(Collectors.toList()); final DBQuery.Query query = DBQuery.or(idQuery.toArray(new DBQuery.Query[0])); return ImmutableList.copyOf(collection.find(query) .sort(DBSort.asc("title")) .skip(skip) .limit(limit) .toArray()); }
@Override public List<AlarmCallbackConfiguration> getForStreamId(String streamId) { return this.toAbstractListType(coll.find(DBQuery.is("stream_id", streamId)).toArray()); }
@Override public List<AlarmCallbackHistory> getForAlertId(String alertId) { return toAbstractListType(coll.find(DBQuery.is(AlarmCallbackHistoryImpl.FIELD_ALERTID, alertId)).toArray()); }
@Override public List<Alert> loadRecentOfStreams(List<String> streamIds, DateTime since, int limit) { if (streamIds == null || streamIds.isEmpty()) { return Collections.emptyList(); } final DateTime effectiveSince = (since == null ? new DateTime(0L, DateTimeZone.UTC) : since); final DBQuery.Query query = DBQuery.and( getFindAnyStreamQuery(streamIds), DBQuery.greaterThanEquals(AlertImpl.FIELD_TRIGGERED_AT, effectiveSince) ); return Collections.unmodifiableList(this.coll.find(query) .limit(limit) .sort(DBSort.desc(AlertImpl.FIELD_TRIGGERED_AT)) .toArray()); }
@Override public List<Decorator> findForGlobal() { return toInterfaceList(coll.find(DBQuery.or( DBQuery.notExists(DecoratorImpl.FIELD_STREAM), DBQuery.is(DecoratorImpl.FIELD_STREAM, Optional.empty()) )).toArray()); }
@Override public List<Statistics> getStatistics(GraphFilterBuilder filter, int limit) { DBObject matchFields = generateMatchFields(filter); DBCursor<Statistics> dbCursor = getJacksonStatisticsCollection().find(matchFields); BasicDBObject buildNumberDescending = new BasicDBObject("buildNumber", -1); dbCursor = dbCursor.sort(buildNumberDescending); if (limit > 0) { dbCursor = dbCursor.limit(limit); } return dbCursor.toArray(); }