2121package com .arangodb .internal ;
2222
2323import java .io .IOException ;
24- import java .util .ArrayList ;
2524import java .util .Collection ;
26- import java .util .Collections ;
27- import java .util .Map ;
2825import java .util .concurrent .CompletableFuture ;
29- import java .util .concurrent .ExecutionException ;
3026
3127import com .arangodb .ArangoDBAsync ;
3228import com .arangodb .ArangoDBException ;
3733import com .arangodb .entity .Permissions ;
3834import com .arangodb .entity .ServerRole ;
3935import com .arangodb .entity .UserEntity ;
40- import com .arangodb .internal .ArangoExecutor .ResponseDeserializer ;
4136import com .arangodb .internal .net .CommunicationProtocol ;
4237import com .arangodb .internal .net .HostResolver ;
43- import com .arangodb .internal .net .HostResolver .EndpointResolver ;
4438import com .arangodb .internal .util .ArangoSerializationFactory ;
4539import com .arangodb .internal .util .ArangoSerializationFactory .Serializer ;
4640import com .arangodb .internal .velocystream .VstCommunication ;
5145import com .arangodb .model .LogOptions ;
5246import com .arangodb .model .UserCreateOptions ;
5347import com .arangodb .model .UserUpdateOptions ;
54- import com .arangodb .velocypack .VPackSlice ;
55- import com .arangodb .velocypack .exception .VPackException ;
5648import com .arangodb .velocystream .Request ;
57- import com .arangodb .velocystream .RequestType ;
5849import 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
0 commit comments