/** * Find a single value with the specified key, if existing. * * @param key the key to search for * @return an Optional containing the requested value, or {@code Optional.empty()} if no value with this key exists */ public Optional<V> findOne(final K key) { return findOne(key, mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS); }
/** * Find a single value with the specified key, if existing. * * @param key the key to search for * @return an Optional containing the requested value, or {@code Optional.empty()} if no value with this key exists */ public Optional<V> findOne(final K key) { return findOne(key, mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS); }
public Stream<V> findAllAsStream() { return findAllAsStream(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS); }
public List<V> findAll() { return findAll(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS); }
@Override public List<JobInfo> findRunningWithoutUpdateSince(final OffsetDateTime timeOffset) { return collection() .find(new Document() .append(JobStructure.STOPPED.key(), singletonMap("$exists", false)) .append(JobStructure.LAST_UPDATED.key(), singletonMap("$lt", from(timeOffset.toInstant())))) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findRunningWithoutUpdateSince(final OffsetDateTime timeOffset) { return collection() .find(new Document() .append(JobStructure.STOPPED.key(), singletonMap("$exists", false)) .append(JobStructure.LAST_UPDATED.key(), singletonMap("$lt", from(timeOffset.toInstant())))) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findAllJobInfoWithoutMessages() { return collection() .find() .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .projection(new Document(getJobInfoWithoutMessagesProjection())) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findAllJobInfoWithoutMessages() { return collection() .find() .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .projection(new Document(getJobInfoWithoutMessagesProjection())) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findLatestJobsDistinct() { final List<String> allJobIds = findAllJobIdsDistinct(); return collection() .find(Filters.in(ID, allJobIds)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .map(this::decode) .into(new ArrayList<>()); }
@Override public String getValue(final String jobType, final String key) { final Document first = collection .find(eq(ID, jobType)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .first(); return first != null ? first.getString(key) : null; }
@Override public String getValue(final String jobType, final String key) { final Document first = collection .find(eq(ID, jobType)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .first(); return first != null ? first.getString(key) : null; }
@Override public List<JobInfo> findLatestJobsDistinct() { final List<String> allJobIds = findAllJobIdsDistinct(); return collection() .find(in(ID, allJobIds)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findByType(final String type) { return collection() .find(byType(type)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .sort(orderByStarted(DESCENDING)) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findLatest(final int maxCount) { return collection() .find() .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .sort(orderByStarted(DESCENDING)) .limit(maxCount) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findLatest(final int maxCount) { return collection() .find() .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .sort(orderByStarted(DESCENDING)) .limit(maxCount) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findByType(final String type) { return collection() .find(byType(type)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .sort(orderByStarted(DESCENDING)) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findLatestBy(final String type, final int maxCount) { return collection() .find(byType(type)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .sort(orderByStarted(DESCENDING)) .limit(maxCount) .map(this::decode) .into(new ArrayList<>()); }
@Override public List<JobInfo> findLatestBy(final String type, final int maxCount) { return collection() .find(byType(type)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .sort(orderByStarted(DESCENDING)) .limit(maxCount) .map(this::decode) .into(new ArrayList<>()); }
@Override public JobStatus findStatus(final String jobId) { return JobStatus.valueOf(collection() .find(eq(ID, jobId)) .projection(new Document(JobStructure.STATUS.key(), true)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .first().getString(JobStructure.STATUS.key())); }
@Override public JobStatus findStatus(final String jobId) { return JobStatus.valueOf(collection() .find(eq(ID, jobId)) .projection(new Document(JobStructure.STATUS.key(), true)) .maxTime(mongoProperties.getDefaultReadTimeout(), TimeUnit.MILLISECONDS) .first().getString(JobStructure.STATUS.key())); }