diff --git a/driver/src/main/java/com/arangodb/ArangoDB.java b/driver/src/main/java/com/arangodb/ArangoDB.java
index 661d77b30..118bd755c 100644
--- a/driver/src/main/java/com/arangodb/ArangoDB.java
+++ b/driver/src/main/java/com/arangodb/ArangoDB.java
@@ -23,9 +23,7 @@
import com.arangodb.config.ConfigPropertiesProvider;
import com.arangodb.config.ConfigPropertyKey;
import com.arangodb.entity.*;
-import com.arangodb.internal.ArangoDBImpl;
-import com.arangodb.internal.ArangoDefaults;
-import com.arangodb.internal.InternalArangoDBBuilder;
+import com.arangodb.internal.*;
import com.arangodb.internal.http.HttpCommunication;
import com.arangodb.internal.http.HttpConnectionFactory;
import com.arangodb.internal.net.*;
@@ -276,21 +274,19 @@ public interface ArangoDB extends ArangoSerdeAccessor {
void grantDefaultCollectionAccess(String user, Permissions permissions);
/**
- * Generic Execute. Use this method to execute custom FOXX services.
+ * Execute custom requests. Requests can be programmatically built by setting low level detail such as method, path,
+ * query parameters, headers and body payload.
+ * This method can be used to call FOXX services, API endpoints not (yet) implemented in this driver or trigger
+ * async jobs, see
+ * Fire and Forget
+ * and
+ * Async Execution and later Result Retrieval
*
* @param request request
- * @return VelocyStream response
+ * @param type Deserialization target type for the response body (POJO or {@link com.arangodb.util.RawData})
+ * @return response
*/
- Response execute(Request request);
-
- /**
- * Generic Execute. Use this method to execute custom FOXX services.
- *
- * @param request request
- * @param hostHandle Used to stick to a specific host when using {@link LoadBalancingStrategy#ROUND_ROBIN}
- * @return VelocyStream response
- */
- Response execute(Request request, HostHandle hostHandle);
+ Response execute(Request request, Class type);
/**
* Returns the server logs
diff --git a/driver/src/main/java/com/arangodb/ArangoDatabase.java b/driver/src/main/java/com/arangodb/ArangoDatabase.java
index 8224f27c0..1ef5e1de1 100644
--- a/driver/src/main/java/com/arangodb/ArangoDatabase.java
+++ b/driver/src/main/java/com/arangodb/ArangoDatabase.java
@@ -612,15 +612,6 @@ public interface ArangoDatabase extends ArangoSerdeAccessor {
*/
void reloadRouting();
- /**
- * Returns a new {@link ArangoRoute} instance for the given path (relative to the database) that can be used to
- * perform arbitrary requests.
- *
- * @param path The database-relative URL of the route
- * @return {@link ArangoRoute}
- */
- ArangoRoute route(String... path);
-
/**
* Fetches all views from the database and returns an list of view descriptions.
*
diff --git a/driver/src/main/java/com/arangodb/ArangoRoute.java b/driver/src/main/java/com/arangodb/ArangoRoute.java
deleted file mode 100644
index 4e4bab95b..000000000
--- a/driver/src/main/java/com/arangodb/ArangoRoute.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * DISCLAIMER
- *
- * Copyright 2018 ArangoDB GmbH, Cologne, Germany
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Copyright holder is ArangoDB GmbH, Cologne, Germany
- */
-
-package com.arangodb;
-
-/**
- * Interface for a specific path to be used to perform arbitrary requests.
- *
- * @author Mark Vollmary
- */
-public interface ArangoRoute extends ArangoSerdeAccessor {
-
- /**
- * Returns a new {@link ArangoRoute} instance for the given path (relative to the current route) that can be used to
- * perform arbitrary requests.
- *
- * @param path The relative URL of the route
- * @return {@link ArangoRoute}
- */
- ArangoRoute route(String... path);
-
- /**
- * Header that should be sent with each request to the route.
- *
- * @param key Header key
- * @param value Header value (the {@code toString()} method will be called for the value}
- * @return {@link ArangoRoute}
- */
- ArangoRoute withHeader(String key, Object value);
-
- /**
- * Query parameter that should be sent with each request to the route.
- *
- * @param key Query parameter key
- * @param value Query parameter value (the {@code toString()} method will be called for the value}
- * @return {@link ArangoRoute}
- */
- ArangoRoute withQueryParam(String key, Object value);
-
- /**
- * The response body.
- *
- * @param body The request body
- * @return {@link ArangoRoute}
- */
- ArangoRoute withBody(Object body);
-
- /**
- * Performs a DELETE request to the given URL and returns the server response.
- *
- * @return server response
- */
- Response delete();
-
- /**
- * Performs a GET request to the given URL and returns the server response.
- *
- * @return server response
- */
-
- Response get();
-
- /**
- * Performs a HEAD request to the given URL and returns the server response.
- *
- * @return server response
- */
-
- Response head();
-
- /**
- * Performs a PATCH request to the given URL and returns the server response.
- *
- * @return server response
- */
-
- Response patch();
-
- /**
- * Performs a POST request to the given URL and returns the server response.
- *
- * @return server response
- */
-
- Response post();
-
- /**
- * Performs a PUT request to the given URL and returns the server response.
- *
- * @return server response
- */
-
- Response put();
-
-}
diff --git a/driver/src/main/java/com/arangodb/Request.java b/driver/src/main/java/com/arangodb/Request.java
index f3c8e9429..dbc708632 100644
--- a/driver/src/main/java/com/arangodb/Request.java
+++ b/driver/src/main/java/com/arangodb/Request.java
@@ -1,137 +1,130 @@
-/*
- * DISCLAIMER
- *
- * Copyright 2016 ArangoDB GmbH, Cologne, Germany
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Copyright holder is ArangoDB GmbH, Cologne, Germany
- */
-
package com.arangodb;
-import java.util.Collections;
import java.util.HashMap;
-import java.util.Locale;
import java.util.Map;
-/**
- * @author Mark Vollmary
- */
-public class Request {
-
- private final DbName dbName;
- private final RequestType requestType;
+public final class Request {
+ private final DbName db;
+ private final Method method;
private final String path;
- private final Map queryParam;
- private final Map headerParam;
- private int version = 1;
- private int type = 1;
- private byte[] body;
-
- public Request(final DbName dbName, final RequestType requestType, final String path) {
- super();
- this.dbName = dbName;
- this.requestType = requestType;
- this.path = path;
- body = null;
- queryParam = new HashMap<>();
- headerParam = new HashMap<>();
- }
+ private final Map queryParams;
+ private final Map headers;
+ private final T body;
- public int getVersion() {
- return version;
+ public enum Method {
+ DELETE,
+ GET,
+ POST,
+ PUT,
+ HEAD,
+ PATCH,
+ OPTIONS
}
- public Request setVersion(final int version) {
- this.version = version;
- return this;
+ public static Builder builder() {
+ return new Builder<>();
}
- public int getType() {
- return type;
- }
-
- public Request setType(final int type) {
- this.type = type;
- return this;
+ private Request(DbName db, Method method, String path, Map queryParams, Map headers, T body) {
+ this.db = db;
+ this.method = method;
+ this.path = path;
+ this.queryParams = queryParams;
+ this.headers = headers;
+ this.body = body;
}
- public DbName getDbName() {
- return dbName;
+ public DbName getDb() {
+ return db;
}
- public RequestType getRequestType() {
- return requestType;
+ public Method getMethod() {
+ return method;
}
public String getPath() {
return path;
}
- public Map getQueryParam() {
- return queryParam;
+ public Map getQueryParams() {
+ return queryParams;
}
- public Request putQueryParam(final String key, final Object value) {
- if (value != null) {
- queryParam.put(key, value.toString());
- }
- return this;
+ public Map getHeaders() {
+ return headers;
}
- public Map getHeaderParam() {
- return Collections.unmodifiableMap(headerParam);
+ public T getBody() {
+ return body;
}
- public boolean containsHeaderParam(final String key) {
- return headerParam.containsKey(key.toLowerCase(Locale.ROOT));
- }
+ public static final class Builder {
+ private DbName db;
+ private Request.Method method;
+ private String path;
+ private final Map queryParams;
+ private final Map headers;
+ private T body;
- public Request putHeaderParam(final String key, final String value) {
- if (value != null) {
- headerParam.put(key.toLowerCase(Locale.ROOT), value);
+ public Builder() {
+ queryParams = new HashMap<>();
+ headers = new HashMap<>();
+ }
+
+ public Builder db(DbName db) {
+ this.db = db;
+ return this;
+ }
+
+ public Builder method(Request.Method method) {
+ this.method = method;
+ return this;
+ }
+
+ public Builder path(String path) {
+ this.path = path;
+ return this;
}
- return this;
- }
- public Request putHeaderParams(final Map params) {
- if (params != null) {
- for (Map.Entry it : params.entrySet()) {
- putHeaderParam(it.getKey(), it.getValue());
+ public Builder queryParam(final String key, final String value) {
+ if (value != null) {
+ queryParams.put(key, value);
}
+ return this;
}
- return this;
- }
- public byte[] getBody() {
- return body;
- }
+ public Builder queryParams(Map queryParams) {
+ if (queryParams != null) {
+ for (Map.Entry it : queryParams.entrySet()) {
+ queryParam(it.getKey(), it.getValue());
+ }
+ }
+ return this;
+ }
- public Request setBody(final byte[] body) {
- this.body = body;
- return this;
- }
+ public Builder header(final String key, final String value) {
+ if (value != null) {
+ headers.put(key, value);
+ }
+ return this;
+ }
- @Override
- public String toString() {
- return "{" +
- "requestType=" + requestType +
- ", database='" + dbName + '\'' +
- ", url='" + path + '\'' +
- ", parameters=" + queryParam +
- ", headers=" + headerParam +
- '}';
- }
+ public Builder headers(Map headers) {
+ if (headers != null) {
+ for (Map.Entry it : headers.entrySet()) {
+ header(it.getKey(), it.getValue());
+ }
+ }
+ return this;
+ }
+ public Builder body(T body) {
+ this.body = body;
+ return this;
+ }
+
+ public Request build() {
+ return new Request<>(db, method, path, queryParams, headers, body);
+ }
+ }
}
diff --git a/driver/src/main/java/com/arangodb/Response.java b/driver/src/main/java/com/arangodb/Response.java
index a7fffa552..49c37698b 100644
--- a/driver/src/main/java/com/arangodb/Response.java
+++ b/driver/src/main/java/com/arangodb/Response.java
@@ -1,105 +1,27 @@
-/*
- * DISCLAIMER
- *
- * Copyright 2016 ArangoDB GmbH, Cologne, Germany
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Copyright holder is ArangoDB GmbH, Cologne, Germany
- */
-
package com.arangodb;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Locale;
import java.util.Map;
-/**
- * @author Mark Vollmary
- */
-public class Response {
-
- private int version = 1;
- private int type = 2;
- private int responseCode;
- private final Map meta;
- private byte[] body = null;
-
- public Response() {
- super();
- meta = new HashMap<>();
- }
-
- public int getVersion() {
- return version;
- }
-
- public void setVersion(final int version) {
- this.version = version;
- }
-
- public int getType() {
- return type;
- }
+public final class Response {
+ private final int responseCode;
+ private final Map headers;
+ private final T body;
- public void setType(final int type) {
- this.type = type;
+ public Response(int responseCode, Map headers, T body) {
+ this.responseCode = responseCode;
+ this.headers = headers;
+ this.body = body;
}
public int getResponseCode() {
return responseCode;
}
- public void setResponseCode(final int responseCode) {
- this.responseCode = responseCode;
- }
-
- public Map getMeta() {
- return Collections.unmodifiableMap(meta);
- }
-
- public String getMeta(final String key) {
- return meta.get(key.toLowerCase(Locale.ROOT));
- }
-
- public boolean containsMeta(final String key) {
- return meta.containsKey(key.toLowerCase(Locale.ROOT));
- }
-
- public void putMeta(final String key, final String value) {
- this.meta.put(key.toLowerCase(Locale.ROOT), value);
+ public Map getHeaders() {
+ return headers;
}
- public void putMetas(final Map meta) {
- for (Map.Entry it : meta.entrySet()) {
- putMeta(it.getKey(), it.getValue());
- }
- }
-
- public byte[] getBody() {
+ public T getBody() {
return body;
}
-
- public void setBody(final byte[] body) {
- this.body = body;
- }
-
- @Override
- public String toString() {
- return "{" +
- "statusCode=" + responseCode +
- ", headers=" + meta +
- '}';
- }
}
diff --git a/driver/src/main/java/com/arangodb/async/ArangoDBAsync.java b/driver/src/main/java/com/arangodb/async/ArangoDBAsync.java
index 949dedd02..28e1701f3 100644
--- a/driver/src/main/java/com/arangodb/async/ArangoDBAsync.java
+++ b/driver/src/main/java/com/arangodb/async/ArangoDBAsync.java
@@ -257,12 +257,19 @@ public interface ArangoDBAsync extends ArangoSerdeAccessor {
CompletableFuture grantDefaultCollectionAccess(final String user, final Permissions permissions);
/**
- * Generic Execute. Use this method to execute custom FOXX services.
+ * Execute custom requests. Requests can be programmatically built by setting low level detail such as method, path,
+ * query parameters, headers and body payload.
+ * This method can be used to call FOXX services, API endpoints not (yet) implemented in this driver or trigger
+ * async jobs, see
+ * Fire and Forget
+ * and
+ * Async Execution and later Result Retrieval
*
- * @param request VelocyStream request
- * @return VelocyStream response
+ * @param request request
+ * @param type Deserialization target type for the response body (POJO or {@link com.arangodb.util.RawData})
+ * @return response
*/
- CompletableFuture execute(final Request request);
+ CompletableFuture> execute(final Request request, final Class type);
/**
* Returns the server logs
diff --git a/driver/src/main/java/com/arangodb/async/ArangoRouteAsync.java b/driver/src/main/java/com/arangodb/async/ArangoRouteAsync.java
index ed66aff87..c2ab2d221 100644
--- a/driver/src/main/java/com/arangodb/async/ArangoRouteAsync.java
+++ b/driver/src/main/java/com/arangodb/async/ArangoRouteAsync.java
@@ -21,7 +21,7 @@
package com.arangodb.async;
import com.arangodb.ArangoSerdeAccessor;
-import com.arangodb.Response;
+import com.arangodb.internal.InternalResponse;
import java.util.concurrent.CompletableFuture;
@@ -72,7 +72,7 @@ public interface ArangoRouteAsync extends ArangoSerdeAccessor {
*
* @return server response
*/
- CompletableFuture delete();
+ CompletableFuture delete();
/**
* Performs a GET request to the given URL and returns the server response.
@@ -80,7 +80,7 @@ public interface ArangoRouteAsync extends ArangoSerdeAccessor {
* @return server response
*/
- CompletableFuture get();
+ CompletableFuture get();
/**
* Performs a HEAD request to the given URL and returns the server response.
@@ -88,7 +88,7 @@ public interface ArangoRouteAsync extends ArangoSerdeAccessor {
* @return server response
*/
- CompletableFuture head();
+ CompletableFuture head();
/**
* Performs a PATCH request to the given URL and returns the server response.
@@ -96,7 +96,7 @@ public interface ArangoRouteAsync extends ArangoSerdeAccessor {
* @return server response
*/
- CompletableFuture patch();
+ CompletableFuture patch();
/**
* Performs a POST request to the given URL and returns the server response.
@@ -104,7 +104,7 @@ public interface ArangoRouteAsync extends ArangoSerdeAccessor {
* @return server response
*/
- CompletableFuture post();
+ CompletableFuture post();
/**
* Performs a PUT request to the given URL and returns the server response.
@@ -112,6 +112,6 @@ public interface ArangoRouteAsync extends ArangoSerdeAccessor {
* @return server response
*/
- CompletableFuture put();
+ CompletableFuture put();
}
diff --git a/driver/src/main/java/com/arangodb/async/internal/ArangoDBAsyncImpl.java b/driver/src/main/java/com/arangodb/async/internal/ArangoDBAsyncImpl.java
index 5e52ffdf5..2ad1b2b0d 100644
--- a/driver/src/main/java/com/arangodb/async/internal/ArangoDBAsyncImpl.java
+++ b/driver/src/main/java/com/arangodb/async/internal/ArangoDBAsyncImpl.java
@@ -22,6 +22,8 @@
import com.arangodb.ArangoMetrics;
import com.arangodb.DbName;
+import com.arangodb.Request;
+import com.arangodb.Response;
import com.arangodb.async.ArangoDBAsync;
import com.arangodb.async.ArangoDatabaseAsync;
import com.arangodb.async.internal.velocystream.VstCommunicationAsync;
@@ -40,8 +42,7 @@
import com.arangodb.model.LogOptions;
import com.arangodb.model.UserCreateOptions;
import com.arangodb.model.UserUpdateOptions;
-import com.arangodb.Request;
-import com.arangodb.Response;
+import com.arangodb.internal.InternalResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -75,7 +76,7 @@ public ArangoDBAsyncImpl(
super(new ArangoExecutorAsync(asyncCommBuilder.build(util), util,
new QueueTimeMetricsImpl(responseQueueTimeSamples), timeoutMs), util);
- final VstCommunication cacheCom = syncCommBuilder.build(util);
+ final VstCommunication cacheCom = syncCommBuilder.build(util);
cp = new VstProtocol(cacheCom);
this.asyncHostHandler = asyncHostHandler;
@@ -215,8 +216,8 @@ public CompletableFuture grantDefaultCollectionAccess(final String user, f
}
@Override
- public CompletableFuture execute(final Request request) {
- return executor.execute(request, response -> response);
+ public CompletableFuture> execute(Request request, Class type) {
+ return executor.execute(executeRequest(request), responseDeserializer(type));
}
@Override
diff --git a/driver/src/main/java/com/arangodb/async/internal/ArangoDatabaseAsyncImpl.java b/driver/src/main/java/com/arangodb/async/internal/ArangoDatabaseAsyncImpl.java
index 180f2671c..b8ab7b0aa 100644
--- a/driver/src/main/java/com/arangodb/async/internal/ArangoDatabaseAsyncImpl.java
+++ b/driver/src/main/java/com/arangodb/async/internal/ArangoDatabaseAsyncImpl.java
@@ -35,7 +35,7 @@
import com.arangodb.model.arangosearch.AnalyzerDeleteOptions;
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
import com.arangodb.model.arangosearch.SearchAliasCreateOptions;
-import com.arangodb.Request;
+import com.arangodb.internal.InternalRequest;
import java.util.Collection;
import java.util.Collections;
@@ -179,7 +179,7 @@ public CompletableFuture> query(
final Map bindVars,
final AqlQueryOptions options,
final Class type) {
- final Request request = queryRequest(query, bindVars, options);
+ final InternalRequest request = queryRequest(query, bindVars, options);
final HostHandle hostHandle = new HostHandle();
final CompletableFuture execution = executor.execute(request,
InternalCursorEntity.class, hostHandle);
diff --git a/driver/src/main/java/com/arangodb/async/internal/ArangoExecutorAsync.java b/driver/src/main/java/com/arangodb/async/internal/ArangoExecutorAsync.java
index 1510cbf2a..831b64e40 100644
--- a/driver/src/main/java/com/arangodb/async/internal/ArangoExecutorAsync.java
+++ b/driver/src/main/java/com/arangodb/async/internal/ArangoExecutorAsync.java
@@ -26,7 +26,7 @@
import com.arangodb.internal.QueueTimeMetricsImpl;
import com.arangodb.internal.net.HostHandle;
import com.arangodb.internal.serde.InternalSerde;
-import com.arangodb.Request;
+import com.arangodb.internal.InternalRequest;
import java.io.IOException;
import java.lang.reflect.Type;
@@ -49,20 +49,20 @@ public ArangoExecutorAsync(final VstCommunicationAsync communication, final Inte
this.communication = communication;
}
- public CompletableFuture execute(final Request request, final Type type) {
+ public CompletableFuture execute(final InternalRequest request, final Type type) {
return execute(request, response -> createResult(type, response));
}
- public CompletableFuture execute(final Request request, final Type type, final HostHandle hostHandle) {
+ public CompletableFuture execute(final InternalRequest request, final Type type, final HostHandle hostHandle) {
return execute(request, response -> createResult(type, response), hostHandle);
}
- public CompletableFuture execute(final Request request, final ResponseDeserializer responseDeserializer) {
+ public CompletableFuture execute(final InternalRequest request, final ResponseDeserializer responseDeserializer) {
return execute(request, responseDeserializer, null);
}
private CompletableFuture execute(
- final Request request,
+ final InternalRequest request,
final ResponseDeserializer responseDeserializer,
final HostHandle hostHandle) {
diff --git a/driver/src/main/java/com/arangodb/async/internal/ArangoRouteAsyncImpl.java b/driver/src/main/java/com/arangodb/async/internal/ArangoRouteAsyncImpl.java
index e00688dcc..57270220d 100644
--- a/driver/src/main/java/com/arangodb/async/internal/ArangoRouteAsyncImpl.java
+++ b/driver/src/main/java/com/arangodb/async/internal/ArangoRouteAsyncImpl.java
@@ -22,8 +22,8 @@
import com.arangodb.async.ArangoRouteAsync;
import com.arangodb.internal.InternalArangoRoute;
-import com.arangodb.RequestType;
-import com.arangodb.Response;
+import com.arangodb.internal.RequestType;
+import com.arangodb.internal.InternalResponse;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@@ -66,37 +66,37 @@ public ArangoRouteAsync withBody(final Object body) {
return this;
}
- private CompletableFuture request(final RequestType requestType) {
+ private CompletableFuture request(final RequestType requestType) {
return executor.execute(createRequest(requestType), response -> response);
}
@Override
- public CompletableFuture delete() {
+ public CompletableFuture delete() {
return request(RequestType.DELETE);
}
@Override
- public CompletableFuture get() {
+ public CompletableFuture get() {
return request(RequestType.GET);
}
@Override
- public CompletableFuture head() {
+ public CompletableFuture head() {
return request(RequestType.HEAD);
}
@Override
- public CompletableFuture patch() {
+ public CompletableFuture patch() {
return request(RequestType.PATCH);
}
@Override
- public CompletableFuture post() {
+ public CompletableFuture post() {
return request(RequestType.POST);
}
@Override
- public CompletableFuture put() {
+ public CompletableFuture put() {
return request(RequestType.PUT);
}
diff --git a/driver/src/main/java/com/arangodb/async/internal/velocystream/VstCommunicationAsync.java b/driver/src/main/java/com/arangodb/async/internal/velocystream/VstCommunicationAsync.java
index e0eab0092..98edbc61b 100644
--- a/driver/src/main/java/com/arangodb/async/internal/velocystream/VstCommunicationAsync.java
+++ b/driver/src/main/java/com/arangodb/async/internal/velocystream/VstCommunicationAsync.java
@@ -33,8 +33,8 @@
import com.arangodb.internal.velocystream.internal.Message;
import com.arangodb.velocypack.exception.VPackException;
import com.arangodb.velocypack.exception.VPackParserException;
-import com.arangodb.Request;
-import com.arangodb.Response;
+import com.arangodb.internal.InternalRequest;
+import com.arangodb.internal.InternalResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -45,7 +45,7 @@
/**
* @author Mark Vollmary
*/
-public class VstCommunicationAsync extends VstCommunication, VstConnectionAsync> {
+public class VstCommunicationAsync extends VstCommunication, VstConnectionAsync> {
private static final Logger LOGGER = LoggerFactory.getLogger(VstCommunicationAsync.class);
@@ -57,19 +57,19 @@ private VstCommunicationAsync(final HostHandler hostHandler, final Integer timeo
}
@Override
- protected CompletableFuture execute(final Request request, final VstConnectionAsync connection) {
+ protected CompletableFuture execute(final InternalRequest request, final VstConnectionAsync connection) {
return execute(request, connection, 0);
}
@Override
- protected CompletableFuture execute(final Request request, final VstConnectionAsync connection,
- final int attemptCount) {
- final CompletableFuture rfuture = new CompletableFuture<>();
+ protected CompletableFuture execute(final InternalRequest request, final VstConnectionAsync connection,
+ final int attemptCount) {
+ final CompletableFuture rfuture = new CompletableFuture<>();
try {
final Message message = createMessage(request);
send(message, connection).whenComplete((m, ex) -> {
if (m != null) {
- final Response response;
+ final InternalResponse response;
try {
response = createResponse(m);
} catch (final VPackParserException e) {
@@ -127,14 +127,14 @@ private CompletableFuture send(final Message message, final VstConnecti
@Override
protected void authenticate(final VstConnectionAsync connection) {
- Request authRequest;
+ InternalRequest authRequest;
if (jwt != null) {
authRequest = new JwtAuthenticationRequest(jwt, ENCRYPTION_JWT);
} else {
authRequest = new AuthenticationRequest(user, password != null ? password : "", ENCRYPTION_PLAIN);
}
- Response response;
+ InternalResponse response;
try {
response = execute(authRequest, connection).get();
} catch (final InterruptedException e) {
diff --git a/driver/src/main/java/com/arangodb/internal/ArangoDBImpl.java b/driver/src/main/java/com/arangodb/internal/ArangoDBImpl.java
index 04d631369..22a0e95a1 100644
--- a/driver/src/main/java/com/arangodb/internal/ArangoDBImpl.java
+++ b/driver/src/main/java/com/arangodb/internal/ArangoDBImpl.java
@@ -25,7 +25,6 @@
import com.arangodb.internal.http.HttpCommunication;
import com.arangodb.internal.http.HttpProtocol;
import com.arangodb.internal.net.CommunicationProtocol;
-import com.arangodb.internal.net.HostHandle;
import com.arangodb.internal.net.HostHandler;
import com.arangodb.internal.net.HostResolver;
import com.arangodb.internal.serde.InternalSerde;
@@ -36,8 +35,6 @@
import com.arangodb.model.LogOptions;
import com.arangodb.model.UserCreateOptions;
import com.arangodb.model.UserUpdateOptions;
-import com.arangodb.Request;
-import com.arangodb.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -214,13 +211,8 @@ public void grantDefaultCollectionAccess(final String user, final Permissions pe
}
@Override
- public Response execute(final Request request) {
- return executor.execute(request, response -> response);
- }
-
- @Override
- public Response execute(final Request request, final HostHandle hostHandle) {
- return executor.execute(request, response -> response, hostHandle);
+ public Response execute(Request request, Class type) {
+ return executor.execute(executeRequest(request), responseDeserializer(type));
}
@Override
diff --git a/driver/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java b/driver/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java
index c3ed750d9..e2c1eca2d 100644
--- a/driver/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java
+++ b/driver/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java
@@ -31,10 +31,8 @@
import com.arangodb.model.arangosearch.AnalyzerDeleteOptions;
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
import com.arangodb.model.arangosearch.SearchAliasCreateOptions;
-import com.arangodb.Request;
import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import static com.arangodb.internal.serde.SerdeUtils.constructListType;
@@ -163,7 +161,7 @@ public ArangoCursor query(
final String query, final Map bindVars, final AqlQueryOptions options,
final Class type) {
- final Request request = queryRequest(query, bindVars, options);
+ final InternalRequest request = queryRequest(query, bindVars, options);
final HostHandle hostHandle = new HostHandle();
final InternalCursorEntity result = executor.execute(request, InternalCursorEntity.class, hostHandle);
@@ -366,11 +364,6 @@ public void reloadRouting() {
executor.execute(reloadRoutingRequest(), Void.class);
}
- @Override
- public ArangoRoute route(final String... path) {
- return new ArangoRouteImpl(this, String.join("/", path), Collections.emptyMap());
- }
-
@Override
public Collection getViews() {
return executor.execute(getViewsRequest(), getViewsResponseDeserializer());
diff --git a/driver/src/main/java/com/arangodb/internal/ArangoExecuteable.java b/driver/src/main/java/com/arangodb/internal/ArangoExecuteable.java
index c1bb79eed..10fc7c87a 100644
--- a/driver/src/main/java/com/arangodb/internal/ArangoExecuteable.java
+++ b/driver/src/main/java/com/arangodb/internal/ArangoExecuteable.java
@@ -24,8 +24,6 @@
import com.arangodb.DbName;
import com.arangodb.internal.serde.InternalSerde;
import com.arangodb.internal.util.EncodeUtils;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
/**
* @author Mark Vollmary
@@ -69,8 +67,8 @@ public InternalSerde getSerde() {
return serde;
}
- protected Request request(final DbName dbName, final RequestType requestType, final String... path) {
- return new Request(dbName, requestType, createPath(path));
+ protected InternalRequest request(final DbName dbName, final RequestType requestType, final String... path) {
+ return new InternalRequest(dbName, requestType, createPath(path));
}
}
diff --git a/driver/src/main/java/com/arangodb/internal/ArangoExecutor.java b/driver/src/main/java/com/arangodb/internal/ArangoExecutor.java
index 359a0f952..ad9e0acda 100644
--- a/driver/src/main/java/com/arangodb/internal/ArangoExecutor.java
+++ b/driver/src/main/java/com/arangodb/internal/ArangoExecutor.java
@@ -22,8 +22,6 @@
import com.arangodb.QueueTimeMetrics;
import com.arangodb.internal.serde.InternalSerde;
-import com.arangodb.Request;
-import com.arangodb.Response;
import java.lang.reflect.Type;
@@ -43,18 +41,18 @@ protected ArangoExecutor(final InternalSerde serde, final QueueTimeMetricsImpl q
timeoutS = timeoutMs >= 1000 ? Integer.toString(timeoutMs / 1000) : null;
}
- protected T createResult(final Type type, final Response response) {
+ protected T createResult(final Type type, final InternalResponse response) {
return serde.deserialize(response.getBody(), type);
}
- protected final void interceptResponse(Response response) {
+ protected final void interceptResponse(InternalResponse response) {
String queueTime = response.getMeta("X-Arango-Queue-Time-Seconds");
if (queueTime != null) {
qtMetrics.add(Double.parseDouble(queueTime));
}
}
- protected final Request interceptRequest(Request request) {
+ protected final InternalRequest interceptRequest(InternalRequest request) {
request.putHeaderParam("x-arango-queue-time-seconds", timeoutS);
return request;
}
@@ -64,6 +62,6 @@ public QueueTimeMetrics getQueueTimeMetrics() {
}
public interface ResponseDeserializer {
- T deserialize(Response response);
+ T deserialize(InternalResponse response);
}
}
diff --git a/driver/src/main/java/com/arangodb/internal/ArangoExecutorSync.java b/driver/src/main/java/com/arangodb/internal/ArangoExecutorSync.java
index 8588c26b0..88b2f6f0f 100644
--- a/driver/src/main/java/com/arangodb/internal/ArangoExecutorSync.java
+++ b/driver/src/main/java/com/arangodb/internal/ArangoExecutorSync.java
@@ -25,8 +25,6 @@
import com.arangodb.internal.net.CommunicationProtocol;
import com.arangodb.internal.net.HostHandle;
import com.arangodb.internal.serde.InternalSerde;
-import com.arangodb.Request;
-import com.arangodb.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,24 +46,24 @@ public ArangoExecutorSync(final CommunicationProtocol protocol, final InternalSe
this.protocol = protocol;
}
- public T execute(final Request request, final Type type) {
+ public T execute(final InternalRequest request, final Type type) {
return execute(request, type, null);
}
- public T execute(final Request request, final Type type, final HostHandle hostHandle) {
+ public T execute(final InternalRequest request, final Type type, final HostHandle hostHandle) {
return execute(request, response -> createResult(type, response), hostHandle);
}
- public T execute(final Request request, final ResponseDeserializer responseDeserializer) {
+ public T execute(final InternalRequest request, final ResponseDeserializer responseDeserializer) {
return execute(request, responseDeserializer, null);
}
public T execute(
- final Request request,
+ final InternalRequest request,
final ResponseDeserializer responseDeserializer,
final HostHandle hostHandle) {
- final Response response = protocol.execute(interceptRequest(request), hostHandle);
+ final InternalResponse response = protocol.execute(interceptRequest(request), hostHandle);
interceptResponse(response);
T deserialize = responseDeserializer.deserialize(response);
diff --git a/driver/src/main/java/com/arangodb/internal/ArangoRouteImpl.java b/driver/src/main/java/com/arangodb/internal/ArangoRouteImpl.java
deleted file mode 100644
index b73753ddc..000000000
--- a/driver/src/main/java/com/arangodb/internal/ArangoRouteImpl.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * DISCLAIMER
- *
- * Copyright 2018 ArangoDB GmbH, Cologne, Germany
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Copyright holder is ArangoDB GmbH, Cologne, Germany
- */
-
-package com.arangodb.internal;
-
-import com.arangodb.ArangoRoute;
-import com.arangodb.RequestType;
-import com.arangodb.Response;
-
-import java.util.Map;
-
-/**
- * @author Mark Vollmary
- */
-public class ArangoRouteImpl extends InternalArangoRoute
- implements ArangoRoute {
-
- protected ArangoRouteImpl(final ArangoDatabaseImpl db, final String path, final Map headerParam) {
- super(db, path, headerParam);
- }
-
- @Override
- public ArangoRoute route(final String... path) {
- final String[] fullPath = new String[path.length + 1];
- fullPath[0] = this.path;
- System.arraycopy(path, 0, fullPath, 1, path.length);
- return new ArangoRouteImpl(db, String.join("/", fullPath), headerParam);
- }
-
- @Override
- public ArangoRoute withHeader(final String key, final Object value) {
- _withHeader(key, value);
- return this;
- }
-
- @Override
- public ArangoRoute withQueryParam(final String key, final Object value) {
- _withQueryParam(key, value);
- return this;
- }
-
- @Override
- public ArangoRoute withBody(final Object body) {
- _withBody(body);
- return this;
- }
-
- private Response request(final RequestType requestType) {
- return executor.execute(createRequest(requestType), response -> response);
- }
-
- @Override
- public Response delete() {
- return request(RequestType.DELETE);
- }
-
- @Override
- public Response get() {
- return request(RequestType.GET);
- }
-
- @Override
- public Response head() {
- return request(RequestType.HEAD);
- }
-
- @Override
- public Response patch() {
- return request(RequestType.PATCH);
- }
-
- @Override
- public Response post() {
- return request(RequestType.POST);
- }
-
- @Override
- public Response put() {
- return request(RequestType.PUT);
- }
-
-}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoCollection.java b/driver/src/main/java/com/arangodb/internal/InternalArangoCollection.java
index 2b8e625c0..90389ed3b 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoCollection.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoCollection.java
@@ -28,8 +28,6 @@
import com.arangodb.internal.util.RequestUtils;
import com.arangodb.model.*;
import com.arangodb.util.RawData;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
import com.fasterxml.jackson.databind.JsonNode;
import java.lang.reflect.Type;
@@ -80,27 +78,27 @@ public String name() {
return name;
}
- protected Request insertDocumentRequest(final T value, final DocumentCreateOptions options) {
- final Request request = createInsertDocumentRequest(options);
+ protected InternalRequest insertDocumentRequest(final T value, final DocumentCreateOptions options) {
+ final InternalRequest request = createInsertDocumentRequest(options);
request.setBody(getSerde().serializeUserData(value));
return request;
}
- protected Request insertDocumentsRequest(final RawData values, final DocumentCreateOptions options) {
- Request request = createInsertDocumentRequest(options);
+ protected InternalRequest insertDocumentsRequest(final RawData values, final DocumentCreateOptions options) {
+ InternalRequest request = createInsertDocumentRequest(options);
request.setBody(getSerde().serialize(values));
return request;
}
- protected Request insertDocumentsRequest(final Collection values, final DocumentCreateOptions options) {
- Request request = createInsertDocumentRequest(options);
+ protected InternalRequest insertDocumentsRequest(final Collection values, final DocumentCreateOptions options) {
+ InternalRequest request = createInsertDocumentRequest(options);
request.setBody(getSerde().serializeCollectionUserData(values));
return request;
}
- private Request createInsertDocumentRequest(final DocumentCreateOptions options) {
+ private InternalRequest createInsertDocumentRequest(final DocumentCreateOptions options) {
final DocumentCreateOptions params = (options != null ? options : new DocumentCreateOptions());
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_DOCUMENT, name);
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_DOCUMENT, name);
request.putQueryParam(ArangoRequestParam.WAIT_FOR_SYNC, params.getWaitForSync());
request.putQueryParam(RETURN_NEW, params.getReturnNew());
request.putQueryParam(RETURN_OLD, params.getReturnOld());
@@ -140,16 +138,16 @@ protected ResponseDeserializer>>
};
}
- protected Request importDocumentsRequest(final RawData values, final DocumentImportOptions options) {
+ protected InternalRequest importDocumentsRequest(final RawData values, final DocumentImportOptions options) {
return importDocumentsRequest(options).putQueryParam("type", ImportType.auto).setBody(getSerde().serialize(values));
}
- protected Request importDocumentsRequest(final Collection> values, final DocumentImportOptions options) {
+ protected InternalRequest importDocumentsRequest(final Collection> values, final DocumentImportOptions options) {
return importDocumentsRequest(options).putQueryParam("type", ImportType.list)
.setBody(getSerde().serializeCollectionUserData(values));
}
- protected Request importDocumentsRequest(final DocumentImportOptions options) {
+ protected InternalRequest importDocumentsRequest(final DocumentImportOptions options) {
final DocumentImportOptions params = options != null ? options : new DocumentImportOptions();
return request(db.dbName(), RequestType.POST, PATH_API_IMPORT).putQueryParam(COLLECTION, name)
.putQueryParam(ArangoRequestParam.WAIT_FOR_SYNC, params.getWaitForSync())
@@ -158,8 +156,8 @@ protected Request importDocumentsRequest(final DocumentImportOptions options) {
.putQueryParam("complete", params.getComplete()).putQueryParam("details", params.getDetails());
}
- protected Request getDocumentRequest(final String key, final DocumentReadOptions options) {
- final Request request = request(db.dbName(), RequestType.GET, PATH_API_DOCUMENT,
+ protected InternalRequest getDocumentRequest(final String key, final DocumentReadOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.GET, PATH_API_DOCUMENT,
DocumentUtil.createDocumentHandle(name, key));
final DocumentReadOptions params = (options != null ? options : new DocumentReadOptions());
request.putHeaderParam(ArangoRequestParam.IF_NONE_MATCH, params.getIfNoneMatch());
@@ -175,9 +173,9 @@ protected ResponseDeserializer getDocumentResponseDeserializer(final Clas
return response -> getSerde().deserializeUserData(response.getBody(), type);
}
- protected Request getDocumentsRequest(final Collection keys, final DocumentReadOptions options) {
+ protected InternalRequest getDocumentsRequest(final Collection keys, final DocumentReadOptions options) {
final DocumentReadOptions params = (options != null ? options : new DocumentReadOptions());
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_DOCUMENT, name)
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_DOCUMENT, name)
.putQueryParam("onlyget", true)
.putHeaderParam(ArangoRequestParam.IF_NONE_MATCH, params.getIfNoneMatch())
.putHeaderParam(ArangoRequestParam.IF_MATCH, params.getIfMatch()).setBody(getSerde().serialize(keys))
@@ -217,28 +215,28 @@ protected ResponseDeserializer> getDocumentsResponseD
};
}
- protected Request replaceDocumentRequest(
+ protected InternalRequest replaceDocumentRequest(
final String key, final T value, final DocumentReplaceOptions options) {
- final Request request = createReplaceDocumentRequest(options, DocumentUtil.createDocumentHandle(name, key));
+ final InternalRequest request = createReplaceDocumentRequest(options, DocumentUtil.createDocumentHandle(name, key));
request.setBody(getSerde().serializeUserData(value));
return request;
}
- protected Request replaceDocumentsRequest(final Collection values, final DocumentReplaceOptions options) {
- final Request request = createReplaceDocumentRequest(options, name);
+ protected InternalRequest replaceDocumentsRequest(final Collection values, final DocumentReplaceOptions options) {
+ final InternalRequest request = createReplaceDocumentRequest(options, name);
request.setBody(getSerde().serializeCollectionUserData(values));
return request;
}
- protected Request replaceDocumentsRequest(final RawData values, final DocumentReplaceOptions options) {
- final Request request = createReplaceDocumentRequest(options, name);
+ protected InternalRequest replaceDocumentsRequest(final RawData values, final DocumentReplaceOptions options) {
+ final InternalRequest request = createReplaceDocumentRequest(options, name);
request.setBody(getSerde().serialize(values));
return request;
}
- private Request createReplaceDocumentRequest(final DocumentReplaceOptions options, String path) {
+ private InternalRequest createReplaceDocumentRequest(final DocumentReplaceOptions options, String path) {
final DocumentReplaceOptions params = (options != null ? options : new DocumentReplaceOptions());
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_DOCUMENT, path);
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_DOCUMENT, path);
request.putHeaderParam(ArangoRequestParam.IF_MATCH, params.getIfMatch());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
request.putQueryParam(ArangoRequestParam.WAIT_FOR_SYNC, params.getWaitForSync());
@@ -277,27 +275,27 @@ protected ResponseDeserializer>>
};
}
- protected Request updateDocumentRequest(final String key, final T value, final DocumentUpdateOptions options) {
- final Request request = createUpdateDocumentRequest(options, DocumentUtil.createDocumentHandle(name, key));
+ protected InternalRequest updateDocumentRequest(final String key, final T value, final DocumentUpdateOptions options) {
+ final InternalRequest request = createUpdateDocumentRequest(options, DocumentUtil.createDocumentHandle(name, key));
request.setBody(getSerde().serializeUserData(value));
return request;
}
- protected Request updateDocumentsRequest(final Collection values, final DocumentUpdateOptions options) {
- final Request request = createUpdateDocumentRequest(options, name);
+ protected InternalRequest updateDocumentsRequest(final Collection values, final DocumentUpdateOptions options) {
+ final InternalRequest request = createUpdateDocumentRequest(options, name);
request.setBody(getSerde().serializeCollectionUserData(values));
return request;
}
- protected Request updateDocumentsRequest(final RawData values, final DocumentUpdateOptions options) {
- final Request request = createUpdateDocumentRequest(options, name);
+ protected InternalRequest updateDocumentsRequest(final RawData values, final DocumentUpdateOptions options) {
+ final InternalRequest request = createUpdateDocumentRequest(options, name);
request.setBody(getSerde().serialize(values));
return request;
}
- private Request createUpdateDocumentRequest(final DocumentUpdateOptions options, String path) {
+ private InternalRequest createUpdateDocumentRequest(final DocumentUpdateOptions options, String path) {
final DocumentUpdateOptions params = (options != null ? options : new DocumentUpdateOptions());
- final Request request = request(db.dbName(), RequestType.PATCH, PATH_API_DOCUMENT, path);
+ final InternalRequest request = request(db.dbName(), RequestType.PATCH, PATH_API_DOCUMENT, path);
request.putHeaderParam(ArangoRequestParam.IF_MATCH, params.getIfMatch());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
request.putQueryParam(ArangoRequestParam.KEEP_NULL, params.getKeepNull());
@@ -338,25 +336,25 @@ protected ResponseDeserializer>>
};
}
- protected Request deleteDocumentRequest(final String key, final DocumentDeleteOptions options) {
+ protected InternalRequest deleteDocumentRequest(final String key, final DocumentDeleteOptions options) {
return createDeleteDocumentRequest(options, DocumentUtil.createDocumentHandle(name, key));
}
- protected Request deleteDocumentsRequest(final Collection docs, final DocumentDeleteOptions options) {
- final Request request = createDeleteDocumentRequest(options, name);
+ protected InternalRequest deleteDocumentsRequest(final Collection docs, final DocumentDeleteOptions options) {
+ final InternalRequest request = createDeleteDocumentRequest(options, name);
request.setBody(getSerde().serializeCollectionUserData(docs));
return request;
}
- protected Request deleteDocumentsRequest(final RawData docs, final DocumentDeleteOptions options) {
- final Request request = createDeleteDocumentRequest(options, name);
+ protected InternalRequest deleteDocumentsRequest(final RawData docs, final DocumentDeleteOptions options) {
+ final InternalRequest request = createDeleteDocumentRequest(options, name);
request.setBody(getSerde().serialize(docs));
return request;
}
- private Request createDeleteDocumentRequest(final DocumentDeleteOptions options, String path) {
+ private InternalRequest createDeleteDocumentRequest(final DocumentDeleteOptions options, String path) {
final DocumentDeleteOptions params = (options != null ? options : new DocumentDeleteOptions());
- final Request request = request(db.dbName(), RequestType.DELETE, PATH_API_DOCUMENT, path);
+ final InternalRequest request = request(db.dbName(), RequestType.DELETE, PATH_API_DOCUMENT, path);
request.putHeaderParam(ArangoRequestParam.IF_MATCH, params.getIfMatch());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
request.putQueryParam(ArangoRequestParam.WAIT_FOR_SYNC, params.getWaitForSync());
@@ -393,8 +391,8 @@ protected ResponseDeserializer>>
};
}
- protected Request documentExistsRequest(final String key, final DocumentExistsOptions options) {
- final Request request = request(db.dbName(), RequestType.HEAD, PATH_API_DOCUMENT,
+ protected InternalRequest documentExistsRequest(final String key, final DocumentExistsOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.HEAD, PATH_API_DOCUMENT,
DocumentUtil.createDocumentHandle(name, key));
final DocumentExistsOptions params = (options != null ? options : new DocumentExistsOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -403,11 +401,11 @@ protected Request documentExistsRequest(final String key, final DocumentExistsOp
return request;
}
- protected Request getIndexRequest(final String id) {
+ protected InternalRequest getIndexRequest(final String id) {
return request(db.dbName(), RequestType.GET, PATH_API_INDEX, createIndexId(id));
}
- protected Request deleteIndexRequest(final String id) {
+ protected InternalRequest deleteIndexRequest(final String id) {
return request(db.dbName(), RequestType.DELETE, PATH_API_INDEX, createIndexId(id));
}
@@ -428,8 +426,8 @@ private String createIndexId(final String id) {
}
@Deprecated
- protected Request createHashIndexRequest(final Iterable fields, final HashIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ protected InternalRequest createHashIndexRequest(final Iterable fields, final HashIndexOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(
getSerde().serialize(OptionsBuilder.build(options != null ? options : new HashIndexOptions(), fields)));
@@ -437,8 +435,8 @@ protected Request createHashIndexRequest(final Iterable fields, final Ha
}
@Deprecated
- protected Request createSkiplistIndexRequest(final Iterable fields, final SkiplistIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ protected InternalRequest createSkiplistIndexRequest(final Iterable fields, final SkiplistIndexOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(
getSerde().serialize(OptionsBuilder.build(options != null ? options : new SkiplistIndexOptions(),
@@ -446,24 +444,24 @@ protected Request createSkiplistIndexRequest(final Iterable fields, fina
return request;
}
- protected Request createPersistentIndexRequest(
+ protected InternalRequest createPersistentIndexRequest(
final Iterable fields, final PersistentIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(getSerde().serialize(
OptionsBuilder.build(options != null ? options : new PersistentIndexOptions(), fields)));
return request;
}
- protected Request createInvertedIndexRequest(final InvertedIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ protected InternalRequest createInvertedIndexRequest(final InvertedIndexOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(getSerde().serialize(options));
return request;
}
- protected Request createGeoIndexRequest(final Iterable fields, final GeoIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ protected InternalRequest createGeoIndexRequest(final Iterable fields, final GeoIndexOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(
getSerde().serialize(OptionsBuilder.build(options != null ? options : new GeoIndexOptions(), fields)));
@@ -471,8 +469,8 @@ protected Request createGeoIndexRequest(final Iterable fields, final Geo
}
@Deprecated
- protected Request createFulltextIndexRequest(final Iterable fields, final FulltextIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ protected InternalRequest createFulltextIndexRequest(final Iterable fields, final FulltextIndexOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(
getSerde().serialize(OptionsBuilder.build(options != null ? options : new FulltextIndexOptions(),
@@ -480,25 +478,25 @@ protected Request createFulltextIndexRequest(final Iterable fields, fina
return request;
}
- protected Request createTtlIndexRequest(final Iterable fields, final TtlIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ protected InternalRequest createTtlIndexRequest(final Iterable fields, final TtlIndexOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(
getSerde().serialize(OptionsBuilder.build(options != null ? options : new TtlIndexOptions(), fields)));
return request;
}
- protected Request createZKDIndexRequest(
+ protected InternalRequest createZKDIndexRequest(
final Iterable fields, final ZKDIndexOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
request.setBody(getSerde().serialize(OptionsBuilder.build(options != null ? options :
new ZKDIndexOptions().fieldValueTypes(ZKDIndexOptions.FieldValueTypes.DOUBLE), fields)));
return request;
}
- protected Request getIndexesRequest() {
- final Request request = request(db.dbName(), RequestType.GET, PATH_API_INDEX);
+ protected InternalRequest getIndexesRequest() {
+ final InternalRequest request = request(db.dbName(), RequestType.GET, PATH_API_INDEX);
request.putQueryParam(COLLECTION, name);
return request;
}
@@ -527,66 +525,66 @@ protected ResponseDeserializer> getInvertedIndex
};
}
- protected Request truncateRequest(final CollectionTruncateOptions options) {
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "truncate");
+ protected InternalRequest truncateRequest(final CollectionTruncateOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "truncate");
final CollectionTruncateOptions params = (options != null ? options : new CollectionTruncateOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
return request;
}
- protected Request countRequest(final CollectionCountOptions options) {
- final Request request = request(db.dbName(), RequestType.GET, PATH_API_COLLECTION, name, "count");
+ protected InternalRequest countRequest(final CollectionCountOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.GET, PATH_API_COLLECTION, name, "count");
final CollectionCountOptions params = (options != null ? options : new CollectionCountOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
return request;
}
- protected Request dropRequest(final Boolean isSystem) {
+ protected InternalRequest dropRequest(final Boolean isSystem) {
return request(db.dbName(), RequestType.DELETE, PATH_API_COLLECTION, name).putQueryParam("isSystem", isSystem);
}
- protected Request getInfoRequest() {
+ protected InternalRequest getInfoRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_COLLECTION, name);
}
- protected Request getPropertiesRequest() {
+ protected InternalRequest getPropertiesRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_COLLECTION, name, "properties");
}
- protected Request changePropertiesRequest(final CollectionPropertiesOptions options) {
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "properties");
+ protected InternalRequest changePropertiesRequest(final CollectionPropertiesOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "properties");
request.setBody(getSerde().serialize(options != null ? options : new CollectionPropertiesOptions()));
return request;
}
- protected Request renameRequest(final String newName) {
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "rename");
+ protected InternalRequest renameRequest(final String newName) {
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "rename");
request.setBody(getSerde().serialize(OptionsBuilder.build(new CollectionRenameOptions(), newName)));
return request;
}
- protected Request responsibleShardRequest(final T value) {
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "responsibleShard");
+ protected InternalRequest responsibleShardRequest(final T value) {
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_COLLECTION, name, "responsibleShard");
request.setBody(getSerde().serializeUserData(value));
return request;
}
- protected Request getRevisionRequest() {
+ protected InternalRequest getRevisionRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_COLLECTION, name, "revision");
}
- protected Request grantAccessRequest(final String user, final Permissions permissions) {
+ protected InternalRequest grantAccessRequest(final String user, final Permissions permissions) {
return request(DbName.SYSTEM, RequestType.PUT, PATH_API_USER, user, ArangoRequestParam.DATABASE,
db.dbName().get(), name).setBody(getSerde().serialize(OptionsBuilder.build(new UserAccessOptions(),
permissions)));
}
- protected Request resetAccessRequest(final String user) {
+ protected InternalRequest resetAccessRequest(final String user) {
return request(DbName.SYSTEM, RequestType.DELETE, PATH_API_USER, user, ArangoRequestParam.DATABASE,
db.dbName().get(), name);
}
- protected Request getPermissionsRequest(final String user) {
+ protected InternalRequest getPermissionsRequest(final String user) {
return request(DbName.SYSTEM, RequestType.GET, PATH_API_USER, user, ArangoRequestParam.DATABASE,
db.dbName().get(), name);
}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoDB.java b/driver/src/main/java/com/arangodb/internal/InternalArangoDB.java
index 25376bade..1243fd53e 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoDB.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoDB.java
@@ -21,6 +21,8 @@
package com.arangodb.internal;
import com.arangodb.DbName;
+import com.arangodb.Request;
+import com.arangodb.Response;
import com.arangodb.entity.LogLevelEntity;
import com.arangodb.entity.Permissions;
import com.arangodb.entity.ServerRole;
@@ -28,8 +30,6 @@
import com.arangodb.internal.ArangoExecutor.ResponseDeserializer;
import com.arangodb.internal.serde.InternalSerde;
import com.arangodb.model.*;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
import java.util.ArrayList;
import java.util.Collection;
@@ -53,11 +53,11 @@ protected InternalArangoDB(final E executor, final InternalSerde util) {
super(executor, util);
}
- protected Request getRoleRequest() {
+ protected InternalRequest getRoleRequest() {
return request(DbName.SYSTEM, RequestType.GET, PATH_API_ROLE);
}
- protected Request getServerIdRequest() {
+ protected InternalRequest getServerIdRequest() {
return request(DbName.SYSTEM, RequestType.GET, PATH_API_SERVER_ID);
}
@@ -69,8 +69,8 @@ protected ResponseDeserializer getServerIdResponseDeserializer() {
return response -> getSerde().deserialize(response.getBody(), "/id", String.class);
}
- protected Request createDatabaseRequest(final DBCreateOptions options) {
- final Request request = request(DbName.SYSTEM, RequestType.POST,
+ protected InternalRequest createDatabaseRequest(final DBCreateOptions options) {
+ final InternalRequest request = request(DbName.SYSTEM, RequestType.POST,
InternalArangoDatabase.PATH_API_DATABASE);
request.setBody(getSerde().serialize(options));
return request;
@@ -81,7 +81,7 @@ protected ResponseDeserializer createDatabaseResponseDeserializer() {
Boolean.class);
}
- protected Request getDatabasesRequest(final DbName dbName) {
+ protected InternalRequest getDatabasesRequest(final DbName dbName) {
return request(dbName, RequestType.GET, InternalArangoDatabase.PATH_API_DATABASE);
}
@@ -90,7 +90,7 @@ protected ResponseDeserializer> getDatabaseResponseDeserializ
constructListType(String.class));
}
- protected Request getAccessibleDatabasesForRequest(final DbName dbName, final String user) {
+ protected InternalRequest getAccessibleDatabasesForRequest(final DbName dbName, final String user) {
return request(dbName, RequestType.GET, PATH_API_USER, user, ArangoRequestParam.DATABASE);
}
@@ -106,12 +106,12 @@ protected ResponseDeserializer> getAccessibleDatabasesForResp
};
}
- protected Request createUserRequest(
+ protected InternalRequest createUserRequest(
final DbName dbName,
final String user,
final String passwd,
final UserCreateOptions options) {
- final Request request;
+ final InternalRequest request;
request = request(dbName, RequestType.POST, PATH_API_USER);
request.setBody(
getSerde().serialize(OptionsBuilder.build(options != null ? options : new UserCreateOptions(), user,
@@ -119,15 +119,15 @@ protected Request createUserRequest(
return request;
}
- protected Request deleteUserRequest(final DbName dbName, final String user) {
+ protected InternalRequest deleteUserRequest(final DbName dbName, final String user) {
return request(dbName, RequestType.DELETE, PATH_API_USER, user);
}
- protected Request getUsersRequest(final DbName dbName) {
+ protected InternalRequest getUsersRequest(final DbName dbName) {
return request(dbName, RequestType.GET, PATH_API_USER);
}
- protected Request getUserRequest(final DbName dbName, final String user) {
+ protected InternalRequest getUserRequest(final DbName dbName, final String user) {
return request(dbName, RequestType.GET, PATH_API_USER, user);
}
@@ -136,31 +136,47 @@ protected ResponseDeserializer> getUsersResponseDeseriali
constructListType(UserEntity.class));
}
- protected Request updateUserRequest(final DbName dbName, final String user, final UserUpdateOptions options) {
- final Request request;
+ protected InternalRequest updateUserRequest(final DbName dbName, final String user, final UserUpdateOptions options) {
+ final InternalRequest request;
request = request(dbName, RequestType.PATCH, PATH_API_USER, user);
request.setBody(getSerde().serialize(options != null ? options : new UserUpdateOptions()));
return request;
}
- protected Request replaceUserRequest(final DbName dbName, final String user, final UserUpdateOptions options) {
- final Request request;
+ protected InternalRequest replaceUserRequest(final DbName dbName, final String user, final UserUpdateOptions options) {
+ final InternalRequest request;
request = request(dbName, RequestType.PUT, PATH_API_USER, user);
request.setBody(getSerde().serialize(options != null ? options : new UserUpdateOptions()));
return request;
}
- protected Request updateUserDefaultDatabaseAccessRequest(final String user, final Permissions permissions) {
+ protected InternalRequest updateUserDefaultDatabaseAccessRequest(final String user, final Permissions permissions) {
return request(DbName.SYSTEM, RequestType.PUT, PATH_API_USER, user, ArangoRequestParam.DATABASE,
"*").setBody(getSerde().serialize(OptionsBuilder.build(new UserAccessOptions(), permissions)));
}
- protected Request updateUserDefaultCollectionAccessRequest(final String user, final Permissions permissions) {
+ protected InternalRequest updateUserDefaultCollectionAccessRequest(final String user, final Permissions permissions) {
return request(DbName.SYSTEM, RequestType.PUT, PATH_API_USER, user, ArangoRequestParam.DATABASE,
"*", "*").setBody(getSerde().serialize(OptionsBuilder.build(new UserAccessOptions(), permissions)));
}
- protected Request getLogEntriesRequest(final LogOptions options) {
+ protected InternalRequest executeRequest(final Request> request) {
+ InternalRequest ireq = new InternalRequest(request.getDb(), RequestType.from(request.getMethod()), request.getPath());
+ ireq.putHeaderParams(request.getHeaders());
+ ireq.putQueryParams(request.getQueryParams());
+ ireq.setBody(serde.serializeUserData(request.getBody()));
+ return ireq;
+ }
+
+ protected ResponseDeserializer> responseDeserializer(Class type) {
+ return response -> new Response<>(
+ response.getResponseCode(),
+ response.getMeta(),
+ serde.deserializeUserData(response.getBody(), type)
+ );
+ }
+
+ protected InternalRequest getLogEntriesRequest(final LogOptions options) {
final LogOptions params = options != null ? options : new LogOptions();
return request(DbName.SYSTEM, RequestType.GET, PATH_API_ADMIN_LOG_ENTRIES)
.putQueryParam(LogOptions.PROPERTY_UPTO, params.getUpto())
@@ -172,16 +188,16 @@ protected Request getLogEntriesRequest(final LogOptions options) {
.putQueryParam(LogOptions.PROPERTY_SORT, params.getSort());
}
- protected Request getLogLevelRequest() {
+ protected InternalRequest getLogLevelRequest() {
return request(DbName.SYSTEM, RequestType.GET, PATH_API_ADMIN_LOG_LEVEL);
}
- protected Request setLogLevelRequest(final LogLevelEntity entity) {
+ protected InternalRequest setLogLevelRequest(final LogLevelEntity entity) {
return request(DbName.SYSTEM, RequestType.PUT, PATH_API_ADMIN_LOG_LEVEL)
.setBody(getSerde().serialize(entity));
}
- protected Request getQueryOptimizerRulesRequest() {
+ protected InternalRequest getQueryOptimizerRulesRequest() {
return request(DbName.SYSTEM, RequestType.GET, PATH_API_QUERY_RULES);
}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoDatabase.java b/driver/src/main/java/com/arangodb/internal/InternalArangoDatabase.java
index 8841570ef..fcde6ad9b 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoDatabase.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoDatabase.java
@@ -27,8 +27,6 @@
import com.arangodb.internal.util.RequestUtils;
import com.arangodb.model.*;
import com.arangodb.model.arangosearch.*;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
import java.util.Collection;
import java.util.Map;
@@ -81,19 +79,19 @@ protected ResponseDeserializer> getDatabaseResponseDeserializ
return arango.getDatabaseResponseDeserializer();
}
- protected Request getAccessibleDatabasesRequest() {
+ protected InternalRequest getAccessibleDatabasesRequest() {
return request(dbName, RequestType.GET, PATH_API_DATABASE, "user");
}
- protected Request getVersionRequest() {
+ protected InternalRequest getVersionRequest() {
return request(dbName, RequestType.GET, PATH_API_VERSION);
}
- protected Request getEngineRequest() {
+ protected InternalRequest getEngineRequest() {
return request(dbName, RequestType.GET, PATH_API_ENGINE);
}
- protected Request createCollectionRequest(final String name, final CollectionCreateOptions options) {
+ protected InternalRequest createCollectionRequest(final String name, final CollectionCreateOptions options) {
byte[] body = getSerde().serialize(OptionsBuilder.build(options != null ? options :
new CollectionCreateOptions(), name));
@@ -101,8 +99,8 @@ protected Request createCollectionRequest(final String name, final CollectionCre
return request(dbName, RequestType.POST, InternalArangoCollection.PATH_API_COLLECTION).setBody(body);
}
- protected Request getCollectionsRequest(final CollectionsReadOptions options) {
- final Request request;
+ protected InternalRequest getCollectionsRequest(final CollectionsReadOptions options) {
+ final InternalRequest request;
request = request(dbName, RequestType.GET, InternalArangoCollection.PATH_API_COLLECTION);
final CollectionsReadOptions params = (options != null ? options : new CollectionsReadOptions());
request.putQueryParam("excludeSystem", params.getExcludeSystem());
@@ -114,7 +112,7 @@ protected ResponseDeserializer> getCollectionsRespo
constructListType(CollectionEntity.class));
}
- protected Request dropRequest() {
+ protected InternalRequest dropRequest() {
return request(DbName.SYSTEM, RequestType.DELETE, PATH_API_DATABASE, dbName.get());
}
@@ -123,22 +121,22 @@ protected ResponseDeserializer createDropResponseDeserializer() {
Boolean.class);
}
- protected Request grantAccessRequest(final String user, final Permissions permissions) {
+ protected InternalRequest grantAccessRequest(final String user, final Permissions permissions) {
return request(DbName.SYSTEM, RequestType.PUT, PATH_API_USER, user, ArangoRequestParam.DATABASE,
dbName.get()).setBody(getSerde().serialize(OptionsBuilder.build(new UserAccessOptions(), permissions)));
}
- protected Request resetAccessRequest(final String user) {
+ protected InternalRequest resetAccessRequest(final String user) {
return request(DbName.SYSTEM, RequestType.DELETE, PATH_API_USER, user, ArangoRequestParam.DATABASE,
dbName.get());
}
- protected Request updateUserDefaultCollectionAccessRequest(final String user, final Permissions permissions) {
+ protected InternalRequest updateUserDefaultCollectionAccessRequest(final String user, final Permissions permissions) {
return request(DbName.SYSTEM, RequestType.PUT, PATH_API_USER, user, ArangoRequestParam.DATABASE, dbName.get()
, "*").setBody(getSerde().serialize(OptionsBuilder.build(new UserAccessOptions(), permissions)));
}
- protected Request getPermissionsRequest(final String user) {
+ protected InternalRequest getPermissionsRequest(final String user) {
return request(DbName.SYSTEM, RequestType.GET, PATH_API_USER, user, ArangoRequestParam.DATABASE, dbName.get());
}
@@ -147,10 +145,10 @@ protected ResponseDeserializer getPermissionsResponseDeserialzer()
Permissions.class);
}
- protected Request queryRequest(final String query, final Map bindVars,
- final AqlQueryOptions options) {
+ protected InternalRequest queryRequest(final String query, final Map bindVars,
+ final AqlQueryOptions options) {
final AqlQueryOptions opt = options != null ? options : new AqlQueryOptions();
- final Request request = request(dbName, RequestType.POST, PATH_API_CURSOR)
+ final InternalRequest request = request(dbName, RequestType.POST, PATH_API_CURSOR)
.setBody(getSerde().serialize(OptionsBuilder.build(opt, query, bindVars)));
if (Boolean.TRUE.equals(opt.getAllowDirtyRead())) {
RequestUtils.allowDirtyRead(request);
@@ -159,9 +157,9 @@ protected Request queryRequest(final String query, final Map bin
return request;
}
- protected Request queryNextRequest(final String id, final AqlQueryOptions options, Map meta) {
+ protected InternalRequest queryNextRequest(final String id, final AqlQueryOptions options, Map meta) {
- final Request request = request(dbName, RequestType.POST, PATH_API_CURSOR, id);
+ final InternalRequest request = request(dbName, RequestType.POST, PATH_API_CURSOR, id);
request.putHeaderParams(meta);
final AqlQueryOptions opt = options != null ? options : new AqlQueryOptions();
@@ -173,9 +171,9 @@ protected Request queryNextRequest(final String id, final AqlQueryOptions option
return request;
}
- protected Request queryCloseRequest(final String id, final AqlQueryOptions options, Map meta) {
+ protected InternalRequest queryCloseRequest(final String id, final AqlQueryOptions options, Map meta) {
- final Request request = request(dbName, RequestType.DELETE, PATH_API_CURSOR, id);
+ final InternalRequest request = request(dbName, RequestType.DELETE, PATH_API_CURSOR, id);
request.putHeaderParams(meta);
final AqlQueryOptions opt = options != null ? options : new AqlQueryOptions();
@@ -187,60 +185,60 @@ protected Request queryCloseRequest(final String id, final AqlQueryOptions optio
return request;
}
- protected Request explainQueryRequest(final String query, final Map bindVars,
- final AqlQueryExplainOptions options) {
+ protected InternalRequest explainQueryRequest(final String query, final Map bindVars,
+ final AqlQueryExplainOptions options) {
final AqlQueryExplainOptions opt = options != null ? options : new AqlQueryExplainOptions();
return request(dbName, RequestType.POST, PATH_API_EXPLAIN)
.setBody(getSerde().serialize(OptionsBuilder.build(opt, query, bindVars)));
}
- protected Request parseQueryRequest(final String query) {
+ protected InternalRequest parseQueryRequest(final String query) {
return request(dbName, RequestType.POST, PATH_API_QUERY).setBody(getSerde().serialize(OptionsBuilder.build(new AqlQueryParseOptions(), query)));
}
- protected Request clearQueryCacheRequest() {
+ protected InternalRequest clearQueryCacheRequest() {
return request(dbName, RequestType.DELETE, PATH_API_QUERY_CACHE);
}
- protected Request getQueryCachePropertiesRequest() {
+ protected InternalRequest getQueryCachePropertiesRequest() {
return request(dbName, RequestType.GET, PATH_API_QUERY_CACHE_PROPERTIES);
}
- protected Request setQueryCachePropertiesRequest(final QueryCachePropertiesEntity properties) {
+ protected InternalRequest setQueryCachePropertiesRequest(final QueryCachePropertiesEntity properties) {
return request(dbName, RequestType.PUT, PATH_API_QUERY_CACHE_PROPERTIES).setBody(getSerde().serialize(properties));
}
- protected Request getQueryTrackingPropertiesRequest() {
+ protected InternalRequest getQueryTrackingPropertiesRequest() {
return request(dbName, RequestType.GET, PATH_API_QUERY_PROPERTIES);
}
- protected Request setQueryTrackingPropertiesRequest(final QueryTrackingPropertiesEntity properties) {
+ protected InternalRequest setQueryTrackingPropertiesRequest(final QueryTrackingPropertiesEntity properties) {
return request(dbName, RequestType.PUT, PATH_API_QUERY_PROPERTIES).setBody(getSerde().serialize(properties));
}
- protected Request getCurrentlyRunningQueriesRequest() {
+ protected InternalRequest getCurrentlyRunningQueriesRequest() {
return request(dbName, RequestType.GET, PATH_API_QUERY_CURRENT);
}
- protected Request getSlowQueriesRequest() {
+ protected InternalRequest getSlowQueriesRequest() {
return request(dbName, RequestType.GET, PATH_API_QUERY_SLOW);
}
- protected Request clearSlowQueriesRequest() {
+ protected InternalRequest clearSlowQueriesRequest() {
return request(dbName, RequestType.DELETE, PATH_API_QUERY_SLOW);
}
- protected Request killQueryRequest(final String id) {
+ protected InternalRequest killQueryRequest(final String id) {
return request(dbName, RequestType.DELETE, PATH_API_QUERY, id);
}
- protected Request createAqlFunctionRequest(final String name, final String code,
- final AqlFunctionCreateOptions options) {
+ protected InternalRequest createAqlFunctionRequest(final String name, final String code,
+ final AqlFunctionCreateOptions options) {
return request(dbName, RequestType.POST, PATH_API_AQLFUNCTION).setBody(getSerde().serialize(OptionsBuilder.build(options != null ? options : new AqlFunctionCreateOptions(), name, code)));
}
- protected Request deleteAqlFunctionRequest(final String name, final AqlFunctionDeleteOptions options) {
- final Request request = request(dbName, RequestType.DELETE, PATH_API_AQLFUNCTION, name);
+ protected InternalRequest deleteAqlFunctionRequest(final String name, final AqlFunctionDeleteOptions options) {
+ final InternalRequest request = request(dbName, RequestType.DELETE, PATH_API_AQLFUNCTION, name);
final AqlFunctionDeleteOptions params = options != null ? options : new AqlFunctionDeleteOptions();
request.putQueryParam("group", params.getGroup());
return request;
@@ -250,8 +248,8 @@ protected ResponseDeserializer deleteAqlFunctionResponseDeserializer()
return response -> getSerde().deserialize(response.getBody(), "/deletedCount", Integer.class);
}
- protected Request getAqlFunctionsRequest(final AqlFunctionGetOptions options) {
- final Request request = request(dbName, RequestType.GET, PATH_API_AQLFUNCTION);
+ protected InternalRequest getAqlFunctionsRequest(final AqlFunctionGetOptions options) {
+ final InternalRequest request = request(dbName, RequestType.GET, PATH_API_AQLFUNCTION);
final AqlFunctionGetOptions params = options != null ? options : new AqlFunctionGetOptions();
request.putQueryParam("namespace", params.getNamespace());
return request;
@@ -262,8 +260,8 @@ protected ResponseDeserializer> getAqlFunctionsRes
constructListType(AqlFunctionEntity.class));
}
- protected Request createGraphRequest(final String name, final Collection edgeDefinitions,
- final GraphCreateOptions options) {
+ protected InternalRequest createGraphRequest(final String name, final Collection edgeDefinitions,
+ final GraphCreateOptions options) {
return request(dbName, RequestType.POST, InternalArangoGraph.PATH_API_GHARIAL).setBody(getSerde().serialize(OptionsBuilder.build(options != null ? options : new GraphCreateOptions(), name, edgeDefinitions)));
}
@@ -271,7 +269,7 @@ protected ResponseDeserializer createGraphResponseDeserializer() {
return response -> getSerde().deserialize(response.getBody(), "/graph", GraphEntity.class);
}
- protected Request getGraphsRequest() {
+ protected InternalRequest getGraphsRequest() {
return request(dbName, RequestType.GET, InternalArangoGraph.PATH_API_GHARIAL);
}
@@ -280,7 +278,7 @@ protected ResponseDeserializer> getGraphsResponseDeseria
constructListType(GraphEntity.class));
}
- protected Request transactionRequest(final String action, final TransactionOptions options) {
+ protected InternalRequest transactionRequest(final String action, final TransactionOptions options) {
return request(dbName, RequestType.POST, PATH_API_TRANSACTION).setBody(getSerde().serialize(OptionsBuilder.build(options != null ? options : new TransactionOptions(), action)));
}
@@ -291,24 +289,24 @@ protected ResponseDeserializer transactionResponseDeserializer(final Clas
};
}
- protected Request beginStreamTransactionRequest(final StreamTransactionOptions options) {
+ protected InternalRequest beginStreamTransactionRequest(final StreamTransactionOptions options) {
StreamTransactionOptions opts = options != null ? options : new StreamTransactionOptions();
- Request r = request(dbName, RequestType.POST, PATH_API_BEGIN_STREAM_TRANSACTION).setBody(getSerde().serialize(opts));
+ InternalRequest r = request(dbName, RequestType.POST, PATH_API_BEGIN_STREAM_TRANSACTION).setBody(getSerde().serialize(opts));
if(Boolean.TRUE.equals(opts.getAllowDirtyRead())) {
RequestUtils.allowDirtyRead(r);
}
return r;
}
- protected Request abortStreamTransactionRequest(String id) {
+ protected InternalRequest abortStreamTransactionRequest(String id) {
return request(dbName, RequestType.DELETE, PATH_API_TRANSACTION, id);
}
- protected Request getStreamTransactionsRequest() {
+ protected InternalRequest getStreamTransactionsRequest() {
return request(dbName, RequestType.GET, PATH_API_TRANSACTION);
}
- protected Request getStreamTransactionRequest(String id) {
+ protected InternalRequest getStreamTransactionRequest(String id) {
return request(dbName, RequestType.GET, PATH_API_TRANSACTION, id);
}
@@ -317,7 +315,7 @@ protected ResponseDeserializer> transactionsRespon
constructListType(TransactionEntity.class));
}
- protected Request commitStreamTransactionRequest(String id) {
+ protected InternalRequest commitStreamTransactionRequest(String id) {
return request(dbName, RequestType.PUT, PATH_API_TRANSACTION, id);
}
@@ -326,7 +324,7 @@ protected ResponseDeserializer streamTransactionRespons
StreamTransactionEntity.class);
}
- protected Request getInfoRequest() {
+ protected InternalRequest getInfoRequest() {
return request(dbName, RequestType.GET, PATH_API_DATABASE, "current");
}
@@ -335,11 +333,11 @@ protected ResponseDeserializer getInfoResponseDeserializer() {
DatabaseEntity.class);
}
- protected Request reloadRoutingRequest() {
+ protected InternalRequest reloadRoutingRequest() {
return request(dbName, RequestType.POST, PATH_API_ADMIN_ROUTING_RELOAD);
}
- protected Request getViewsRequest() {
+ protected InternalRequest getViewsRequest() {
return request(dbName, RequestType.GET, InternalArangoView.PATH_API_VIEW);
}
@@ -348,24 +346,24 @@ protected ResponseDeserializer> getViewsResponseDeseriali
constructListType(ViewEntity.class));
}
- protected Request createViewRequest(final String name, final ViewType type) {
+ protected InternalRequest createViewRequest(final String name, final ViewType type) {
return request(dbName, RequestType.POST, InternalArangoView.PATH_API_VIEW).setBody(getSerde().serialize(OptionsBuilder.build(new ViewCreateOptions(), name, type)));
}
- protected Request createArangoSearchRequest(final String name, final ArangoSearchCreateOptions options) {
+ protected InternalRequest createArangoSearchRequest(final String name, final ArangoSearchCreateOptions options) {
return request(dbName, RequestType.POST, InternalArangoView.PATH_API_VIEW).setBody(getSerde().serialize(ArangoSearchOptionsBuilder.build(options != null ? options : new ArangoSearchCreateOptions(), name)));
}
- protected Request createSearchAliasRequest(final String name, final SearchAliasCreateOptions options) {
+ protected InternalRequest createSearchAliasRequest(final String name, final SearchAliasCreateOptions options) {
return request(dbName, RequestType.POST, InternalArangoView.PATH_API_VIEW).setBody(getSerde().serialize(
SearchAliasOptionsBuilder.build(options != null ? options : new SearchAliasCreateOptions(), name)));
}
- protected Request getAnalyzerRequest(final String name) {
+ protected InternalRequest getAnalyzerRequest(final String name) {
return request(dbName, RequestType.GET, InternalArangoView.PATH_API_ANALYZER, name);
}
- protected Request getAnalyzersRequest() {
+ protected InternalRequest getAnalyzersRequest() {
return request(dbName, RequestType.GET, InternalArangoView.PATH_API_ANALYZER);
}
@@ -374,12 +372,12 @@ protected ResponseDeserializer> getSearchAnalyzersRes
constructListType(SearchAnalyzer.class));
}
- protected Request createAnalyzerRequest(final SearchAnalyzer options) {
+ protected InternalRequest createAnalyzerRequest(final SearchAnalyzer options) {
return request(dbName, RequestType.POST, InternalArangoView.PATH_API_ANALYZER).setBody(getSerde().serialize(options));
}
- protected Request deleteAnalyzerRequest(final String name, final AnalyzerDeleteOptions options) {
- Request request = request(dbName, RequestType.DELETE, InternalArangoView.PATH_API_ANALYZER, name);
+ protected InternalRequest deleteAnalyzerRequest(final String name, final AnalyzerDeleteOptions options) {
+ InternalRequest request = request(dbName, RequestType.DELETE, InternalArangoView.PATH_API_ANALYZER, name);
request.putQueryParam("force", options != null ? options.getForce() : null);
return request;
}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java b/driver/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java
index 89bb70423..37ee04fc1 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoEdgeCollection.java
@@ -26,8 +26,6 @@
import com.arangodb.internal.util.DocumentUtil;
import com.arangodb.internal.util.RequestUtils;
import com.arangodb.model.*;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
/**
* @author Mark Vollmary
@@ -58,8 +56,8 @@ public String name() {
return name;
}
- protected Request insertEdgeRequest(final T value, final EdgeCreateOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.POST, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
+ protected InternalRequest insertEdgeRequest(final T value, final EdgeCreateOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.POST, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
name);
final EdgeCreateOptions params = (options != null ? options : new EdgeCreateOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -72,8 +70,8 @@ protected ResponseDeserializer insertEdgeResponseDeserializer() {
return response -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeEntity.class);
}
- protected Request getEdgeRequest(final String key, final GraphDocumentReadOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.GET, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
+ protected InternalRequest getEdgeRequest(final String key, final GraphDocumentReadOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.GET, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
DocumentUtil.createDocumentHandle(name, key));
final GraphDocumentReadOptions params = (options != null ? options : new GraphDocumentReadOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -89,8 +87,8 @@ protected ResponseDeserializer getEdgeResponseDeserializer(final Class
return response -> getSerde().deserializeUserData(getSerde().extract(response.getBody(), EDGE_JSON_POINTER), type);
}
- protected Request replaceEdgeRequest(final String key, final T value, final EdgeReplaceOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.PUT, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
+ protected InternalRequest replaceEdgeRequest(final String key, final T value, final EdgeReplaceOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.PUT, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
DocumentUtil.createDocumentHandle(name, key));
final EdgeReplaceOptions params = (options != null ? options : new EdgeReplaceOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -104,8 +102,8 @@ protected ResponseDeserializer replaceEdgeResponseDeserializer
return response -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeUpdateEntity.class);
}
- protected Request updateEdgeRequest(final String key, final T value, final EdgeUpdateOptions options) {
- final Request request;
+ protected InternalRequest updateEdgeRequest(final String key, final T value, final EdgeUpdateOptions options) {
+ final InternalRequest request;
request = request(graph.db().dbName(), RequestType.PATCH, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
DocumentUtil.createDocumentHandle(name, key));
final EdgeUpdateOptions params = (options != null ? options : new EdgeUpdateOptions());
@@ -121,8 +119,8 @@ protected ResponseDeserializer updateEdgeResponseDeserializer(
return response -> getSerde().deserialize(response.getBody(), EDGE_JSON_POINTER, EdgeUpdateEntity.class);
}
- protected Request deleteEdgeRequest(final String key, final EdgeDeleteOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.DELETE, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
+ protected InternalRequest deleteEdgeRequest(final String key, final EdgeDeleteOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.DELETE, PATH_API_GHARIAL, graph.name(), EDGE_PATH,
DocumentUtil.createDocumentHandle(name, key));
final EdgeDeleteOptions params = (options != null ? options : new EdgeDeleteOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoGraph.java b/driver/src/main/java/com/arangodb/internal/InternalArangoGraph.java
index 8c874c041..975902459 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoGraph.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoGraph.java
@@ -25,8 +25,6 @@
import com.arangodb.internal.ArangoExecutor.ResponseDeserializer;
import com.arangodb.model.OptionsBuilder;
import com.arangodb.model.VertexCollectionCreateOptions;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
import java.util.Collection;
@@ -61,19 +59,19 @@ public String name() {
return name;
}
- protected Request dropRequest() {
+ protected InternalRequest dropRequest() {
return dropRequest(false);
}
- protected Request dropRequest(final boolean dropCollections) {
- final Request request = request(db.dbName(), RequestType.DELETE, PATH_API_GHARIAL, name);
+ protected InternalRequest dropRequest(final boolean dropCollections) {
+ final InternalRequest request = request(db.dbName(), RequestType.DELETE, PATH_API_GHARIAL, name);
if (dropCollections) {
request.putQueryParam("dropCollections", true);
}
return request;
}
- protected Request getInfoRequest() {
+ protected InternalRequest getInfoRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_GHARIAL, name);
}
@@ -81,7 +79,7 @@ protected ResponseDeserializer getInfoResponseDeserializer() {
return addVertexCollectionResponseDeserializer();
}
- protected Request getVertexCollectionsRequest() {
+ protected InternalRequest getVertexCollectionsRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_GHARIAL, name, VERTEX);
}
@@ -90,8 +88,8 @@ protected ResponseDeserializer> getVertexCollectionsResponseD
constructListType(String.class));
}
- protected Request addVertexCollectionRequest(final String name, final VertexCollectionCreateOptions options) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_GHARIAL, name(), VERTEX);
+ protected InternalRequest addVertexCollectionRequest(final String name, final VertexCollectionCreateOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_GHARIAL, name(), VERTEX);
request.setBody(getSerde().serialize(OptionsBuilder.build(options, name)));
return request;
}
@@ -100,7 +98,7 @@ protected ResponseDeserializer addVertexCollectionResponseDeseriali
return addEdgeDefinitionResponseDeserializer();
}
- protected Request getEdgeDefinitionsRequest() {
+ protected InternalRequest getEdgeDefinitionsRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_GHARIAL, name, EDGE);
}
@@ -109,8 +107,8 @@ protected ResponseDeserializer> getEdgeDefinitionsDeserialize
constructListType(String.class));
}
- protected Request addEdgeDefinitionRequest(final EdgeDefinition definition) {
- final Request request = request(db.dbName(), RequestType.POST, PATH_API_GHARIAL, name, EDGE);
+ protected InternalRequest addEdgeDefinitionRequest(final EdgeDefinition definition) {
+ final InternalRequest request = request(db.dbName(), RequestType.POST, PATH_API_GHARIAL, name, EDGE);
request.setBody(getSerde().serialize(definition));
return request;
}
@@ -119,8 +117,8 @@ protected ResponseDeserializer addEdgeDefinitionResponseDeserialize
return response -> getSerde().deserialize(response.getBody(), GRAPH, GraphEntity.class);
}
- protected Request replaceEdgeDefinitionRequest(final EdgeDefinition definition) {
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_GHARIAL, name, EDGE,
+ protected InternalRequest replaceEdgeDefinitionRequest(final EdgeDefinition definition) {
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_GHARIAL, name, EDGE,
definition.getCollection());
request.setBody(getSerde().serialize(definition));
return request;
@@ -130,7 +128,7 @@ protected ResponseDeserializer replaceEdgeDefinitionResponseDeseria
return response -> getSerde().deserialize(response.getBody(), GRAPH, GraphEntity.class);
}
- protected Request removeEdgeDefinitionRequest(final String definitionName) {
+ protected InternalRequest removeEdgeDefinitionRequest(final String definitionName) {
return request(db.dbName(), RequestType.DELETE, PATH_API_GHARIAL, name, EDGE, definitionName);
}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoRoute.java b/driver/src/main/java/com/arangodb/internal/InternalArangoRoute.java
index 78e782d68..86ac9d047 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoRoute.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoRoute.java
@@ -20,9 +20,6 @@
package com.arangodb.internal;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
-
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
@@ -66,8 +63,8 @@ public void _withBody(final Object body) {
this.body = body;
}
- protected Request createRequest(final RequestType requestType) {
- final Request request = request(db.dbName(), requestType, path);
+ protected InternalRequest createRequest(final RequestType requestType) {
+ final InternalRequest request = request(db.dbName(), requestType, path);
for (final Entry param : headerParam.entrySet()) {
request.putHeaderParam(param.getKey(), param.getValue());
}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoSearch.java b/driver/src/main/java/com/arangodb/internal/InternalArangoSearch.java
index e4c3d5fc9..fc33ccfe4 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoSearch.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoSearch.java
@@ -21,8 +21,6 @@
package com.arangodb.internal;
import com.arangodb.model.arangosearch.ArangoSearchPropertiesOptions;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
/**
* @author Mark Vollmary
@@ -37,18 +35,18 @@ protected InternalArangoSearch(final D db, final String name) {
super(db, name);
}
- protected Request getPropertiesRequest() {
+ protected InternalRequest getPropertiesRequest() {
return request(db.dbName(), RequestType.GET, PATH_API_VIEW, name, PROPERTIES_PATH);
}
- protected Request replacePropertiesRequest(final ArangoSearchPropertiesOptions options) {
- final Request request = request(db.dbName(), RequestType.PUT, PATH_API_VIEW, name, PROPERTIES_PATH);
+ protected InternalRequest replacePropertiesRequest(final ArangoSearchPropertiesOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.PUT, PATH_API_VIEW, name, PROPERTIES_PATH);
request.setBody(getSerde().serialize(options != null ? options : new ArangoSearchPropertiesOptions()));
return request;
}
- protected Request updatePropertiesRequest(final ArangoSearchPropertiesOptions options) {
- final Request request = request(db.dbName(), RequestType.PATCH, PATH_API_VIEW, name, PROPERTIES_PATH);
+ protected InternalRequest updatePropertiesRequest(final ArangoSearchPropertiesOptions options) {
+ final InternalRequest request = request(db.dbName(), RequestType.PATCH, PATH_API_VIEW, name, PROPERTIES_PATH);
request.setBody(getSerde().serialize(options != null ? options : new ArangoSearchPropertiesOptions()));
return request;
}
diff --git a/driver/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java b/driver/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java
index 58a3d6d9f..204aaf532 100644
--- a/driver/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java
+++ b/driver/src/main/java/com/arangodb/internal/InternalArangoVertexCollection.java
@@ -26,8 +26,6 @@
import com.arangodb.internal.util.DocumentUtil;
import com.arangodb.internal.util.RequestUtils;
import com.arangodb.model.*;
-import com.arangodb.Request;
-import com.arangodb.RequestType;
/**
* @author Mark Vollmary
@@ -58,12 +56,12 @@ public String name() {
return name;
}
- protected Request dropRequest() {
+ protected InternalRequest dropRequest() {
return request(graph.db().dbName(), RequestType.DELETE, PATH_API_GHARIAL, graph.name(), VERTEX_PATH, name);
}
- protected Request insertVertexRequest(final T value, final VertexCreateOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.POST, PATH_API_GHARIAL, graph.name(), VERTEX_PATH,
+ protected InternalRequest insertVertexRequest(final T value, final VertexCreateOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.POST, PATH_API_GHARIAL, graph.name(), VERTEX_PATH,
name);
final VertexCreateOptions params = (options != null ? options : new VertexCreateOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -76,8 +74,8 @@ protected ResponseDeserializer insertVertexResponseDeserializer()
return response -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexEntity.class);
}
- protected Request getVertexRequest(final String key, final GraphDocumentReadOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.GET, PATH_API_GHARIAL, graph.name(), VERTEX_PATH,
+ protected InternalRequest getVertexRequest(final String key, final GraphDocumentReadOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.GET, PATH_API_GHARIAL, graph.name(), VERTEX_PATH,
DocumentUtil.createDocumentHandle(name, key));
final GraphDocumentReadOptions params = (options != null ? options : new GraphDocumentReadOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -93,8 +91,8 @@ protected ResponseDeserializer getVertexResponseDeserializer(final Class<
return response -> getSerde().deserializeUserData(getSerde().extract(response.getBody(), VERTEX_JSON_POINTER), type);
}
- protected Request replaceVertexRequest(final String key, final T value, final VertexReplaceOptions options) {
- final Request request = request(graph.db().dbName(), RequestType.PUT, PATH_API_GHARIAL, graph.name(), VERTEX_PATH,
+ protected InternalRequest replaceVertexRequest(final String key, final T value, final VertexReplaceOptions options) {
+ final InternalRequest request = request(graph.db().dbName(), RequestType.PUT, PATH_API_GHARIAL, graph.name(), VERTEX_PATH,
DocumentUtil.createDocumentHandle(name, key));
final VertexReplaceOptions params = (options != null ? options : new VertexReplaceOptions());
request.putHeaderParam(TRANSACTION_ID, params.getStreamTransactionId());
@@ -108,8 +106,8 @@ protected ResponseDeserializer replaceVertexResponseDeserial
return response -> getSerde().deserialize(response.getBody(), VERTEX_JSON_POINTER, VertexUpdateEntity.class);
}
- protected