Search in sources :

Example 6 with Bucket

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

the class CouchbaseNoSqlAdapter method checkConnection.

@Override
public void checkConnection() throws LoginException {
    // try to access root element to check connection
    try {
        Bucket bucket = couchbaseClient.getBucket();
        String cacheKey = CouchbaseKey.build("/", cacheKeyPrefix);
        bucket.exists(cacheKey);
    } catch (Throwable ex) {
        throw new LoginException(ex);
    }
}
Also used : Bucket(com.couchbase.client.java.Bucket) LoginException(org.apache.sling.api.resource.LoginException)

Example 7 with Bucket

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

the class CouchbaseNoSqlAdapter method deleteRecursive.

@Override
public boolean deleteRecursive(String path) {
    Bucket bucket = couchbaseClient.getBucket();
    // fetch all descendants and self for deletion
    Pattern descendantsAndSelf = Pattern.compile("^" + path + "(/.+)?$");
    N1qlQuery query = N1qlQuery.simple(select("*").from(couchbaseClient.getBucketName()).where("REGEXP_LIKE(`" + PN_PATH + "`, '" + descendantsAndSelf.pattern() + "')"), N1QL_PARAMS);
    N1qlQueryResult queryResult = bucket.query(query);
    handleQueryError(queryResult);
    final Iterator<N1qlQueryRow> results = queryResult.iterator();
    boolean deletedAny = false;
    while (results.hasNext()) {
        JsonObject item = results.next().value();
        JsonObject envelope = item.getObject(couchbaseClient.getBucketName());
        String itemPath = envelope.getString(PN_PATH);
        String itemCacheKey = CouchbaseKey.build(itemPath, cacheKeyPrefix);
        bucket.remove(itemCacheKey);
        deletedAny = true;
    }
    return deletedAny;
}
Also used : N1qlQueryRow(com.couchbase.client.java.query.N1qlQueryRow) Pattern(java.util.regex.Pattern) N1qlQuery(com.couchbase.client.java.query.N1qlQuery) Bucket(com.couchbase.client.java.Bucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) N1qlQueryResult(com.couchbase.client.java.query.N1qlQueryResult)

Aggregations

Bucket (com.couchbase.client.java.Bucket)7 JsonObject (com.couchbase.client.java.document.json.JsonObject)4 JsonDocument (com.couchbase.client.java.document.JsonDocument)2 N1qlQuery (com.couchbase.client.java.query.N1qlQuery)2 N1qlQueryResult (com.couchbase.client.java.query.N1qlQueryResult)2 N1qlQueryRow (com.couchbase.client.java.query.N1qlQueryRow)2 NoSqlData (org.apache.sling.nosql.generic.adapter.NoSqlData)2 DocumentAlreadyExistsException (com.couchbase.client.java.error.DocumentAlreadyExistsException)1 Iterator (java.util.Iterator)1 Pattern (java.util.regex.Pattern)1 LoginException (org.apache.sling.api.resource.LoginException)1