hostList = createHostList(connectionFactory);
HostResolver hostResolver = createHostResolver(hostList, connectionFactory);
@@ -732,7 +730,7 @@ public Builder responseQueueTimeSamples(final Integer responseQueueTimeSamples)
* - body payload of requests and responses in {@link ArangoDB#execute(Request, Class)}
*
* However, note that the following types will always be serialized and deserialized using the internal serde:
- * - {@link com.fasterxml.jackson.databind.JsonNode}
+ * - {@link tools.jackson.databind.JsonNode}
* - {@link com.arangodb.util.RawJson}
* - {@link com.arangodb.util.RawBytes}
* - {@link com.arangodb.entity.BaseDocument}
@@ -828,29 +826,11 @@ protected ProtocolProvider protocolProvider(Protocol protocol) {
@UnstableApi
protected HostHandler createHostHandler(@UnstableApi final HostResolver hostResolver) {
-
- final HostHandler hostHandler;
-
- LoadBalancingStrategy loadBalancingStrategy = config.getLoadBalancingStrategy();
- if (loadBalancingStrategy != null) {
- switch (loadBalancingStrategy) {
- case ONE_RANDOM:
- hostHandler = new RandomHostHandler(hostResolver, new FallbackHostHandler(hostResolver));
- break;
- case ROUND_ROBIN:
- hostHandler = new RoundRobinHostHandler(hostResolver);
- break;
- case NONE:
- default:
- hostHandler = new FallbackHostHandler(hostResolver);
- break;
- }
- } else {
- hostHandler = new FallbackHostHandler(hostResolver);
- }
-
- LOG.debug("HostHandler is {}", hostHandler.getClass().getSimpleName());
- return hostHandler;
+ return switch (config.getLoadBalancingStrategy()) {
+ case ONE_RANDOM -> new RandomHostHandler(hostResolver, new FallbackHostHandler(hostResolver));
+ case ROUND_ROBIN -> new RoundRobinHostHandler(hostResolver);
+ default -> new FallbackHostHandler(hostResolver);
+ };
}
@UnstableApi
diff --git a/core/src/main/java/com/arangodb/PackageVersion.java.in b/core/src/main/java/com/arangodb/PackageVersion.java.in
index 47991a195..7db1e54ad 100644
--- a/core/src/main/java/com/arangodb/PackageVersion.java.in
+++ b/core/src/main/java/com/arangodb/PackageVersion.java.in
@@ -9,7 +9,7 @@ public final class PackageVersion {
private static boolean isShaded() {
try {
- Class.forName("com.arangodb.shaded.fasterxml.jackson.core.JsonFactory");
+ Class.forName("com.arangodb.shaded.jackson.core.json.JsonFactory");
return true;
} catch (ClassNotFoundException e) {
return false;
diff --git a/core/src/main/java/com/arangodb/entity/AbstractBaseDocument.java b/core/src/main/java/com/arangodb/entity/AbstractBaseDocument.java
index 5019834c8..e9e4bf8a2 100644
--- a/core/src/main/java/com/arangodb/entity/AbstractBaseDocument.java
+++ b/core/src/main/java/com/arangodb/entity/AbstractBaseDocument.java
@@ -45,7 +45,7 @@ abstract class AbstractBaseDocument implements Serializable {
DocumentFields.KEY,
DocumentFields.REV
};
- private final HashMap properties;
+ private HashMap properties;
AbstractBaseDocument() {
properties = new HashMap<>();
diff --git a/core/src/main/java/com/arangodb/entity/AqlQueryExplainEntity.java b/core/src/main/java/com/arangodb/entity/AqlQueryExplainEntity.java
index c4eb9ea22..1f061e4a6 100644
--- a/core/src/main/java/com/arangodb/entity/AqlQueryExplainEntity.java
+++ b/core/src/main/java/com/arangodb/entity/AqlQueryExplainEntity.java
@@ -68,7 +68,7 @@ public int hashCode() {
}
public static final class ExecutionPlan {
- private final Map properties = new HashMap<>();
+ private Map properties = new HashMap<>();
private Collection nodes;
private Double estimatedCost;
private Collection collections;
@@ -118,7 +118,7 @@ public int hashCode() {
}
public static final class ExecutionNode {
- private final Map properties = new HashMap<>();
+ private Map properties = new HashMap<>();
@JsonAnySetter
public void add(String key, Object value) {
@@ -143,7 +143,7 @@ public int hashCode() {
}
public static final class ExecutionVariable {
- private final Map properties = new HashMap<>();
+ private Map properties = new HashMap<>();
@JsonAnySetter
public void add(String key, Object value) {
@@ -168,7 +168,7 @@ public int hashCode() {
}
public static final class ExecutionCollection {
- private final Map properties = new HashMap<>();
+ private Map properties = new HashMap<>();
@JsonAnySetter
public void add(String key, Object value) {
@@ -193,7 +193,7 @@ public int hashCode() {
}
public static final class ExecutionStats {
- private final Map properties = new HashMap<>();
+ private Map properties = new HashMap<>();
@JsonAnySetter
public void add(String key, Object value) {
diff --git a/core/src/main/java/com/arangodb/entity/CollectionType.java b/core/src/main/java/com/arangodb/entity/CollectionType.java
index 7d771b67d..21fc46733 100644
--- a/core/src/main/java/com/arangodb/entity/CollectionType.java
+++ b/core/src/main/java/com/arangodb/entity/CollectionType.java
@@ -27,7 +27,7 @@ public enum CollectionType {
DOCUMENT(2), EDGES(3);
- private final int type;
+ private int type;
CollectionType(final int type) {
this.type = type;
diff --git a/core/src/main/java/com/arangodb/entity/CursorEntity.java b/core/src/main/java/com/arangodb/entity/CursorEntity.java
index 6070ddc1a..22fb93481 100644
--- a/core/src/main/java/com/arangodb/entity/CursorEntity.java
+++ b/core/src/main/java/com/arangodb/entity/CursorEntity.java
@@ -39,7 +39,7 @@ public final class CursorEntity {
private List result;
private Boolean potentialDirtyRead;
private String nextBatchId;
- private final Extras extra = new Extras();
+ private Extras extra = new Extras();
public String getId() {
return id;
@@ -124,7 +124,7 @@ public int hashCode() {
}
public static final class Extras {
- private final Collection warnings = Collections.emptyList();
+ private Collection warnings = Collections.emptyList();
private CursorStats stats;
public CursorStats getStats() {
diff --git a/core/src/main/java/com/arangodb/entity/CursorStats.java b/core/src/main/java/com/arangodb/entity/CursorStats.java
index 2d5ce96a3..2cbf04b3e 100644
--- a/core/src/main/java/com/arangodb/entity/CursorStats.java
+++ b/core/src/main/java/com/arangodb/entity/CursorStats.java
@@ -7,7 +7,7 @@
import java.util.Objects;
public final class CursorStats {
- private final Map properties = new HashMap<>();
+ private Map properties = new HashMap<>();
private Long writesExecuted;
private Long writesIgnored;
private Long scannedFull;
diff --git a/core/src/main/java/com/arangodb/entity/EdgeDefinition.java b/core/src/main/java/com/arangodb/entity/EdgeDefinition.java
index 021aab42c..5ef461ad6 100644
--- a/core/src/main/java/com/arangodb/entity/EdgeDefinition.java
+++ b/core/src/main/java/com/arangodb/entity/EdgeDefinition.java
@@ -32,7 +32,7 @@ public final class EdgeDefinition {
private String collection;
private Collection from;
private Collection to;
- private final Options options = new Options();
+ private Options options = new Options();
public String getCollection() {
return collection;
diff --git a/core/src/main/java/com/arangodb/entity/InvertedIndexField.java b/core/src/main/java/com/arangodb/entity/InvertedIndexField.java
index a05167612..155ee4058 100644
--- a/core/src/main/java/com/arangodb/entity/InvertedIndexField.java
+++ b/core/src/main/java/com/arangodb/entity/InvertedIndexField.java
@@ -15,7 +15,7 @@ public final class InvertedIndexField {
private Boolean searchField;
private Boolean trackListPositions;
private Boolean cache;
- private final Set features = new HashSet<>();
+ private Set features = new HashSet<>();
private Collection nested;
public String getName() {
diff --git a/core/src/main/java/com/arangodb/entity/InvertedIndexPrimarySort.java b/core/src/main/java/com/arangodb/entity/InvertedIndexPrimarySort.java
index b1b00105f..3d35f5ac1 100644
--- a/core/src/main/java/com/arangodb/entity/InvertedIndexPrimarySort.java
+++ b/core/src/main/java/com/arangodb/entity/InvertedIndexPrimarySort.java
@@ -14,7 +14,7 @@
* @since ArangoDB 3.10
*/
public final class InvertedIndexPrimarySort {
- private final List fields = new ArrayList<>();
+ private List fields = new ArrayList<>();
private ArangoSearchCompression compression;
private Boolean cache;
@@ -75,8 +75,8 @@ public int hashCode() {
}
public static class Field {
- private final String field;
- private final Direction direction;
+ private String field;
+ private Direction direction;
/**
* @param field An attribute path. The . character denotes sub-attributes.
diff --git a/core/src/main/java/com/arangodb/entity/LogLevel.java b/core/src/main/java/com/arangodb/entity/LogLevel.java
index 8895bfa7a..b61c00268 100644
--- a/core/src/main/java/com/arangodb/entity/LogLevel.java
+++ b/core/src/main/java/com/arangodb/entity/LogLevel.java
@@ -27,7 +27,7 @@ public enum LogLevel {
FATAL(0), ERROR(1), WARNING(2), INFO(3), DEBUG(4);
- private final int level;
+ private int level;
LogLevel(final int level) {
this.level = level;
diff --git a/core/src/main/java/com/arangodb/entity/ReplicationFactor.java b/core/src/main/java/com/arangodb/entity/ReplicationFactor.java
index 60e56e4af..aed17806a 100644
--- a/core/src/main/java/com/arangodb/entity/ReplicationFactor.java
+++ b/core/src/main/java/com/arangodb/entity/ReplicationFactor.java
@@ -46,7 +46,7 @@ public String get() {
final class NumericReplicationFactor implements ReplicationFactor {
- private final Integer value;
+ private Integer value;
public NumericReplicationFactor(Integer value) {
this.value = value;
diff --git a/core/src/main/java/com/arangodb/entity/ShardingStrategy.java b/core/src/main/java/com/arangodb/entity/ShardingStrategy.java
index 384e51554..2c78c8c14 100644
--- a/core/src/main/java/com/arangodb/entity/ShardingStrategy.java
+++ b/core/src/main/java/com/arangodb/entity/ShardingStrategy.java
@@ -32,7 +32,7 @@ public enum ShardingStrategy {
ENTERPRISE_HASH_SMART_EDGE("enterprise-hash-smart-edge"),
ENTERPRISE_HEX_SMART_VERTEX("enterprise-hex-smart-vertex");
- private final String internalName;
+ private String internalName;
ShardingStrategy(String internalName) {
this.internalName = internalName;
diff --git a/core/src/main/java/com/arangodb/entity/VectorIndexParams.java b/core/src/main/java/com/arangodb/entity/VectorIndexParams.java
index a03267dba..d29a166e9 100644
--- a/core/src/main/java/com/arangodb/entity/VectorIndexParams.java
+++ b/core/src/main/java/com/arangodb/entity/VectorIndexParams.java
@@ -82,7 +82,7 @@ public VectorIndexParams metric(Metric metric) {
return this;
}
- public Integer getnLists() {
+ public Integer getNLists() {
return nLists;
}
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchCompression.java b/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchCompression.java
index 6bc05ee4c..23d9f8948 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchCompression.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchCompression.java
@@ -37,7 +37,7 @@ public enum ArangoSearchCompression {
*/
none("none");
- private final String value;
+ private String value;
ArangoSearchCompression(String value) {
this.value = value;
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchPropertiesEntity.java b/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchPropertiesEntity.java
index d17861430..915a26920 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchPropertiesEntity.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/ArangoSearchPropertiesEntity.java
@@ -22,7 +22,7 @@
import com.arangodb.entity.ViewEntity;
import com.arangodb.internal.serde.InternalDeserializers;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import tools.jackson.databind.annotation.JsonDeserialize;
import java.util.Collection;
import java.util.Objects;
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/CollectionLink.java b/core/src/main/java/com/arangodb/entity/arangosearch/CollectionLink.java
index 467b380c2..48d7a8cec 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/CollectionLink.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/CollectionLink.java
@@ -25,8 +25,8 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import tools.jackson.databind.annotation.JsonDeserialize;
+import tools.jackson.databind.annotation.JsonSerialize;
import java.util.Arrays;
import java.util.Collection;
@@ -37,7 +37,7 @@
*/
public final class CollectionLink {
- private final String name;
+ private String name;
private Collection analyzers;
private Boolean includeAllFields;
private Boolean trackListPositions;
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/FieldLink.java b/core/src/main/java/com/arangodb/entity/arangosearch/FieldLink.java
index 5d76a95db..7df48e6d2 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/FieldLink.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/FieldLink.java
@@ -5,8 +5,8 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import tools.jackson.databind.annotation.JsonDeserialize;
+import tools.jackson.databind.annotation.JsonSerialize;
import java.util.Arrays;
import java.util.Collection;
@@ -14,7 +14,7 @@
public final class FieldLink {
- private final String name;
+ private String name;
private Collection analyzers;
private Boolean includeAllFields;
private Boolean trackListPositions;
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/PrimarySort.java b/core/src/main/java/com/arangodb/entity/arangosearch/PrimarySort.java
index 5b82d830e..aaa5f8302 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/PrimarySort.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/PrimarySort.java
@@ -30,7 +30,7 @@
*/
public final class PrimarySort {
- private final String fieldName;
+ private String fieldName;
private Boolean ascending;
public PrimarySort(
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasIndex.java b/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasIndex.java
index 7d92d2768..281c05a0e 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasIndex.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasIndex.java
@@ -10,9 +10,9 @@
* @since ArabgoDB 3.10
*/
public final class SearchAliasIndex {
- private final String collection;
- private final String index;
- private final OperationType operation;
+ private String collection;
+ private String index;
+ private OperationType operation;
/**
* @param collection The name of a collection.
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasPropertiesEntity.java b/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasPropertiesEntity.java
index 208c17664..30e3658d6 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasPropertiesEntity.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/SearchAliasPropertiesEntity.java
@@ -31,7 +31,7 @@
*/
public final class SearchAliasPropertiesEntity extends ViewEntity {
- private final Collection indexes = new ArrayList<>();
+ private Collection indexes = new ArrayList<>();
/**
* @return A list of inverted indexes to add to the View.
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/StoredValue.java b/core/src/main/java/com/arangodb/entity/arangosearch/StoredValue.java
index 824db2066..999966eac 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/StoredValue.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/StoredValue.java
@@ -33,9 +33,9 @@
*/
public final class StoredValue {
- private final List fields;
- private final ArangoSearchCompression compression;
- private final Boolean cache;
+ private List fields;
+ private ArangoSearchCompression compression;
+ private Boolean cache;
/**
* @param fields A list of attribute paths. The . character denotes sub-attributes.
diff --git a/core/src/main/java/com/arangodb/entity/arangosearch/analyzer/StopwordsAnalyzerProperties.java b/core/src/main/java/com/arangodb/entity/arangosearch/analyzer/StopwordsAnalyzerProperties.java
index daa3d4e04..72034c05d 100644
--- a/core/src/main/java/com/arangodb/entity/arangosearch/analyzer/StopwordsAnalyzerProperties.java
+++ b/core/src/main/java/com/arangodb/entity/arangosearch/analyzer/StopwordsAnalyzerProperties.java
@@ -33,8 +33,8 @@
*/
public final class StopwordsAnalyzerProperties {
- private final List stopwords;
- private final boolean hex;
+ private List stopwords;
+ private boolean hex;
public StopwordsAnalyzerProperties() {
stopwords = new ArrayList<>();
diff --git a/core/src/main/java/com/arangodb/internal/ArangoExecutor.java b/core/src/main/java/com/arangodb/internal/ArangoExecutor.java
index 3f491f701..854dafa95 100644
--- a/core/src/main/java/com/arangodb/internal/ArangoExecutor.java
+++ b/core/src/main/java/com/arangodb/internal/ArangoExecutor.java
@@ -22,6 +22,7 @@
import com.arangodb.ArangoDBException;
import com.arangodb.QueueTimeMetrics;
+import com.arangodb.RequestContext;
import com.arangodb.internal.config.ArangoConfig;
import com.arangodb.internal.net.CommunicationProtocol;
import com.arangodb.internal.serde.InternalSerde;
@@ -58,8 +59,8 @@ public void setJwt(String jwt) {
protocol.setJwt(jwt);
}
- protected T createResult(final Type type, final InternalResponse response) {
- return serde.deserialize(response.getBody(), type);
+ protected T createResult(final Type type, final InternalResponse response, final RequestContext ctx) {
+ return serde.deserialize(response.getBody(), type, ctx);
}
protected final void interceptResponse(InternalResponse response) {
@@ -79,6 +80,6 @@ public QueueTimeMetrics getQueueTimeMetrics() {
}
public interface ResponseDeserializer {
- T deserialize(InternalResponse response);
+ T deserialize(InternalResponse response, RequestContext ctx);
}
}
diff --git a/core/src/main/java/com/arangodb/internal/ArangoExecutorAsync.java b/core/src/main/java/com/arangodb/internal/ArangoExecutorAsync.java
index cb1f1c2f3..6db961a0c 100644
--- a/core/src/main/java/com/arangodb/internal/ArangoExecutorAsync.java
+++ b/core/src/main/java/com/arangodb/internal/ArangoExecutorAsync.java
@@ -49,7 +49,7 @@ public CompletableFuture execute(final Supplier requestS
}
public CompletableFuture execute(final Supplier requestSupplier, final Type type, final HostHandle hostHandle) {
- return execute(requestSupplier, (response) -> createResult(type, response), hostHandle);
+ return execute(requestSupplier, (response, ctx) -> createResult(type, response, ctx), hostHandle);
}
public CompletableFuture execute(final Supplier requestSupplier, final ResponseDeserializer responseDeserializer) {
@@ -72,8 +72,7 @@ public CompletableFuture execute(
throw ArangoDBException.of(e);
} else {
interceptResponse(r.response);
- return RequestContextHolder.INSTANCE.runWithCtx(r.context, () ->
- responseDeserializer.deserialize(r.response));
+ return responseDeserializer.deserialize(r.response, r.context);
}
});
diff --git a/core/src/main/java/com/arangodb/internal/ArangoExecutorSync.java b/core/src/main/java/com/arangodb/internal/ArangoExecutorSync.java
index dfd9f986c..6140f2c84 100644
--- a/core/src/main/java/com/arangodb/internal/ArangoExecutorSync.java
+++ b/core/src/main/java/com/arangodb/internal/ArangoExecutorSync.java
@@ -40,7 +40,7 @@ public T execute(final InternalRequest request, final Type type) {
}
public T execute(final InternalRequest request, final Type type, final HostHandle hostHandle) {
- return execute(request, (response) -> createResult(type, response), hostHandle);
+ return execute(request, (response, ctx) -> createResult(type, response, ctx), hostHandle);
}
public T execute(final InternalRequest request, final ResponseDeserializer responseDeserializer) {
@@ -54,8 +54,8 @@ public T execute(
final InternalResponse response = protocol.execute(interceptRequest(request), hostHandle);
interceptResponse(response);
- return RequestContextHolder.INSTANCE.runWithCtx(new RequestContextImpl(request), () ->
- responseDeserializer.deserialize(response));
+ RequestContextImpl ctx = new RequestContextImpl(request);
+ return responseDeserializer.deserialize(response, ctx);
}
}
diff --git a/core/src/main/java/com/arangodb/internal/InternalArangoCollection.java b/core/src/main/java/com/arangodb/internal/InternalArangoCollection.java
index 1ff995d86..8a937053f 100644
--- a/core/src/main/java/com/arangodb/internal/InternalArangoCollection.java
+++ b/core/src/main/java/com/arangodb/internal/InternalArangoCollection.java
@@ -27,7 +27,7 @@
import com.arangodb.internal.util.RequestUtils;
import com.arangodb.model.*;
import com.arangodb.util.RawData;
-import com.fasterxml.jackson.databind.JsonNode;
+import tools.jackson.databind.JsonNode;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -109,10 +109,10 @@ private InternalRequest createInsertDocumentRequest(final DocumentCreateOptions
}
protected ResponseDeserializer>> insertDocumentsResponseDeserializer(Class userDataClass) {
- return (response) -> {
+ return (response, ctx) -> {
Type type = constructParametricType(MultiDocumentEntity.class,
constructParametricType(DocumentCreateEntity.class, userDataClass));
- return getSerde().deserialize(response.getBody(), type);
+ return getSerde().deserialize(response.getBody(), type, ctx);
};
}
@@ -148,7 +148,7 @@ protected InternalRequest getDocumentRequest(final String key, final DocumentRea
}
protected ResponseDeserializer getDocumentResponseDeserializer(final Class type) {
- return (response) -> getSerde().deserializeUserData(response.getBody(), type);
+ return (response, ctx) -> getSerde().deserializeUserData(response.getBody(), type, ctx);
}
protected InternalRequest getDocumentsRequest(final Iterable keys, final DocumentReadOptions options) {
@@ -165,9 +165,9 @@ protected InternalRequest getDocumentsRequest(final Iterable keys, final
}
protected ResponseDeserializer> getDocumentsResponseDeserializer(final Class type) {
- return (response) -> {
+ return (response, ctx) -> {
MultiDocumentEntity multiDocument = getSerde().deserialize(response.getBody(),
- constructParametricType(MultiDocumentEntity.class, type));
+ constructParametricType(MultiDocumentEntity.class, type), ctx);
boolean potentialDirtyRead = Boolean.parseBoolean(response.getMeta("X-Arango-Potential-Dirty-Read"));
multiDocument.setPotentialDirtyRead(potentialDirtyRead);
return multiDocument;
@@ -210,10 +210,10 @@ private InternalRequest createReplaceDocumentRequest(final DocumentReplaceOption
protected ResponseDeserializer>> replaceDocumentsResponseDeserializer(
final Class returnType) {
- return (response) -> {
+ return (response, ctx) -> {
Type type = constructParametricType(MultiDocumentEntity.class,
constructParametricType(DocumentUpdateEntity.class, returnType));
- return getSerde().deserialize(response.getBody(), type);
+ return getSerde().deserialize(response.getBody(), type, ctx);
};
}
@@ -254,10 +254,10 @@ private InternalRequest createUpdateDocumentRequest(final DocumentUpdateOptions
protected ResponseDeserializer>> updateDocumentsResponseDeserializer(
final Class returnType) {
- return (response) -> {
+ return (response, ctx) -> {
Type type = constructParametricType(MultiDocumentEntity.class,
constructParametricType(DocumentUpdateEntity.class, returnType));
- return getSerde().deserialize(response.getBody(), type);
+ return getSerde().deserialize(response.getBody(), type, ctx);
};
}
@@ -292,10 +292,10 @@ private InternalRequest createDeleteDocumentRequest(final DocumentDeleteOptions
protected ResponseDeserializer>> deleteDocumentsResponseDeserializer(
final Class userDataClass) {
- return (response) -> {
+ return (response, ctx) -> {
Type type = constructParametricType(MultiDocumentEntity.class,
constructParametricType(DocumentDeleteEntity.class, userDataClass));
- return getSerde().deserialize(response.getBody(), type);
+ return getSerde().deserialize(response.getBody(), type, ctx);
};
}
@@ -318,7 +318,7 @@ protected InternalRequest deleteIndexRequest(final String id) {
}
protected ResponseDeserializer deleteIndexResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/id", String.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/id", String.class, ctx);
}
private String createIndexId(final String id) {
@@ -389,11 +389,11 @@ protected InternalRequest getIndexesRequest() {
}
protected ResponseDeserializer> getIndexesResponseDeserializer() {
- return (response) -> {
+ return (response, ctx) -> {
Collection indexes = new ArrayList<>();
for (JsonNode idx : getSerde().parse(response.getBody(), "/indexes")) {
- if (!"inverted".equals(idx.get("type").textValue())) {
- indexes.add(getSerde().deserialize(idx, IndexEntity.class));
+ if (!"inverted".equals(idx.get("type").stringValue())) {
+ indexes.add(getSerde().deserialize(idx, IndexEntity.class, ctx));
}
}
return indexes;
@@ -401,11 +401,11 @@ protected ResponseDeserializer> getIndexesResponseDeseri
}
protected ResponseDeserializer> getInvertedIndexesResponseDeserializer() {
- return (response) -> {
+ return (response, ctx) -> {
Collection indexes = new ArrayList<>();
for (JsonNode idx : getSerde().parse(response.getBody(), "/indexes")) {
- if ("inverted".equals(idx.get("type").textValue())) {
- indexes.add(getSerde().deserialize(idx, InvertedIndexEntity.class));
+ if ("inverted".equals(idx.get("type").stringValue())) {
+ indexes.add(getSerde().deserialize(idx, InvertedIndexEntity.class, ctx));
}
}
return indexes;
@@ -477,8 +477,8 @@ protected InternalRequest getPermissionsRequest(final String user) {
}
protected ResponseDeserializer getPermissionsResponseDeserialzer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- Permissions.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ Permissions.class, ctx);
}
}
diff --git a/core/src/main/java/com/arangodb/internal/InternalArangoDB.java b/core/src/main/java/com/arangodb/internal/InternalArangoDB.java
index a07fe4c07..31b07268e 100644
--- a/core/src/main/java/com/arangodb/internal/InternalArangoDB.java
+++ b/core/src/main/java/com/arangodb/internal/InternalArangoDB.java
@@ -67,11 +67,11 @@ protected InternalRequest getServerIdRequest() {
}
protected ResponseDeserializer getRoleResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/role", ServerRole.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/role", ServerRole.class, ctx);
}
protected ResponseDeserializer getServerIdResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/id", String.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/id", String.class, ctx);
}
protected InternalRequest createDatabaseRequest(final DBCreateOptions options) {
@@ -82,8 +82,8 @@ protected InternalRequest createDatabaseRequest(final DBCreateOptions options) {
}
protected ResponseDeserializer createDatabaseResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- Boolean.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ Boolean.class, ctx);
}
protected InternalRequest getDatabasesRequest(final String dbName) {
@@ -91,8 +91,8 @@ protected InternalRequest getDatabasesRequest(final String dbName) {
}
protected ResponseDeserializer> getDatabaseResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- constructListType(String.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ constructListType(String.class), ctx);
}
protected InternalRequest getAccessibleDatabasesForRequest(final String dbName, final String user) {
@@ -100,15 +100,7 @@ protected InternalRequest getAccessibleDatabasesForRequest(final String dbName,
}
protected ResponseDeserializer> getAccessibleDatabasesForResponseDeserializer() {
- return (response) -> {
- Iterator names =
- getSerde().parse(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER).fieldNames();
- final Collection dbs = new ArrayList<>();
- while (names.hasNext()) {
- dbs.add(names.next());
- }
- return dbs;
- };
+ return (response, ctx) -> getSerde().parse(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER).propertyNames();
}
protected InternalRequest createUserRequest(
@@ -137,8 +129,8 @@ protected InternalRequest getUserRequest(final String dbName, final String user)
}
protected ResponseDeserializer> getUsersResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- constructListType(UserEntity.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ constructListType(UserEntity.class), ctx);
}
protected InternalRequest updateUserRequest(final String dbName, final String user, final UserUpdateOptions options) {
@@ -174,10 +166,10 @@ protected InternalRequest executeRequest(final Request> request) {
}
protected ResponseDeserializer> responseDeserializer(Class type) {
- return (response) -> new Response<>(
+ return (response, ctx) -> new Response<>(
response.getResponseCode(),
response.getMeta(),
- getSerde().deserializeUserData(response.getBody(), type)
+ getSerde().deserializeUserData(response.getBody(), type, ctx)
);
}
diff --git a/core/src/main/java/com/arangodb/internal/InternalArangoDatabase.java b/core/src/main/java/com/arangodb/internal/InternalArangoDatabase.java
index 905fd3506..c51e672ec 100644
--- a/core/src/main/java/com/arangodb/internal/InternalArangoDatabase.java
+++ b/core/src/main/java/com/arangodb/internal/InternalArangoDatabase.java
@@ -68,8 +68,8 @@ public String name() {
}
protected ResponseDeserializer> getDatabaseResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- constructListType(String.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ constructListType(String.class), ctx);
}
protected InternalRequest getAccessibleDatabasesRequest() {
@@ -101,8 +101,8 @@ protected InternalRequest getCollectionsRequest(final CollectionsReadOptions opt
}
protected ResponseDeserializer> getCollectionsResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- constructListType(CollectionEntity.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ constructListType(CollectionEntity.class), ctx);
}
protected InternalRequest dropRequest() {
@@ -110,8 +110,8 @@ protected InternalRequest dropRequest() {
}
protected ResponseDeserializer createDropResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- Boolean.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ Boolean.class, ctx);
}
protected InternalRequest grantAccessRequest(final String user, final Permissions permissions) {
@@ -134,8 +134,8 @@ protected InternalRequest getPermissionsRequest(final String user) {
}
protected ResponseDeserializer getPermissionsResponseDeserialzer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- Permissions.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ Permissions.class, ctx);
}
protected InternalRequest queryRequest(final String query, final Map bindVars,
@@ -218,8 +218,8 @@ protected InternalRequest killQueryRequest(final String id) {
}
public ResponseDeserializer> cursorEntityDeserializer(final Class type) {
- return (response) -> {
- CursorEntity e = getSerde().deserialize(response.getBody(), constructParametricType(CursorEntity.class, type));
+ return (response, ctx) -> {
+ CursorEntity e = getSerde().deserialize(response.getBody(), constructParametricType(CursorEntity.class, type), ctx);
boolean potentialDirtyRead = Boolean.parseBoolean(response.getMeta("X-Arango-Potential-Dirty-Read"));
e.setPotentialDirtyRead(potentialDirtyRead);
return e;
@@ -235,7 +235,7 @@ protected InternalRequest createGraphRequest(final String name, final Iterable createGraphResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/graph", GraphEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/graph", GraphEntity.class, ctx);
}
protected InternalRequest getGraphsRequest() {
@@ -243,8 +243,8 @@ protected InternalRequest getGraphsRequest() {
}
protected ResponseDeserializer> getGraphsResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/graphs",
- constructListType(GraphEntity.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/graphs",
+ constructListType(GraphEntity.class), ctx);
}
protected InternalRequest beginStreamTransactionRequest(final StreamTransactionOptions options) {
@@ -269,8 +269,8 @@ protected InternalRequest getStreamTransactionRequest(String id) {
}
protected ResponseDeserializer> transactionsResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/transactions",
- constructListType(TransactionEntity.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/transactions",
+ constructListType(TransactionEntity.class), ctx);
}
protected InternalRequest commitStreamTransactionRequest(String id) {
@@ -278,8 +278,8 @@ protected InternalRequest commitStreamTransactionRequest(String id) {
}
protected ResponseDeserializer streamTransactionResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- StreamTransactionEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ StreamTransactionEntity.class, ctx);
}
protected InternalRequest getInfoRequest() {
@@ -287,8 +287,8 @@ protected InternalRequest getInfoRequest() {
}
protected ResponseDeserializer getInfoResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- DatabaseEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ DatabaseEntity.class, ctx);
}
protected InternalRequest getViewsRequest() {
@@ -296,8 +296,8 @@ protected InternalRequest getViewsRequest() {
}
protected ResponseDeserializer> getViewsResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- constructListType(ViewEntity.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ constructListType(ViewEntity.class), ctx);
}
protected InternalRequest createViewRequest(final String name, final ViewType type) {
@@ -322,8 +322,8 @@ protected InternalRequest getAnalyzersRequest() {
}
protected ResponseDeserializer> getSearchAnalyzersResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
- constructListType(SearchAnalyzer.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), ArangoResponseField.RESULT_JSON_POINTER,
+ constructListType(SearchAnalyzer.class), ctx);
}
protected InternalRequest createAnalyzerRequest(final SearchAnalyzer options) {
diff --git a/core/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java b/core/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java
index 33bc6d832..af53cf05e 100644
--- a/core/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java
+++ b/core/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java
@@ -72,7 +72,7 @@ protected InternalRequest insertEdgeRequest(final T value, final EdgeCreateO
}
protected ResponseDeserializer insertEdgeResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeEntity.class, ctx);
}
protected InternalRequest getEdgeRequest(final String key, final GraphDocumentReadOptions options) {
@@ -89,7 +89,7 @@ protected InternalRequest getEdgeRequest(final String key, final GraphDocumentRe
}
protected ResponseDeserializer getEdgeResponseDeserializer(final Class type) {
- return (response) -> getSerde().deserializeUserData(getSerde().extract(response.getBody(), EDGE_JSON_POINTER), type);
+ return (response, ctx) -> getSerde().deserializeUserData(getSerde().extract(response.getBody(), EDGE_JSON_POINTER), type, ctx);
}
protected InternalRequest replaceEdgeRequest(final String key, final T value, final EdgeReplaceOptions options) {
@@ -104,7 +104,7 @@ protected InternalRequest replaceEdgeRequest(final String key, final T value
}
protected ResponseDeserializer replaceEdgeResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeUpdateEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeUpdateEntity.class, ctx);
}
protected InternalRequest updateEdgeRequest(final String key, final T value, final EdgeUpdateOptions options) {
@@ -121,7 +121,7 @@ protected InternalRequest updateEdgeRequest(final String key, final T value,
}
protected ResponseDeserializer updateEdgeResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeUpdateEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeUpdateEntity.class, ctx);
}
protected InternalRequest deleteEdgeRequest(final String key, final EdgeDeleteOptions options) {
diff --git a/core/src/main/java/com/arangodb/internal/InternalArangoGraph.java b/core/src/main/java/com/arangodb/internal/InternalArangoGraph.java
index 45e4a7bd3..ff0bd6578 100644
--- a/core/src/main/java/com/arangodb/internal/InternalArangoGraph.java
+++ b/core/src/main/java/com/arangodb/internal/InternalArangoGraph.java
@@ -79,8 +79,8 @@ protected InternalRequest getVertexCollectionsRequest() {
}
protected ResponseDeserializer> getVertexCollectionsResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/collections",
- constructListType(String.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/collections",
+ constructListType(String.class), ctx);
}
protected InternalRequest addVertexCollectionRequest(final String name, final VertexCollectionCreateOptions options) {
@@ -98,8 +98,8 @@ protected InternalRequest getEdgeDefinitionsRequest() {
}
protected ResponseDeserializer> getEdgeDefinitionsDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), "/collections",
- constructListType(String.class));
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), "/collections",
+ constructListType(String.class), ctx);
}
protected InternalRequest addEdgeDefinitionRequest(final EdgeDefinition definition) {
@@ -109,7 +109,7 @@ protected InternalRequest addEdgeDefinitionRequest(final EdgeDefinition definiti
}
protected ResponseDeserializer addEdgeDefinitionResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), GRAPH, GraphEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), GRAPH, GraphEntity.class, ctx);
}
protected InternalRequest replaceEdgeDefinitionRequest(final EdgeDefinition definition, final ReplaceEdgeDefinitionOptions options) {
@@ -122,7 +122,7 @@ protected InternalRequest replaceEdgeDefinitionRequest(final EdgeDefinition defi
}
protected ResponseDeserializer replaceEdgeDefinitionResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), GRAPH, GraphEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), GRAPH, GraphEntity.class, ctx);
}
}
diff --git a/core/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java b/core/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java
index 5706ec034..322ff4187 100644
--- a/core/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java
+++ b/core/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java
@@ -71,7 +71,7 @@ protected InternalRequest insertVertexRequest(final T value, final VertexCre
}
protected ResponseDeserializer insertVertexResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexEntity.class, ctx);
}
protected InternalRequest getVertexRequest(final String key, final GraphDocumentReadOptions options) {
@@ -88,7 +88,7 @@ protected InternalRequest getVertexRequest(final String key, final GraphDocument
}
protected ResponseDeserializer getVertexResponseDeserializer(final Class type) {
- return (response) -> getSerde().deserializeUserData(getSerde().extract(response.getBody(), VERTEX_JSON_POINTER), type);
+ return (response, ctx) -> getSerde().deserializeUserData(getSerde().extract(response.getBody(), VERTEX_JSON_POINTER), type, ctx);
}
protected InternalRequest replaceVertexRequest(final String key, final T value, final VertexReplaceOptions options) {
@@ -103,7 +103,7 @@ protected InternalRequest replaceVertexRequest(final String key, final T val
}
protected ResponseDeserializer replaceVertexResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexUpdateEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexUpdateEntity.class, ctx);
}
protected InternalRequest updateVertexRequest(final String key, final T value, final VertexUpdateOptions options) {
@@ -120,7 +120,7 @@ protected InternalRequest updateVertexRequest(final String key, final T valu
}
protected ResponseDeserializer updateVertexResponseDeserializer() {
- return (response) -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexUpdateEntity.class);
+ return (response, ctx) -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexUpdateEntity.class, ctx);
}
protected InternalRequest deleteVertexRequest(final String key, final VertexDeleteOptions options) {
diff --git a/core/src/main/java/com/arangodb/internal/RequestContextHolder.java b/core/src/main/java/com/arangodb/internal/RequestContextHolder.java
deleted file mode 100644
index bde22f031..000000000
--- a/core/src/main/java/com/arangodb/internal/RequestContextHolder.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.arangodb.internal;
-
-import com.arangodb.RequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Objects;
-import java.util.function.Supplier;
-
-public enum RequestContextHolder {
- INSTANCE;
-
- private final static Logger LOGGER = LoggerFactory.getLogger(RequestContextHolder.class);
-
- private final ThreadLocal runningWithinCtx = ThreadLocal.withInitial(() -> false);
- private final ThreadLocal ctx = ThreadLocal.withInitial(() -> RequestContext.EMPTY);
-
- public T runWithCtx(RequestContext requestContext, Supplier fun) {
- Objects.requireNonNull(requestContext);
- RequestContext old = null;
- try {
- if (runningWithinCtx.get()) {
- // re-entrant invocation, keep track of old ctx to restore later
- old = ctx.get();
- }
- LOGGER.debug("setting RequestContext: {}", requestContext);
- ctx.set(requestContext);
- runningWithinCtx.set(true);
- return fun.get();
- } finally {
- if (old == null) {
- LOGGER.debug("removing RequestContext");
- ctx.remove();
- runningWithinCtx.remove();
- } else {
- // re-entrant invocation, restore old ctx
- LOGGER.debug("restore RequestContext: {}", old);
- ctx.set(old);
- }
- }
- }
-
- public RequestContext getCtx() {
- if (!runningWithinCtx.get()) {
- throw new IllegalStateException("Not within ctx!");
- }
-
- RequestContext requestContext = ctx.get();
- LOGGER.debug("returning RequestContext: {}", requestContext);
- return requestContext;
- }
-}
diff --git a/core/src/main/java/com/arangodb/internal/config/ArangoConfig.java b/core/src/main/java/com/arangodb/internal/config/ArangoConfig.java
index f4c08e0cc..5633d7857 100644
--- a/core/src/main/java/com/arangodb/internal/config/ArangoConfig.java
+++ b/core/src/main/java/com/arangodb/internal/config/ArangoConfig.java
@@ -9,10 +9,8 @@
import com.arangodb.entity.LoadBalancingStrategy;
import com.arangodb.internal.ArangoDefaults;
import com.arangodb.internal.serde.InternalSerde;
-import com.arangodb.internal.serde.InternalSerdeProvider;
import com.arangodb.serde.ArangoSerde;
import com.arangodb.serde.ArangoSerdeProvider;
-import com.fasterxml.jackson.databind.Module;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManagerFactory;
@@ -57,7 +55,6 @@ public class ArangoConfig {
private ArangoSerde userDataSerde;
private Class extends ArangoSerdeProvider> serdeProviderClass;
private Integer responseQueueTimeSamples;
- private Module protocolModule;
private Executor asyncExecutor;
private Compression compression;
private Integer compressionThreshold;
@@ -314,7 +311,7 @@ public ArangoSerde getUserDataSerde() {
public InternalSerde getInternalSerde() {
if (internalSerde == null) {
- internalSerde = new InternalSerdeProvider().create(getUserDataSerde(), protocolModule);
+ internalSerde = InternalSerde.create(getUserDataSerde());
}
return internalSerde;
}
@@ -335,10 +332,6 @@ public void setResponseQueueTimeSamples(Integer responseQueueTimeSamples) {
this.responseQueueTimeSamples = responseQueueTimeSamples;
}
- public void setProtocolModule(Module m) {
- protocolModule = m;
- }
-
public Executor getAsyncExecutor() {
return asyncExecutor;
}
diff --git a/core/src/main/java/com/arangodb/internal/net/ExtendedHostResolver.java b/core/src/main/java/com/arangodb/internal/net/ExtendedHostResolver.java
index 7ba5b58de..3dd8e9c40 100644
--- a/core/src/main/java/com/arangodb/internal/net/ExtendedHostResolver.java
+++ b/core/src/main/java/com/arangodb/internal/net/ExtendedHostResolver.java
@@ -133,11 +133,11 @@ private Collection resolveFromServer() {
try {
response = executor.execute(
new InternalRequest(ArangoRequestParam.SYSTEM, RequestType.GET, "/_api/cluster/endpoints"),
- (r) -> {
+ (r, ctx) -> {
final List