This is an automated email from the ASF dual-hosted git repository. valentyn pushed a commit to branch valentyn/message-cleanup in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 86c0d02877abedb3b5728025f08a9dcd35394387 Author: Valentyn Kahamlyk <[email protected]> AuthorDate: Mon Jul 29 16:30:11 2024 -0700 cleanup for ResponseMessageV4 --- .../tinkerpop/gremlin/driver/ResultQueue.java | 20 +---- .../apache/tinkerpop/gremlin/driver/ResultSet.java | 19 ----- .../driver/handler/GremlinResponseHandler.java | 2 +- .../gremlin/driver/AbstractResultQueueTest.java | 2 +- .../tinkerpop/gremlin/driver/ResultQueueTest.java | 10 +-- .../tinkerpop/gremlin/driver/ResultSetTest.java | 40 +--------- .../gremlin/util/message/ResponseMessageV4.java | 16 +--- .../gremlin/util/message/ResponseResultV4.java | 10 +-- .../gremlin/util/message/ResponseStatusV4.java | 17 ----- .../util/ser/GraphBinaryMessageSerializerV4.java | 6 +- .../ser/binary/ResponseMessageSerializerV4.java | 86 ---------------------- .../binary/GraphBinaryMessageSerializerV4Test.java | 6 +- 12 files changed, 12 insertions(+), 222 deletions(-) diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java index 7fc905115b..342a3130db 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultQueue.java @@ -24,9 +24,7 @@ import org.javatuples.Pair; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Queue; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentLinkedQueue; @@ -52,8 +50,6 @@ public final class ResultQueue { private final Queue<Pair<CompletableFuture<List<Result>>,Integer>> waiting = new ConcurrentLinkedQueue<>(); - private Map<String,Object> statusAttributes = null; - public ResultQueue(final LinkedBlockingQueue<Result> resultLinkedBlockingQueue, final CompletableFuture<Void> readComplete) { this.resultLinkedBlockingQueue = resultLinkedBlockingQueue; this.readComplete = readComplete; @@ -69,14 +65,6 @@ public final class ResultQueue { tryDrainNextWaiting(false); } - private <V> V validate(final String aggregateTo, final Class<?> expected) { - if (!(expected.isAssignableFrom(aggregatedResult.getClass()))) - throw new IllegalStateException(String.format("Side-effect \"%s\" contains the type %s that is not acceptable for %s", - aggregatedResult.getClass().getSimpleName(), aggregateTo)); - - return (V) aggregatedResult; - } - public CompletableFuture<List<Result>> await(final int items) { final CompletableFuture<List<Result>> result = new CompletableFuture<>(); waiting.add(Pair.with(result, items)); @@ -105,14 +93,12 @@ public final class ResultQueue { resultLinkedBlockingQueue.drainTo(collection); } - public void markComplete(final Map<String, Object> statusAttributes) { + public void markComplete() { // if there was some aggregation performed in the queue then the full object is hanging out waiting to be // added to the ResultSet if (aggregatedResult != null) add(new Result(aggregatedResult)); - this.statusAttributes = null == statusAttributes ? Collections.emptyMap() : statusAttributes; - this.readComplete.complete(null); this.drainAllWaiting(); @@ -124,10 +110,6 @@ public final class ResultQueue { this.drainAllWaiting(); } - Map<String,Object> getStatusAttributes() { - return statusAttributes; - } - /** * Completes the next waiting future if there is one. */ diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultSet.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultSet.java index b41e416da0..22de4fe7e8 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultSet.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultSet.java @@ -21,15 +21,12 @@ package org.apache.tinkerpop.gremlin.driver; import org.apache.tinkerpop.gremlin.util.message.RequestMessageV4; import java.util.ArrayList; -import java.util.Collections; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.NoSuchElementException; import java.util.Spliterator; import java.util.Spliterators; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; import java.util.concurrent.ExecutorService; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -76,22 +73,6 @@ public final class ResultSet implements Iterable<Result> { return host; } - /** - * Returns a future that will complete when {@link #allItemsAvailable()} is {@code true} and will contain the - * attributes from the response. - */ - public CompletableFuture<Map<String,Object>> statusAttributes() { - return readCompleted.handleAsync((unusedInput, throwable) -> { - if (throwable != null) { - throw throwable instanceof CompletionException ? - (CompletionException)throwable: new CompletionException(throwable); - } else { - return (null == resultQueue.getStatusAttributes() ? - Collections.emptyMap() : resultQueue.getStatusAttributes()); - } - }, executor); - } - /** * Determines if all items have been returned to the client. */ diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/GremlinResponseHandler.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/GremlinResponseHandler.java index 83203f964c..4c6735cb85 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/GremlinResponseHandler.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/handler/GremlinResponseHandler.java @@ -88,7 +88,7 @@ public class GremlinResponseHandler extends SimpleChannelInboundHandler<Response final ResultQueue resultQueue = pending.getAndSet(null); if (resultQueue != null) { if (null == channelHandlerContext.channel().attr(CAUGHT_EXCEPTION).get()) { - resultQueue.markComplete(response.getStatus().getAttributes()); + resultQueue.markComplete(); } else { resultQueue.markError(channelHandlerContext.channel().attr(CAUGHT_EXCEPTION).getAndSet(null)); } diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/AbstractResultQueueTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/AbstractResultQueueTest.java index d87fd00d2c..806fa33e0a 100644 --- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/AbstractResultQueueTest.java +++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/AbstractResultQueueTest.java @@ -94,7 +94,7 @@ public abstract class AbstractResultQueueTest { } } - if (markDone) resultQueue.markComplete(Collections.emptyMap()); + if (markDone) resultQueue.markComplete(); }, "ResultQueueTest-job-submitter"); diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java index 4ca466435f..b487d5dc70 100644 --- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java +++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultQueueTest.java @@ -41,10 +41,6 @@ import static org.junit.Assert.fail; */ public class ResultQueueTest extends AbstractResultQueueTest { - private static final Map<String,Object> ATTRIBUTES = new HashMap<String,Object>() {{ - put("this", "that"); - }}; - @Test public void shouldGetSizeUntilError() throws Exception { final Thread t = addToQueue(100, 10, true, false, 1); @@ -135,7 +131,7 @@ public class ResultQueueTest extends AbstractResultQueueTest { resultQueue.add(new Result("test3")); assertThat(future.isDone(), is(false)); - resultQueue.markComplete(ATTRIBUTES); + resultQueue.markComplete(); assertThat(future.isDone(), is(true)); final List<Result> results = future.get(); @@ -145,7 +141,6 @@ public class ResultQueueTest extends AbstractResultQueueTest { assertEquals(3, results.size()); assertThat(resultQueue.isEmpty(), is(true)); - assertEquals("that", resultQueue.getStatusAttributes().get("this")); } @Test @@ -243,7 +238,7 @@ public class ResultQueueTest extends AbstractResultQueueTest { resultQueue.add(new Result("test2")); resultQueue.add(new Result("test3")); - resultQueue.markComplete(ATTRIBUTES); + resultQueue.markComplete(); // you might want 30 but there are only three final CompletableFuture<List<Result>> future = resultQueue.await(30); @@ -256,7 +251,6 @@ public class ResultQueueTest extends AbstractResultQueueTest { assertEquals(3, results.size()); assertThat(resultQueue.isEmpty(), is(true)); - assertEquals("that", resultQueue.getStatusAttributes().get("this")); } @Test diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultSetTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultSetTest.java index 1a301dfa33..343b7c5f0a 100644 --- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultSetTest.java +++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/ResultSetTest.java @@ -22,10 +22,8 @@ import org.apache.tinkerpop.gremlin.util.message.RequestMessageV4; import org.junit.Before; import org.junit.Test; -import java.util.HashMap; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.NoSuchElementException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -43,10 +41,6 @@ import static org.junit.Assert.fail; */ public class ResultSetTest extends AbstractResultQueueTest { - private static final Map<String,Object> ATTRIBUTES = new HashMap<String,Object>() {{ - put("this", "that"); - }}; - private ResultSet resultSet; @Before @@ -54,13 +48,6 @@ public class ResultSetTest extends AbstractResultQueueTest { resultSet = new ResultSet(resultQueue, pool, readCompleted, RequestMessageV4.build("traversal").create(), null); } - @Test - public void shouldReturnEmptyMapForNoResponseAttributes() throws Exception { - final CompletableFuture<Map<String,Object>> attrs = resultSet.statusAttributes(); - readCompleted.complete(null); - assertThat(attrs.get().isEmpty(), is(true)); - } - @Test public void shouldHaveAllItemsAvailableAsynchronouslyOnReadComplete() throws InterruptedException { final CompletableFuture<Void> all = resultSet.allItemsAvailableAsync(); @@ -82,25 +69,6 @@ public class ResultSetTest extends AbstractResultQueueTest { assertThat(all.isCompletedExceptionally(), is(true)); } - @Test - public void shouldHaveStatusAttributesCompleteOnReadComplete() throws InterruptedException { - final CompletableFuture<Map<String,Object>> attrbFut = resultSet.statusAttributes(); - readCompleted.complete(null); - // flush all tasks in pool - pool.awaitTermination(2, TimeUnit.SECONDS); - assertThat(attrbFut.isDone(), is(true)); - } - - @Test - public void shouldHaveStatusAttributesCompleteOnReadCompleteExceptionally() throws InterruptedException { - final CompletableFuture<Map<String,Object>> attrbFut = resultSet.statusAttributes(); - readCompleted.completeExceptionally(new RuntimeException()); - // flush all tasks in pool - pool.awaitTermination(2, TimeUnit.SECONDS); - assertThat(attrbFut.isDone(), is(true)); - assertThat(attrbFut.isCompletedExceptionally(), is(true)); - } - @Test public void shouldHaveAllItemsAvailableOnReadComplete() throws InterruptedException { assertThat(resultSet.allItemsAvailable(), is(false)); @@ -154,7 +122,7 @@ public class ResultSetTest extends AbstractResultQueueTest { resultQueue.add(new Result("test3")); assertThat(future.isDone(), is(false)); - resultQueue.markComplete(ATTRIBUTES); + resultQueue.markComplete(); assertThat(future.isDone(), is(true)); final List<Result> results = future.get(); @@ -165,8 +133,6 @@ public class ResultSetTest extends AbstractResultQueueTest { assertThat(resultSet.allItemsAvailable(), is(true)); assertEquals(0, resultSet.getAvailableItemCount()); - - assertEquals("that", resultQueue.getStatusAttributes().get("this")); } @Test @@ -177,7 +143,7 @@ public class ResultSetTest extends AbstractResultQueueTest { resultQueue.add(new Result("test3")); assertThat(future.isDone(), is(false)); - resultQueue.markComplete(ATTRIBUTES); + resultQueue.markComplete(); final List<Result> results = future.get(); assertEquals("test1", results.get(0).getString()); @@ -188,8 +154,6 @@ public class ResultSetTest extends AbstractResultQueueTest { assertThat(future.isDone(), is(true)); assertThat(resultSet.allItemsAvailable(), is(true)); assertEquals(0, resultSet.getAvailableItemCount()); - - assertEquals("that", resultQueue.getStatusAttributes().get("this")); } @Test diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseMessageV4.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseMessageV4.java index 10f0c0183b..967363d439 100644 --- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseMessageV4.java +++ b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseMessageV4.java @@ -21,9 +21,7 @@ package org.apache.tinkerpop.gremlin.util.message; import io.netty.handler.codec.http.HttpResponseStatus; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * The model for a response message that is sent to the server beginning in 4.0.0. ResponseMessageV4 is designed to be @@ -103,8 +101,6 @@ public final class ResponseMessageV4 { private List<Object> result = Collections.emptyList(); private String statusMessage = null; private String exception = null; - private Map<String, Object> attributes = Collections.emptyMap(); - private Map<String, Object> metaData = Collections.emptyMap(); private Builder() { } @@ -123,23 +119,13 @@ public final class ResponseMessageV4 { return this; } - public Builder statusAttributes(final Map<String, Object> attributes) { - this.attributes = attributes; - return this; - } - public Builder result(final List<Object> result) { this.result = result; return this; } - public Builder responseMetaData(final Map<String, Object> metaData) { - this.metaData = metaData; - return this; - } - public ResponseMessageV4 create() { - final ResponseResultV4 responseResult = new ResponseResultV4(result, metaData); + final ResponseResultV4 responseResult = new ResponseResultV4(result); // skip null values if (code == null && statusMessage == null) { return new ResponseMessageV4(null, responseResult); diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseResultV4.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseResultV4.java index 1711a3c0bc..7dd3aa7524 100644 --- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseResultV4.java +++ b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseResultV4.java @@ -19,33 +19,25 @@ package org.apache.tinkerpop.gremlin.util.message; import java.util.List; -import java.util.Map; /** * Data model for the "result" portion of a {@link ResponseMessageV4}. */ public final class ResponseResultV4 { private final List<Object> data; - private final Map<String, Object> meta; - public ResponseResultV4(final List<Object> data, final Map<String, Object> meta) { + public ResponseResultV4(final List<Object> data) { this.data = data; - this.meta = meta; } public List<Object> getData() { return data; } - public Map<String, Object> getMeta() { - return meta; - } - @Override public String toString() { return "ResponseResult{" + "data=" + data + - ", meta=" + meta + '}'; } } diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseStatusV4.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseStatusV4.java index d0861b7ca4..cdf808f197 100644 --- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseStatusV4.java +++ b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/message/ResponseStatusV4.java @@ -30,20 +30,11 @@ public final class ResponseStatusV4 { private final HttpResponseStatus code; private final String message; private final String exception; - private final Map<String, Object> attributes; - - public ResponseStatusV4(final HttpResponseStatus code, final String message, final Map<String, Object> attributes) { - this.code = code; - this.message = message; - this.attributes = attributes; - this.exception = null; - } public ResponseStatusV4(final HttpResponseStatus code, final String message, final String exception) { this.code = code; this.message = message; this.exception = exception; - this.attributes = Collections.emptyMap(); } /** @@ -67,14 +58,6 @@ public final class ResponseStatusV4 { return exception; } - /** - * Gets the meta-data related to the response. If meta-data is returned it is to be considered specific to the - * "op" that is executed. Not all "op" implementations will return meta-data. - */ - public Map<String, Object> getAttributes() { - return attributes; - } - @Override public String toString() { return "ResponseStatus{" + diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/GraphBinaryMessageSerializerV4.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/GraphBinaryMessageSerializerV4.java index d98c7cfd85..7fc23f3ef8 100644 --- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/GraphBinaryMessageSerializerV4.java +++ b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/GraphBinaryMessageSerializerV4.java @@ -35,7 +35,6 @@ import org.apache.tinkerpop.gremlin.util.message.RequestMessageV4; import org.apache.tinkerpop.gremlin.util.message.ResponseMessageV4; import org.apache.tinkerpop.gremlin.util.message.ResponseStatusV4; import org.apache.tinkerpop.gremlin.util.ser.binary.RequestMessageSerializerV4; -import org.apache.tinkerpop.gremlin.util.ser.binary.ResponseMessageSerializerV4; import org.javatuples.Pair; import org.javatuples.Triplet; @@ -55,8 +54,7 @@ public class GraphBinaryMessageSerializerV4 extends AbstractMessageSerializerV4< private GraphBinaryReader reader; private GraphBinaryWriter writer; private RequestMessageSerializerV4 requestSerializer; - private ResponseMessageSerializerV4 responseSerializer; - private GraphBinaryMapper mapper; + private final GraphBinaryMapper mapper; private static final NettyBufferFactory bufferFactory = new NettyBufferFactory(); private static final String MIME_TYPE = SerTokensV4.MIME_GRAPHBINARY_V4; @@ -74,7 +72,6 @@ public class GraphBinaryMessageSerializerV4 extends AbstractMessageSerializerV4< mapper = new GraphBinaryMapper(writer, reader); requestSerializer = new RequestMessageSerializerV4(); - responseSerializer = new ResponseMessageSerializerV4(); } public GraphBinaryMessageSerializerV4(final TypeSerializerRegistry.Builder builder) { @@ -129,7 +126,6 @@ public class GraphBinaryMessageSerializerV4 extends AbstractMessageSerializerV4< writer = new GraphBinaryWriter(registry); requestSerializer = new RequestMessageSerializerV4(); - responseSerializer = new ResponseMessageSerializerV4(); } @Override diff --git a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/ResponseMessageSerializerV4.java b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/ResponseMessageSerializerV4.java deleted file mode 100644 index fd5e600cf0..0000000000 --- a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/binary/ResponseMessageSerializerV4.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -package org.apache.tinkerpop.gremlin.util.ser.binary; - -import io.netty.buffer.ByteBuf; -import io.netty.handler.codec.http.HttpResponseStatus; -import org.apache.tinkerpop.gremlin.structure.io.Buffer; -import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader; -import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter; -import org.apache.tinkerpop.gremlin.util.message.ResponseMessageV4; -import org.apache.tinkerpop.gremlin.util.message.ResponseResultV4; -import org.apache.tinkerpop.gremlin.util.message.ResponseStatusV4; -import org.apache.tinkerpop.gremlin.util.ser.NettyBufferFactory; -import org.apache.tinkerpop.gremlin.util.ser.SerializationException; - -import java.io.IOException; -import java.util.Map; - -public class ResponseMessageSerializerV4 { - private static final NettyBufferFactory bufferFactory = new NettyBufferFactory(); - - public ResponseMessageV4 readValue(final ByteBuf byteBuf, final GraphBinaryReader context) throws SerializationException { - // Wrap netty's buffer - final Buffer buffer = bufferFactory.create(byteBuf); - final int version = buffer.readByte() & 0xff; - - if (version >>> 7 != 1) { - // This is an indication that the response buffer was incorrectly built - // Or the buffer offsets are wrong - throw new SerializationException("The most significant bit should be set according to the format"); - } - - try { - return ResponseMessageV4.build() - .code(HttpResponseStatus.valueOf(context.readValue(buffer, Integer.class, false))) - .statusMessage(context.readValue(buffer, String.class, true)) - .statusAttributes(context.readValue(buffer, Map.class, false)) - .responseMetaData(context.readValue(buffer, Map.class, false)) - .result(context.read(buffer)) - .create(); - } catch (IOException ex) { - throw new SerializationException(ex); - } - } - - public void writeValue(final ResponseMessageV4 value, final ByteBuf byteBuf, final GraphBinaryWriter context) throws SerializationException { - // Wrap netty's buffer - final Buffer buffer = bufferFactory.create(byteBuf); - - final ResponseResultV4 result = value.getResult(); - final ResponseStatusV4 status = value.getStatus(); - - try { - // Version - buffer.writeByte(GraphBinaryWriter.VERSION_BYTE); - // Status code - context.writeValue(status.getCode().code(), buffer, false); - // Nullable status message - context.writeValue(status.getMessage(), buffer, true); - // Status attributes - context.writeValue(status.getAttributes(), buffer, false); - // Result meta - context.writeValue(result.getMeta(), buffer, false); - // Fully-qualified value - context.write(result.getData(), buffer); - } catch (IOException ex) { - throw new SerializationException(ex); - } - } -} diff --git a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryMessageSerializerV4Test.java b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryMessageSerializerV4Test.java index df95403306..6d28f1c74e 100644 --- a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryMessageSerializerV4Test.java +++ b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/binary/GraphBinaryMessageSerializerV4Test.java @@ -174,7 +174,7 @@ public class GraphBinaryMessageSerializerV4Test { // Status assertEquals(footer.getStatus().getCode(), deserialized.getStatus().getCode()); assertEquals(footer.getStatus().getMessage(), deserialized.getStatus().getMessage()); - assertEquals(footer.getStatus().getException(), footer.getStatus().getException()); + assertEquals(footer.getStatus().getException(), deserialized.getStatus().getException()); // Result List<Integer> combinedData = new ArrayList<>(); Stream.of(headerData, chunkData1, chunkData2).forEach(combinedData::addAll); @@ -208,18 +208,16 @@ public class GraphBinaryMessageSerializerV4Test { if (expected.getStatus() != null && actual.getStatus() != null) { assertEquals(expected.getStatus().getCode(), actual.getStatus().getCode()); assertEquals(expected.getStatus().getMessage(), actual.getStatus().getMessage()); - assertEquals(expected.getStatus().getAttributes(), actual.getStatus().getAttributes()); } // Result // null == empty List if (!isEmptyData(expected) && !isEmptyData(actual)) { assertEquals(expected.getResult().getData(), actual.getResult().getData()); } - assertEquals(expected.getResult().getMeta(), actual.getResult().getMeta()); } private static boolean isEmptyData(final ResponseMessageV4 responseMessage) { return responseMessage.getResult() == null || responseMessage.getResult().getData() == null || - ((List) responseMessage.getResult().getData()).isEmpty(); + responseMessage.getResult().getData().isEmpty(); } }
