Skip to content

Commit eb2cd38

Browse files
authored
Merge pull request #19 from arangodb/updateTo5.0.6
Update to5.0.6
2 parents b90cb61 + cb2c819 commit eb2cd38

File tree

4 files changed

+19
-61
lines changed

4 files changed

+19
-61
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.arangodb</groupId>
66
<artifactId>arangodb-java-driver-async</artifactId>
7-
<version>5.0.5</version>
7+
<version>5.0.6</version>
88
<inceptionYear>2016</inceptionYear>
99
<packaging>jar</packaging>
1010

src/main/java/com/arangodb/internal/ArangoDBAsyncImpl.java

Lines changed: 8 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,8 @@
2121
package com.arangodb.internal;
2222

2323
import java.io.IOException;
24-
import java.util.ArrayList;
2524
import java.util.Collection;
26-
import java.util.Collections;
27-
import java.util.Map;
2825
import java.util.concurrent.CompletableFuture;
29-
import java.util.concurrent.ExecutionException;
3026

3127
import com.arangodb.ArangoDBAsync;
3228
import com.arangodb.ArangoDBException;
@@ -37,10 +33,8 @@
3733
import com.arangodb.entity.Permissions;
3834
import com.arangodb.entity.ServerRole;
3935
import com.arangodb.entity.UserEntity;
40-
import com.arangodb.internal.ArangoExecutor.ResponseDeserializer;
4136
import com.arangodb.internal.net.CommunicationProtocol;
4237
import com.arangodb.internal.net.HostResolver;
43-
import com.arangodb.internal.net.HostResolver.EndpointResolver;
4438
import com.arangodb.internal.util.ArangoSerializationFactory;
4539
import com.arangodb.internal.util.ArangoSerializationFactory.Serializer;
4640
import com.arangodb.internal.velocystream.VstCommunication;
@@ -51,10 +45,7 @@
5145
import com.arangodb.model.LogOptions;
5246
import com.arangodb.model.UserCreateOptions;
5347
import com.arangodb.model.UserUpdateOptions;
54-
import com.arangodb.velocypack.VPackSlice;
55-
import com.arangodb.velocypack.exception.VPackException;
5648
import com.arangodb.velocystream.Request;
57-
import com.arangodb.velocystream.RequestType;
5849
import com.arangodb.velocystream.Response;
5950

