@Override public <D extends Document<?>> D remove( D document, PersistTo persistTo, ReplicateTo replicateTo, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.remove(document, persistTo, replicateTo).singleOrDefault(null), timeout, timeUnit); }
@Override public <D extends Document<?>> D remove( String id, PersistTo persistTo, ReplicateTo replicateTo, Class<D> target, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.remove(id, persistTo, replicateTo, target).singleOrDefault(null), timeout, timeUnit); }
@Override public QueryResult query(Query query, final long timeout, final TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket .query(query) .flatMap( new Func1<AsyncQueryResult, Observable<QueryResult>>() { @Override public Observable<QueryResult> call(AsyncQueryResult aqr) { final boolean parseSuccess = aqr.parseSuccess(); final String requestId = aqr.requestId(); final String clientContextId = aqr.clientContextId(); return Observable.zip( aqr.rows().toList(), aqr.signature().singleOrDefault(JsonObject.empty()), aqr.info().singleOrDefault(QueryMetrics.EMPTY_METRICS), aqr.errors().toList(), aqr.finalSuccess().singleOrDefault(Boolean.FALSE), new Func5< List<AsyncQueryRow>, Object, QueryMetrics, List<JsonObject>, Boolean, QueryResult>() { @Override public QueryResult call( List<AsyncQueryRow> rows, Object signature, QueryMetrics info, List<JsonObject> errors, Boolean finalSuccess) { return new DefaultQueryResult( rows, signature, info, errors, finalSuccess, parseSuccess, requestId, clientContextId); } }); } }) .single(), timeout, timeUnit); }
@Override public BucketManager bucketManager() { return asyncBucket .bucketManager() .map( new Func1<AsyncBucketManager, BucketManager>() { @Override public BucketManager call(AsyncBucketManager asyncBucketManager) { return DefaultBucketManager.create(environment, name, password, core); } }) .toBlocking() .single(); }
@Override public SpatialViewResult query(SpatialViewQuery query, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket .query(query) .map( new Func1<AsyncSpatialViewResult, SpatialViewResult>() { @Override public SpatialViewResult call(AsyncSpatialViewResult asyncSpatialViewResult) { return new DefaultSpatialViewResult( environment, CouchbaseBucket.this, asyncSpatialViewResult.rows(), asyncSpatialViewResult.success(), asyncSpatialViewResult.error(), asyncSpatialViewResult.debug()); } }) .single(), timeout, timeUnit); }
@Override public Boolean unlock(String id, long cas, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.unlock(id, cas).single(), timeout, timeUnit); }
@Override public QueryPlan prepare(Statement statement, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.prepare(statement).single(), timeout, timeUnit); }
@Override public List<JsonDocument> getFromReplica( String id, ReplicaMode type, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getFromReplica(id, type).toList(), timeout, timeUnit); }
@Override public <D extends Document<?>> List<D> getFromReplica( String id, ReplicaMode type, Class<D> target, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getFromReplica(id, type, target).toList(), timeout, timeUnit); }
@Override public JsonLongDocument counter( String id, long delta, long initial, int expiry, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.counter(id, delta, initial, expiry).single(), timeout, timeUnit); }
@Override public <D extends Document<?>> D remove(D document, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.remove(document).singleOrDefault(null), timeout, timeUnit); }
@Override public <D extends Document<?>> D replace( D document, ReplicateTo replicateTo, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.replace(document, replicateTo).single(), timeout, timeUnit); }
@Override public <D extends Document<?>> D upsert( D document, PersistTo persistTo, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.upsert(document, persistTo).single(), timeout, timeUnit); }
@Override public <D extends Document<?>> D getAndTouch( String id, int expiry, Class<D> target, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getAndTouch(id, expiry, target).singleOrDefault(null), timeout, timeUnit); }
@Override public JsonDocument getAndTouch(String id, int expiry, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getAndTouch(id, expiry).singleOrDefault(null), timeout, timeUnit); }
@Override public <D extends Document<?>> D getAndLock( D document, int lockTime, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getAndLock(document, lockTime).singleOrDefault(null), timeout, timeUnit); }
@Override public JsonDocument getAndLock(String id, int lockTime, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getAndLock(id, lockTime).singleOrDefault(null), timeout, timeUnit); }
@Override public Boolean touch(String id, int expiry, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.touch(id, expiry).single(), timeout, timeUnit); }
@Override public <D extends Document<?>> Boolean touch(D document, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.touch(document).single(), timeout, timeUnit); }
@Override public <D extends Document<?>> D prepend(D document, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.prepend(document).single(), timeout, timeUnit); }
@Override public String name() { return asyncBucket.name(); }
@Override public <D extends Document<?>> List<D> getFromReplica( D document, ReplicaMode type, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.getFromReplica(document, type).toList(), timeout, timeUnit); }
@Override public Boolean close(long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.close().single(), timeout, timeUnit); }
@Override public JsonDocument remove(String id, ReplicateTo replicateTo, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle( asyncBucket.remove(id, replicateTo).singleOrDefault(null), timeout, timeUnit); }
@Override public ClusterFacade core() { return asyncBucket.core().toBlocking().single(); }
@Override public boolean exists(String id, long timeout, TimeUnit timeUnit) { return Blocking.blockForSingle(asyncBucket.exists(id), timeout, timeUnit); }