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);
}
}
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;
}
Aggregations