6051
/**
@@ -67,50 +58,16 @@ public class ArangoDBAsyncImpl extends InternalArangoDB<ArangoExecutorAsync> imp
6758

6859
public ArangoDBAsyncImpl(final VstCommunicationAsync.Builder commBuilder, final ArangoSerializationFactory util,
6960
final VstCommunicationSync.Builder syncbuilder, final HostResolver hostResolver, final ArangoContext context) {
70-
super(new ArangoExecutorAsync(commBuilder.build(util.get(Serializer.INTERNAL)), util, new DocumentCache()),
71-
util, context);
61+
62+
super(new ArangoExecutorAsync(commBuilder.build(util.get(Serializer.INTERNAL)), util, new DocumentCache()), util, context);
63+
7264
final VstCommunication<Response, VstConnectionSync> cacheCom = syncbuilder.build(util.get(Serializer.INTERNAL));
65+
7366
cp = new VstProtocol(cacheCom);
74-
hostResolver.init(new EndpointResolver() {
75-
@Override
76-
public Collection<String> resolve(final boolean closeConnections) throws ArangoDBException {
77-
try {
78-
return executor.execute(new Request(ArangoRequestParam.SYSTEM, RequestType.GET, PATH_ENDPOINTS),
79-
new ResponseDeserializer<Collection<String>>() {
80-
@Override
81-
public Collection<String> deserialize(final Response response) throws VPackException {
82-
final VPackSlice field = response.getBody().get("endpoints");
83-
Collection<String> endpoints;
84-
if (field.isNone()) {
85-
endpoints = Collections.<String> emptyList();
86-
} else {
87-
final Collection<Map<String, String>> tmp = util().deserialize(field,
88-
Collection.class);
89-
endpoints = new ArrayList<>();
90-
for (final Map<String, String> map : tmp) {
91-
for (final String value : map.values()) {
92-
endpoints.add(value);
93-
}
94-
}
95-
}
96-
return endpoints;
97-
}
98-
}, null).get();
99-
} catch (InterruptedException | ExecutionException e) {
100-
throw new ArangoDBException(e);
101-
// TODO
102-
// if (e.getResponseCode() == 403) {
103-
// response = Collections.<String> emptyList();
104-
// } else {
105-
// throw e;
106-
// }
107-
} finally {
108-
if (closeConnections) {
109-
ArangoDBAsyncImpl.this.shutdown();
110-
}
111-
}
112-
}
113-
});
67+
68+
ArangoExecutorSync arangoExecutorSync = new ArangoExecutorSync(cp, util, new DocumentCache());
69+
hostResolver.init(arangoExecutorSync, util.get(Serializer.INTERNAL));
70+
11471
}
11572

11673
@Override

src/main/java/com/arangodb/internal/ArangoDatabaseAsyncImpl.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -214,11 +214,12 @@ public <T> CompletableFuture<ArangoCursorAsync<T>> query(final String query, fin
214214
}
215215

216216
@Override
217-
public <T> CompletableFuture<ArangoCursorAsync<T>> cursor(final String cursorId, final Class<T> type)
218-
throws ArangoDBException {
217+
public <T> CompletableFuture<ArangoCursorAsync<T>> cursor(final String cursorId, final Class<T> type) throws ArangoDBException {
218+
219219
final HostHandle hostHandle = new HostHandle();
220-
final CompletableFuture<CursorEntity> execution = executor.execute(queryNextRequest(cursorId, null),
221-
CursorEntity.class, hostHandle);
220+
221+
final CompletableFuture<CursorEntity> execution = executor.execute(queryNextRequest(cursorId, null, null), CursorEntity.class, hostHandle);
222+
222223
return execution.thenApply(result -> {
223224
return createCursor(result, type, null, hostHandle);
224225
});
@@ -231,8 +232,8 @@ private <T> ArangoCursorAsync<T> createCursor(
231232
final HostHandle hostHandle) {
232233
return new ArangoCursorAsyncImpl<>(this, new ArangoCursorExecute() {
233234
@Override
234-
public CursorEntity next(final String id) {
235-
final CompletableFuture<CursorEntity> result = executor.execute(queryNextRequest(id, options),
235+
public CursorEntity next(final String id, Map<String, String> meta) {
236+
final CompletableFuture<CursorEntity> result = executor.execute(queryNextRequest(id, options, meta),
236237
CursorEntity.class, hostHandle);
237238
try {
238239
return result.get();
@@ -242,9 +243,9 @@ public CursorEntity next(final String id) {
242243
}
243244

244245
@Override
245-
public void close(final String id) {
246+
public void close(final String id, Map<String, String> meta) {
246247
try {
247-
executor.execute(queryCloseRequest(id, options), Void.class, hostHandle).get();
248+
executor.execute(queryCloseRequest(id, options, meta), Void.class, hostHandle).get();
248249
} catch (InterruptedException | ExecutionException e) {
249250
throw new ArangoDBException(e);
250251
}

src/test/java/com/arangodb/ArangoGraphTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737
import org.junit.BeforeClass;
3838
import org.junit.Test;
3939

40-
import com.arangodb.entity.ArangoDBVersion.License;
4140
import com.arangodb.entity.CollectionPropertiesEntity;
4241
import com.arangodb.entity.EdgeDefinition;
4342
import com.arangodb.entity.GraphEntity;
43+
import com.arangodb.entity.License;
4444
import com.arangodb.entity.ServerRole;
4545
import com.arangodb.model.GraphCreateOptions;
4646

0 commit comments

Comments
 (0)