private String mapToJson(Map<String, ByteIterator> values) { VPackBuilder builder = new VPackBuilder().add(ValueType.OBJECT); for (Map.Entry<String, ByteIterator> entry : values.entrySet()) { builder.add(entry.getKey(), byteIteratorToString(entry.getValue())); } builder.close(); return arangoDB.util().deserialize(builder.slice(), String.class); }
protected Message createMessage(final Request request) throws VPackParserException { final long id = mId.incrementAndGet(); return new Message(id, util.serialize(request), request.getBody()); }
protected Request createRequest(final RequestType requestType) { final Request request = request(db.name(), requestType, path); for (final Entry<String, String> param : headerParam.entrySet()) { request.putHeaderParam(param.getKey(), param.getValue()); } for (final Entry<String, String> param : queryParam.entrySet()) { request.putQueryParam(param.getKey(), param.getValue()); } if (body != null) { request.setBody(util().serialize(body)); } return request; } }
@SuppressWarnings({ "hiding", "unchecked" }) protected <E> Collection<E> deserializeEdges(final Class<E> edgeClass, final VPackSlice next) throws VPackException { final Collection<E> edges = new ArrayList<E>(); for (final Iterator<VPackSlice> iteratorEdge = next.get("edges").arrayIterator(); iteratorEdge.hasNext();) { edges.add((E) util(Serializer.CUSTOM).deserialize(iteratorEdge.next(), edgeClass)); } return edges; }
protected Request setLogLevelRequest(final LogLevelEntity entity) { return request(ArangoRequestParam.SYSTEM, RequestType.PUT, PATH_API_ADMIN_LOG_LEVEL) .setBody(util().serialize(entity)); }
@SuppressWarnings("unchecked") protected <V> Collection<V> deserializeVertices(final Class<V> vertexClass, final VPackSlice vpack) throws VPackException { final Collection<V> vertices = new ArrayList<V>(); for (final Iterator<VPackSlice> iterator = vpack.get("vertices").arrayIterator(); iterator.hasNext();) { vertices.add((V) util(Serializer.CUSTOM).deserialize(iterator.next(), vertexClass)); } return vertices; }
protected Request addEdgeDefinitionRequest(final EdgeDefinition definition) { final Request request = request(db.name(), RequestType.POST, PATH_API_GHARIAL, name, EDGE); request.setBody(util().serialize(definition)); return request; }
@SuppressWarnings("unchecked") protected <T> T createResult(final Type type, final Response response) { return (T) ((type != Void.class && response.getBody() != null) ? util.deserialize(response.getBody(), type) : null); }
protected Request replaceUserRequest(final String database, final String user, final UserUpdateOptions options) { final Request request; request = request(database, RequestType.PUT, PATH_API_USER, user); request.setBody(util().serialize(options != null ? options : new UserUpdateOptions())); return request; }
@Override public GraphEntity deserialize(final Response response) throws VPackException { return util().deserialize(response.getBody().get(GRAPH), GraphEntity.class); } };
protected Request updateUserRequest(final String database, final String user, final UserUpdateOptions options) { final Request request; request = request(database, RequestType.PATCH, PATH_API_USER, user); request.setBody(util().serialize(options != null ? options : new UserUpdateOptions())); return request; }
@Override public GraphEntity deserialize(final Response response) throws VPackException { return util().deserialize(response.getBody().get(GRAPH), GraphEntity.class); } };
protected Request executeTraversalRequest(final TraversalOptions options) { return request(name, RequestType.POST, PATH_API_TRAVERSAL) .setBody(util().serialize(options != null ? options : new TransactionOptions())); }
@Override public T deserialize(final Response response) throws VPackException { return util(Serializer.CUSTOM).deserialize(response.getBody().get(VERTEX), type); } };
protected Request importDocumentsRequest(final String values, final DocumentImportOptions options) { return importDocumentsRequest(options).putQueryParam("type", ImportType.auto).setBody(util().serialize(values)); }
@Override public DatabaseEntity deserialize(final Response response) throws VPackException { return util().deserialize(response.getBody().get(ArangoResponseField.RESULT), DatabaseEntity.class); } };
protected Request updatePropertiesRequest(final ArangoSearchPropertiesOptions options) { final Request request = request(db.name(), RequestType.PATCH, PATH_API_VIEW, name, "properties"); request.setBody(util().serialize(options != null ? options : new ArangoSearchPropertiesOptions())); return request; }
@SuppressWarnings("unchecked") @Override public DocumentDeleteEntity<T> deserialize(final Response response) throws VPackException { final VPackSlice body = response.getBody(); final DocumentDeleteEntity<T> doc = util().deserialize(body, DocumentDeleteEntity.class); final VPackSlice oldDoc = body.get(OLD); if (oldDoc.isObject()) { doc.setOld((T) util(Serializer.CUSTOM).deserialize(oldDoc, type)); } return doc; } };
protected Request createDatabaseRequest(final String name) { final Request request = request(ArangoRequestParam.SYSTEM, RequestType.POST, InternalArangoDatabase.PATH_API_DATABASE); request.setBody(util().serialize(OptionsBuilder.build(new DBCreateOptions(), name))); return request; }
@Override public ServerRole deserialize(final Response response) throws VPackException { return util().deserialize(response.getBody().get("role"), ServerRole.class); } };