Skip to content

Commit 1a9fd3f

Browse files
committed
#80 expose database name
1 parent d925885 commit 1a9fd3f

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

src/main/java/com/arangodb/springframework/core/ArangoOperations.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import com.arangodb.ArangoCursor;
2424
import com.arangodb.ArangoDB;
25+
import com.arangodb.DbName;
2526
import com.arangodb.entity.ArangoDBVersion;
2627
import com.arangodb.entity.DocumentEntity;
2728
import com.arangodb.entity.MultiDocumentEntity;
@@ -57,6 +58,8 @@ public interface ArangoOperations {
5758
*/
5859
ArangoDBVersion getVersion() throws DataAccessException;
5960

61+
DbName getDatabaseName();
62+
6063
/**
6164
* Performs a database query using the given {@code query} and {@code bindVars}, then returns a new
6265
* {@code ArangoCursor} instance for the result list.

src/main/java/com/arangodb/springframework/core/template/ArangoTemplate.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,7 @@
2020

2121
package com.arangodb.springframework.core.template;
2222

23-
import com.arangodb.ArangoCollection;
24-
import com.arangodb.ArangoCursor;
25-
import com.arangodb.ArangoDB;
26-
import com.arangodb.ArangoDBException;
27-
import com.arangodb.ArangoDatabase;
23+
import com.arangodb.*;
2824
import com.arangodb.entity.ArangoDBVersion;
2925
import com.arangodb.entity.DocumentEntity;
3026
import com.arangodb.entity.MultiDocumentEntity;
@@ -149,9 +145,8 @@ public ArangoTemplate(final ArangoDB arango, final String database, final Arango
149145
version = null;
150146
}
151147

152-
private ArangoDatabase db() {
153-
final String key = databaseExpression != null ? databaseExpression.getValue(context, String.class)
154-
: databaseName;
148+
ArangoDatabase db() {
149+
final String key = getDatabaseName().get();
155150
return databaseCache.computeIfAbsent(key, name -> {
156151
final ArangoDatabase db = arango.db(name);
157152
if (!db.exists()) {
@@ -341,6 +336,12 @@ public ArangoDBVersion getVersion() throws DataAccessException {
341336
}
342337
}
343338

339+
@Override
340+
public DbName getDatabaseName() {
341+
return DbName.of(databaseExpression != null ? databaseExpression.getValue(context, String.class)
342+
: databaseName);
343+
}
344+
344345
@Override
345346
public <T> ArangoCursor<T> query(final String query, final Class<T> entityClass) throws DataAccessException {
346347
return query(query, null, null, entityClass);

src/main/java/com/arangodb/springframework/transaction/ArangoTransaction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ String begin(Collection<String> collections) {
3939
if (definition instanceof TransactionAttribute) {
4040
allCollections.addAll(((TransactionAttribute) definition).getLabels());
4141
}
42-
StreamTransactionOptions options = new StreamTransactionOptions().allowImplicit(true)
42+
StreamTransactionOptions options = new StreamTransactionOptions()
43+
.allowImplicit(true)
4344
.writeCollections(allCollections.toArray(new String[0]))
4445
.lockTimeout(definition.getTimeout() == -1 ? 0 : definition.getTimeout());
4546
transaction = database.beginStreamTransaction(options);

src/test/java/com/arangodb/springframework/core/template/ArangoTemplateTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public void template() {
7171
assertThat(version.getLicense(), is(notNullValue()));
7272
assertThat(version.getServer(), is(notNullValue()));
7373
assertThat(version.getVersion(), is(notNullValue()));
74+
assertThat(template.getDatabaseName(), is(notNullValue()));
7475
}
7576

7677
@Test

0 commit comments

Comments
 (0)