Search in sources :

Example 16 with JsonDocument

use of com.couchbase.client.java.document.JsonDocument in project sling by apache.

the class CouchbaseNoSqlAdapter method get.

@Override
public NoSqlData get(String path) {
    Bucket bucket = couchbaseClient.getBucket();
    String cacheKey = CouchbaseKey.build(path, cacheKeyPrefix);
    JsonDocument doc = bucket.get(cacheKey);
    if (doc == null) {
        return null;
    } else {
        JsonObject data = doc.content().getObject(PN_DATA);
        if (data == null) {
            return null;
        } else {
            return new NoSqlData(path, data.toMap(), MultiValueMode.LISTS);
        }
    }
}
Also used : NoSqlData(org.apache.sling.nosql.generic.adapter.NoSqlData) Bucket(com.couchbase.client.java.Bucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) JsonDocument(com.couchbase.client.java.document.JsonDocument)

Example 17 with JsonDocument

use of com.couchbase.client.java.document.JsonDocument in project tutorials by eugenp.

the class AbstractCrudService method readBulk.

@Override
public List<T> readBulk(Iterable<String> ids) {
    final AsyncBucket asyncBucket = bucket.async();
    Observable<JsonDocument> asyncOperation = Observable.from(ids).flatMap(new Func1<String, Observable<JsonDocument>>() {

        public Observable<JsonDocument> call(String key) {
            return asyncBucket.get(key);
        }
    });
    final List<T> items = new ArrayList<T>();
    try {
        asyncOperation.toBlocking().forEach(new Action1<JsonDocument>() {

            public void call(JsonDocument doc) {
                T item = converter.fromDocument(doc);
                items.add(item);
            }
        });
    } catch (Exception e) {
        logger.error("Error during bulk get", e);
    }
    return items;
}
Also used : AsyncBucket(com.couchbase.client.java.AsyncBucket) ArrayList(java.util.ArrayList) JsonDocument(com.couchbase.client.java.document.JsonDocument) Observable(rx.Observable) BackpressureException(com.couchbase.client.core.BackpressureException)

Example 18 with JsonDocument

use of com.couchbase.client.java.document.JsonDocument in project tutorials by eugenp.

the class AbstractCrudService method create.

@Override
public void create(T t) {
    if (t.getId() == null) {
        t.setId(UUID.randomUUID().toString());
    }
    JsonDocument doc = converter.toDocument(t);
    bucket.insert(doc);
}
Also used : JsonDocument(com.couchbase.client.java.document.JsonDocument)

Example 19 with JsonDocument

use of com.couchbase.client.java.document.JsonDocument in project tutorials by eugenp.

the class AbstractCrudService method update.

@Override
public void update(T t) {
    JsonDocument doc = converter.toDocument(t);
    bucket.upsert(doc);
}
Also used : JsonDocument(com.couchbase.client.java.document.JsonDocument)

Example 20 with JsonDocument

use of com.couchbase.client.java.document.JsonDocument in project tutorials by eugenp.

the class CodeSnippets method getLatestReplicaVersion.

static JsonDocument getLatestReplicaVersion(Bucket bucket, String id) {
    long maxCasValue = -1;
    JsonDocument latest = null;
    for (JsonDocument replica : bucket.getFromReplica(id, ReplicaMode.ALL)) {
        if (replica.cas() > maxCasValue) {
            latest = replica;
            maxCasValue = replica.cas();
        }
    }
    return latest;
}
Also used : JsonDocument(com.couchbase.client.java.document.JsonDocument)

Aggregations

JsonDocument (com.couchbase.client.java.document.JsonDocument)26 JsonObject (com.couchbase.client.java.document.json.JsonObject)10 Bucket (com.couchbase.client.java.Bucket)6 AsyncBucket (com.couchbase.client.java.AsyncBucket)4 Test (org.junit.Test)4 Person (com.baeldung.couchbase.async.person.Person)3 ArrayList (java.util.ArrayList)3 Func1 (rx.functions.Func1)3 AsyncIntegrationTest (com.baeldung.couchbase.async.AsyncIntegrationTest)2 CouchbaseCluster (com.couchbase.client.java.CouchbaseCluster)2 CouchbaseEnvironment (com.couchbase.client.java.env.CouchbaseEnvironment)2 DefaultCouchbaseEnvironment (com.couchbase.client.java.env.DefaultCouchbaseEnvironment)2 ViewRow (com.couchbase.client.java.view.ViewRow)2 Observable (rx.Observable)2 CodeSnippets.extractJsonResult (com.baeldung.couchbase.n1ql.CodeSnippets.extractJsonResult)1 BackpressureException (com.couchbase.client.core.BackpressureException)1 Cluster (com.couchbase.client.java.Cluster)1 RawJsonDocument (com.couchbase.client.java.document.RawJsonDocument)1 JsonArray (com.couchbase.client.java.document.json.JsonArray)1 DocumentAlreadyExistsException (com.couchbase.client.java.error.DocumentAlreadyExistsException)1