@Override protected Mono<Health> doHealthCheck(Health.Builder builder) { Select select = QueryBuilder.select("release_version").from("system", "local"); return this.reactiveCassandraOperations.getReactiveCqlOperations() .queryForObject(select, String.class) .map((version) -> builder.up().withDetail("version", version).build()) .single(); }
/** * Create a {@link EntityWriteResult} from {@link WriteResult} and an entity. * * @param result must not be {@literal null}. * @param entity must not be {@literal null}. * @return the {@link EntityWriteResult} for {@link WriteResult} and an entity. */ static <T> EntityWriteResult<T> of(WriteResult result, T entity) { return new EntityWriteResult<>(result.getExecutionInfo(), result.wasApplied(), result.getRows(), entity); }
@Override public <T> ListenableFuture<T> insert(T entity) { return new MappingListenableFutureAdapter<>(insert(entity, InsertOptions.empty()), writeResult -> entity); }
@Override public <T> ListenableFuture<T> update(T entity) { return new MappingListenableFutureAdapter<>(update(entity, UpdateOptions.empty()), EntityWriteResult::getEntity); }
@Override protected void doHealthCheck(Health.Builder builder) throws Exception { Select select = QueryBuilder.select("release_version").from("system", "local"); ResultSet results = this.cassandraOperations.getCqlOperations() .queryForResultSet(select); if (results.isExhausted()) { builder.up(); return; } String version = results.one().getString(0); builder.up().withDetail("version", version); }
@Override public boolean exists() { return this.template.doExists(this.query, this.domainType, getTableName()); }
@Override public Stream<T> stream() { return this.template.doStream(this.query, this.domainType, getTableName(), this.returnType); }
@Override public Mono<Boolean> exists() { return this.template.doExists(this.query, this.domainType, getTableName()); }
@Override public Mono<Long> count() { return this.template.doCount(this.query, this.domainType, getTableName()); }
@Override public List<T> all() { return this.template.doSelect(this.query, this.domainType, getTableName(), this.returnType); }