From 368e3378b2944e9e92dfa10b02b56d3d890ba543 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Wed, 19 Jul 2023 16:25:12 +0100 Subject: [PATCH] feat: update query using new arangodb api Signed-off-by: Otavio Santana --- .../communication/ArangoDBBucketManager.java | 16 +++++++------- .../arangodb/communication/ArangoDBUtil.java | 7 +++--- .../DefaultArangoDBDocumentManager.java | 22 +++++++++---------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBBucketManager.java b/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBBucketManager.java index a1d548fe0..a4cf8e4ac 100644 --- a/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBBucketManager.java +++ b/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBBucketManager.java @@ -16,7 +16,7 @@ import com.arangodb.ArangoDB; -import com.arangodb.DbName; + import com.arangodb.entity.BaseDocument; import org.eclipse.jnosql.communication.Value; import org.eclipse.jnosql.communication.keyvalue.BucketManager; @@ -73,10 +73,10 @@ public void put(K key, V value) throws NullPointerException { BaseDocument baseDocument = new BaseDocument(); baseDocument.setKey(key.toString()); baseDocument.addAttribute(VALUE, JSONB.toJson(value)); - if (arangoDB.db(DbName.of(bucketName)).collection(namespace).documentExists(key.toString())) { - arangoDB.db(DbName.of(bucketName)).collection(namespace).deleteDocument(key.toString()); + if (arangoDB.db(bucketName).collection(namespace).documentExists(key.toString())) { + arangoDB.db(bucketName).collection(namespace).deleteDocument(key.toString()); } - arangoDB.db(DbName.of(bucketName)).collection(namespace) + arangoDB.db(bucketName).collection(namespace) .insertDocument(baseDocument); } @@ -95,7 +95,7 @@ public void put(Iterable keyValueEntities) throws NullPointerEx @Override public Optional get(K key) throws NullPointerException { Objects.requireNonNull(key, "Key is required"); - BaseDocument entity = arangoDB.db(DbName.of(bucketName)).collection(namespace) + BaseDocument entity = arangoDB.db(bucketName).collection(namespace) .getDocument(key.toString(), BaseDocument.class); return ofNullable(entity) @@ -108,7 +108,7 @@ public Optional get(K key) throws NullPointerException { public Iterable get(Iterable keys) throws NullPointerException { return stream(keys.spliterator(), false) .map(Object::toString) - .map(k -> arangoDB.db(DbName.of(bucketName)).collection(namespace) + .map(k -> arangoDB.db(bucketName).collection(namespace) .getDocument(k, BaseDocument.class)) .filter(Objects::nonNull) .map(TO_JSON) @@ -118,14 +118,14 @@ public Iterable get(Iterable keys) throws NullPointerException { @Override public void delete(K key) throws NullPointerException { - arangoDB.db(DbName.of(bucketName)).collection(namespace).deleteDocument(key.toString()); + arangoDB.db(bucketName).collection(namespace).deleteDocument(key.toString()); } @Override public void delete(Iterable keys) throws NullPointerException { Objects.requireNonNull(keys, "Keys is required"); - arangoDB.db(DbName.of(bucketName)).collection(namespace) + arangoDB.db(bucketName).collection(namespace) .deleteDocuments(stream(keys.spliterator(), false) .map(Object::toString).collect(toList())); } diff --git a/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBUtil.java b/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBUtil.java index 7104a9642..04069576e 100644 --- a/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBUtil.java +++ b/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/ArangoDBUtil.java @@ -16,7 +16,6 @@ import com.arangodb.ArangoDB; -import com.arangodb.DbName; import com.arangodb.entity.BaseDocument; import com.arangodb.entity.CollectionEntity; import org.eclipse.jnosql.communication.Value; @@ -68,7 +67,7 @@ static void checkDatabase(String database, ArangoDB arangoDB) { try { Collection databases = arangoDB.getDatabases(); if (!databases.contains(database)) { - arangoDB.createDatabase(DbName.of(database)); + arangoDB.createDatabase(database); } } catch (ArangoDBException e) { LOGGER.log(Level.WARNING, "Failed to create database: " + database, e); @@ -77,12 +76,12 @@ static void checkDatabase(String database, ArangoDB arangoDB) { public static void checkCollection(String bucketName, ArangoDB arangoDB, String namespace) { checkDatabase(bucketName, arangoDB); - List collections = arangoDB.db(DbName.of(bucketName)) + List collections = arangoDB.db(bucketName) .getCollections().stream() .map(CollectionEntity::getName) .collect(toList()); if (!collections.contains(namespace)) { - arangoDB.db(DbName.of(bucketName)).createCollection(namespace); + arangoDB.db(bucketName).createCollection(namespace); } } diff --git a/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/DefaultArangoDBDocumentManager.java b/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/DefaultArangoDBDocumentManager.java index 05a1bb583..dd980af21 100644 --- a/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/DefaultArangoDBDocumentManager.java +++ b/jnosql-arangodb/src/main/java/org/eclipse/jnosql/databases/arangodb/communication/DefaultArangoDBDocumentManager.java @@ -16,7 +16,6 @@ import com.arangodb.ArangoCursor; import com.arangodb.ArangoDB; -import com.arangodb.DbName; import com.arangodb.entity.BaseDocument; import com.arangodb.entity.DocumentCreateEntity; import com.arangodb.entity.DocumentUpdateEntity; @@ -63,7 +62,7 @@ public DocumentEntity insert(DocumentEntity entity) throws NullPointerException String collectionName = entity.name(); checkCollection(collectionName); BaseDocument baseDocument = ArangoDBUtil.getBaseDocument(entity); - DocumentCreateEntity arandoDocument = arangoDB.db(DbName.of(database)) + DocumentCreateEntity arandoDocument = arangoDB.db(database) .collection(collectionName).insertDocument(baseDocument); updateEntity(entity, arandoDocument.getKey(), arandoDocument.getId(), arandoDocument.getRev()); return entity; @@ -78,7 +77,7 @@ public DocumentEntity update(DocumentEntity entity) { " the _id column")); feedKey(entity, id); BaseDocument baseDocument = ArangoDBUtil.getBaseDocument(entity); - DocumentUpdateEntity arandoDocument = arangoDB.db(DbName.of(database)) + DocumentUpdateEntity arandoDocument = arangoDB.db(database) .collection(collectionName).updateDocument(baseDocument.getKey(), baseDocument); updateEntity(entity, arandoDocument.getKey(), arandoDocument.getId(), arandoDocument.getRev()); return entity; @@ -101,8 +100,8 @@ public void delete(DocumentDeleteQuery query) { } AQLQueryResult delete = QueryAQLConverter.delete(query); - arangoDB.db(DbName.of(database)).query(delete.getQuery(), delete.getValues(), - null, BaseDocument.class); + arangoDB.db(database).query(delete.getQuery(), BaseDocument.class, delete.getValues(), + null); } @Override @@ -110,8 +109,9 @@ public Stream select(DocumentQuery query) throws NullPointerExce requireNonNull(query, "query is required"); AQLQueryResult result = QueryAQLConverter.select(query); - ArangoCursor documents = arangoDB.db(DbName.of(database)).query(result.getQuery(), - result.getValues(), null, BaseDocument.class); + ArangoCursor documents = arangoDB.db(database).query(result.getQuery(), + BaseDocument.class, + result.getValues(), null); return StreamSupport.stream(documents.spliterator(), false) .map(ArangoDBUtil::toEntity); @@ -121,7 +121,7 @@ public Stream select(DocumentQuery query) throws NullPointerExce public long count(String documentCollection) { Objects.requireNonNull(documentCollection, "document collection is required"); String aql = "RETURN LENGTH(" + documentCollection + ")"; - ArangoCursor query = arangoDB.db(DbName.of(database)).query(aql, emptyMap(), null, Object.class); + ArangoCursor query = arangoDB.db(database).query(aql, Object.class, emptyMap(), null); return StreamSupport.stream(query.spliterator(), false).findFirst().map(Long.class::cast).orElse(0L); } @@ -130,7 +130,7 @@ public long count(String documentCollection) { public Stream aql(String query, Map values) throws NullPointerException { requireNonNull(query, "query is required"); requireNonNull(values, "values is required"); - ArangoCursor result = arangoDB.db(DbName.of(database)).query(query, values, null, BaseDocument.class); + ArangoCursor result = arangoDB.db(database).query(query,BaseDocument.class, values, null); return StreamSupport.stream(result.spliterator(), false) .map(ArangoDBUtil::toEntity); @@ -141,7 +141,7 @@ public Stream aql(String query, Map values, Class type requireNonNull(query, "query is required"); requireNonNull(values, "values is required"); requireNonNull(typeClass, "typeClass is required"); - ArangoCursor result = arangoDB.db(DbName.of(database)).query(query, values, null, typeClass); + ArangoCursor result = arangoDB.db(database).query(query, typeClass, values, null); return StreamSupport.stream(result.spliterator(), false); } @@ -149,7 +149,7 @@ public Stream aql(String query, Map values, Class type public Stream aql(String query, Class typeClass) { requireNonNull(query, "query is required"); requireNonNull(typeClass, "typeClass is required"); - ArangoCursor result = arangoDB.db(DbName.of(database)).query(query, emptyMap(), null, typeClass); + ArangoCursor result = arangoDB.db(database).query(query,typeClass, emptyMap(), null); return StreamSupport.stream(result.spliterator(), false); }