This is an automated email from the ASF dual-hosted git repository.

kenhuuu pushed a commit to branch master-http-final
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit f272501f9841bb9ed263c17877f7f442573942d1
Author: Ken Hu <[email protected]>
AuthorDate: Wed Oct 9 16:16:31 2024 -0700

    Add data list back to result object in GraphSONv4.
---
 .../server/GremlinServerAuditLogIntegrateTest.java |  3 +-
 .../server/GremlinServerAuthzIntegrateTest.java    |  3 +-
 .../server/GremlinServerHttpIntegrateTest.java     | 85 +++++++++++-----------
 ...tractGremlinServerChannelizerIntegrateTest.java |  3 +-
 .../ser/AbstractGraphSONMessageSerializerV4.java   | 16 +++-
 .../tinkerpop/gremlin/util/ser/SerTokens.java      |  1 +
 .../util/ser/GraphSONMessageSerializerV4Test.java  | 15 ++--
 .../GraphSONUntypedMessageSerializerV4Test.java    | 15 ++--
 8 files changed, 78 insertions(+), 63 deletions(-)

diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
index c26febfbd4..65126c7db2 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuditLogIntegrateTest.java
@@ -38,6 +38,7 @@ import 
org.apache.tinkerpop.gremlin.server.auth.SimpleAuthenticator;
 import org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer;
 import 
org.apache.tinkerpop.gremlin.server.handler.HttpBasicAuthenticationHandler;
 import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONTokens;
+import org.apache.tinkerpop.gremlin.util.ser.SerTokens;
 import org.apache.tinkerpop.shaded.jackson.databind.JsonNode;
 import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper;
 import org.junit.AfterClass;
@@ -258,7 +259,7 @@ public class GremlinServerAuditLogIntegrateTest extends 
AbstractGremlinServerInt
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(1, 
node.get("result").get(SerTokens.TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
 
         // wait for logger to flush - (don't think there is a way to detect 
this)
diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthzIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthzIntegrateTest.java
index 21419b93f8..d5a0947f24 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthzIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerAuthzIntegrateTest.java
@@ -35,6 +35,7 @@ import 
org.apache.tinkerpop.gremlin.server.auth.SimpleAuthenticator;
 import org.apache.tinkerpop.gremlin.server.authz.AllowListAuthorizer;
 import 
org.apache.tinkerpop.gremlin.server.handler.HttpBasicAuthenticationHandler;
 import org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONTokens;
+import org.apache.tinkerpop.gremlin.util.ser.SerTokens;
 import org.apache.tinkerpop.shaded.jackson.databind.JsonNode;
 import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper;
 import org.junit.AfterClass;
@@ -147,7 +148,7 @@ public class GremlinServerAuthzIntegrateTest extends 
AbstractGremlinServerIntegr
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(1, 
node.get("result").get(SerTokens.TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 }
diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
index 63adb30f2b..0ebcc28473 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerHttpIntegrateTest.java
@@ -78,6 +78,7 @@ import static 
org.apache.tinkerpop.gremlin.util.Tokens.ARGS_MATERIALIZE_PROPERTI
 import static 
org.apache.tinkerpop.gremlin.util.Tokens.MATERIALIZE_PROPERTIES_ALL;
 import static 
org.apache.tinkerpop.gremlin.util.Tokens.MATERIALIZE_PROPERTIES_TOKENS;
 import static org.apache.tinkerpop.gremlin.util.Tokens.TIMEOUT_MS;
+import static org.apache.tinkerpop.gremlin.util.ser.SerTokens.TOKEN_DATA;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.core.Is.is;
 import static org.hamcrest.core.StringRegularExpression.matchesRegex;
@@ -303,7 +304,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -320,7 +321,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -335,7 +336,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(20, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(20, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -350,7 +351,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(111, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(111, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -368,7 +369,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            gremlinLangResult = 
node.get("result").get(GraphSONTokens.VALUEPROP).toString();
+            gremlinLangResult = 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).toString();
         }
 
         httppost.setEntity(new 
StringEntity("{\"gremlin\":\"g.V()\",\"language\":\"gremlin-groovy\",\"g\":\"gmodern\"}",
 Consts.UTF_8));
@@ -377,7 +378,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            gremlinGroovyResult = 
node.get("result").get(GraphSONTokens.VALUEPROP).toString();
+            gremlinGroovyResult = 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).toString();
         }
 
         assertEquals(gremlinGroovyResult, gremlinLangResult);
@@ -397,7 +398,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            firstResult = 
node.get("result").get(GraphSONTokens.VALUEPROP).toString();
+            firstResult = 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).toString();
         }
 
         httppost.setEntity(new 
StringEntity("{\"gremlin\":\"g.V()\",\"g\":\"gmodern\"}", Consts.UTF_8));
@@ -413,7 +414,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            secondResult = 
node.get("result").get(GraphSONTokens.VALUEPROP).toString();
+            secondResult = 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).toString();
         }
 
         assertEquals(firstResult, secondResult);
@@ -430,7 +431,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(6, 
node.get("result").get(GraphSONTokens.VALUEPROP).size());
+            assertEquals(6, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).size());
         }
     }
 
@@ -466,7 +467,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -484,7 +485,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(Instant.MAX, 
Instant.parse(node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asText()));
+            assertEquals(Instant.MAX, 
Instant.parse(node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asText()));
         }
     }
 
@@ -500,7 +501,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
 
         final HttpGet httpget = new 
HttpGet(TestClientFactory.createURLString("?gremlin=g.V().count()"));
@@ -514,7 +515,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
                 assertEquals("application/json", 
response.getEntity().getContentType().getValue());
                 final String json = EntityUtils.toString(response.getEntity());
                 final JsonNode node = mapper.readTree(json);
-                assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+                assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
             }
         }
     } */
@@ -532,7 +533,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).size());
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).size());
         }
     }
 
@@ -548,7 +549,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(6, 
node.get("result").get(GraphSONTokens.VALUEPROP).size());
+            assertEquals(6, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).size());
         }
     }
 
@@ -564,7 +565,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode resultJson = mapper.readTree(json);
-            final JsonNode data = resultJson.get("result");
+            final JsonNode data = resultJson.get("result").get(TOKEN_DATA);
             assertEquals(1, data.get(GraphSONTokens.VALUEPROP).size());
 
             assertEquals(6, 
data.get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.VERTICES).size());
@@ -584,9 +585,9 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(6, 
node.get("result").get(GraphSONTokens.VALUEPROP).size());
+            assertEquals(6, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).size());
             assertEquals(GraphSONTokens.VERTEX,
-                    
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.LABEL).get(0).textValue());
+                    
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.LABEL).get(0).textValue());
         }
     }
 
@@ -602,7 +603,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(20, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(20, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -618,7 +619,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(10, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(10, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -634,7 +635,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(10.5d, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).doubleValue(),
 0.0001);
+            assertEquals(10.5d, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).doubleValue(),
 0.0001);
         }
     }
 
@@ -650,7 +651,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals("10", 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).textValue());
+            assertEquals("10", 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).textValue());
         }
     }
 
@@ -666,7 +667,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            
assertThat(node.get("result").get(GraphSONTokens.VALUEPROP).get(0).booleanValue(),
 is(true));
+            
assertThat(node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).booleanValue(),
 is(true));
         }
     }
 
@@ -682,7 +683,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            
assertThat(node.get("result").get(GraphSONTokens.VALUEPROP).get(0).isNull(), 
is(true));
+            
assertThat(node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).isNull(),
 is(true));
         }
     }
 
@@ -698,10 +699,10 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            
assertThat(node.get("result").get(GraphSONTokens.VALUEPROP).isArray(), 
is(true));
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
-            assertEquals(2, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(1).get(GraphSONTokens.VALUEPROP).intValue());
-            assertEquals(3, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(2).get(GraphSONTokens.VALUEPROP).intValue());
+            
assertThat(node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).isArray(),
 is(true));
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(2, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(1).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(3, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(2).get(GraphSONTokens.VALUEPROP).intValue());
         }
     }
 
@@ -717,8 +718,8 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals("g:Map", 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get("@type").asText());
-            assertEquals(1, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(1).get(GraphSONTokens.VALUEPROP).asInt());
+            assertEquals("g:Map", 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get("@type").asText());
+            assertEquals(1, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(1).get(GraphSONTokens.VALUEPROP).asInt());
         }
     }
 
@@ -772,7 +773,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(0, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
+            assertEquals(0, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
         }
     }
 
@@ -789,7 +790,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(0, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
+            assertEquals(0, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).asInt());
         }
     }
 
@@ -820,7 +821,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals(SerTokens.MIME_JSON, 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(0, node.get("result").get(0).asInt());
+            assertEquals(0, node.get("result").get(TOKEN_DATA).get(0).asInt());
         }
     }
 
@@ -850,7 +851,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals("application/json", 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals("2018-03-22T00:35:44.741+16:00", 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).textValue());
+            assertEquals("2018-03-22T00:35:44.741+16:00", 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).textValue());
         }
     }
 
@@ -920,9 +921,9 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
 
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(8, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(8).get(GraphSONTokens.VALUEPROP).intValue());
-            assertEquals("ten", 
node.get("result").get(GraphSONTokens.VALUEPROP).get(10).textValue());
-            assertEquals("new chunk", 
node.get("result").get(GraphSONTokens.VALUEPROP).get(16).textValue());
+            assertEquals(8, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(8).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals("ten", 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(10).textValue());
+            assertEquals("new chunk", 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(16).textValue());
 
             final Header[] footers = getTrailingHeaders(response);
             assertEquals(1, footers.length);
@@ -1102,7 +1103,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
 
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(0, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
+            assertEquals(0, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).intValue());
             Assert.assertThat(node.get("status").get("message").textValue(), 
startsWith("some error"));
             assertEquals(500, node.get("status").get("code").intValue());
 
@@ -1149,7 +1150,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals(Serializers.GRAPHSON_V4.getValue(), 
response.getEntity().getContentType().getValue());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(10.5d, 
node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).doubleValue(),
 0.0001);
+            assertEquals(10.5d, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).doubleValue(),
 0.0001);
         }
     }
 
@@ -1225,7 +1226,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
             assertEquals(200, response.getStatusLine().getStatusCode());
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            assertEquals(6, 
node.get("result").get(GraphSONTokens.VALUEPROP).size());
+            assertEquals(6, 
node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).size());
         }
     }
 
@@ -1259,7 +1260,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
 
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            
assertNotNull(node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.PROPERTIES));
+            
assertNotNull(node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.PROPERTIES));
         }
     }
 
@@ -1277,7 +1278,7 @@ public class GremlinServerHttpIntegrateTest extends 
AbstractGremlinServerIntegra
 
             final String json = EntityUtils.toString(response.getEntity());
             final JsonNode node = mapper.readTree(json);
-            
assertNull(node.get("result").get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.PROPERTIES));
+            
assertNull(node.get("result").get(TOKEN_DATA).get(GraphSONTokens.VALUEPROP).get(0).get(GraphSONTokens.VALUEPROP).get(GraphSONTokens.PROPERTIES));
         }
     }
 
diff --git 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/channel/AbstractGremlinServerChannelizerIntegrateTest.java
 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/channel/AbstractGremlinServerChannelizerIntegrateTest.java
index 0852ad55b0..0b98996cb3 100644
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/channel/AbstractGremlinServerChannelizerIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/channel/AbstractGremlinServerChannelizerIntegrateTest.java
@@ -38,6 +38,7 @@ import org.apache.http.impl.client.HttpClients;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
 import org.apache.http.util.EntityUtils;
+import org.apache.tinkerpop.gremlin.util.ser.SerTokens;
 import org.apache.tinkerpop.shaded.jackson.databind.JsonNode;
 import org.apache.tinkerpop.shaded.jackson.databind.ObjectMapper;
 import org.junit.Test;
@@ -230,7 +231,7 @@ abstract class 
AbstractGremlinServerChannelizerIntegrateTest extends AbstractGre
                     assertEquals("application/json", 
response.getEntity().getContentType().getValue());
                     final String json = 
EntityUtils.toString(response.getEntity());
                     final JsonNode node = mapper.readTree(json);
-                    assertEquals(result, 
node.get("result").get("@value").get(0).get("@value").intValue());
+                    assertEquals(result, 
node.get("result").get(SerTokens.TOKEN_DATA).get("@value").get(0).get("@value").intValue());
                 }
             }
         }
diff --git 
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
 
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
index 4b6939262b..48b0b28bd2 100644
--- 
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
+++ 
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/AbstractGraphSONMessageSerializerV4.java
@@ -130,7 +130,7 @@ public abstract class AbstractGraphSONMessageSerializerV4 
extends AbstractMessag
                     ? mapper.writeValueAsBytes(new 
ResponseMessage.ResponseMessageFooter(responseMessage, isTyped()))
                     : new byte[0];
             // skip closing }
-            final int headerLen = header.length - (isTyped() ? 3 : 2);
+            final int headerLen = header.length - (isTyped() ? 4 : 3);
             final int bufSize = headerLen + data.length + (writeFullMessage ? 
footer.length - 1 : 0);
 
             encodedMessage = allocator.buffer(bufSize).writeBytes(header, 0, 
headerLen).writeBytes(data);
@@ -378,6 +378,10 @@ public abstract class AbstractGraphSONMessageSerializerV4 
extends AbstractMessag
             GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, 
typeSerializer);
 
             jsonGenerator.writeFieldName(SerTokens.TOKEN_RESULT);
+
+            GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, 
typeSerializer);
+            jsonGenerator.writeFieldName(SerTokens.TOKEN_DATA);
+
             final List<Object> result = responseMessage.getResult().getData();
             if (result != null) {
                 serializerProvider.findTypedValueSerializer(result.getClass(), 
true, null).serialize(result, jsonGenerator, serializerProvider);
@@ -386,6 +390,7 @@ public abstract class AbstractGraphSONMessageSerializerV4 
extends AbstractMessag
             }
 
             GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, 
typeSerializer);
+            GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, 
typeSerializer);
         }
     }
 
@@ -413,8 +418,11 @@ public abstract class AbstractGraphSONMessageSerializerV4 
extends AbstractMessag
             final ResponseMessage responseMessage = 
responseMessageHeader.getResponseMessage();
 
             GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, 
typeSerializer);
-
             jsonGenerator.writeFieldName(SerTokens.TOKEN_RESULT);
+
+            GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, 
typeSerializer);
+            jsonGenerator.writeFieldName(SerTokens.TOKEN_DATA);
+
             jsonGenerator.writeObject(Collections.emptyList());
 
             // jsonGenerator will add 2 closing }
@@ -449,7 +457,7 @@ public abstract class AbstractGraphSONMessageSerializerV4 
extends AbstractMessag
             GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, 
typeSerializer);
 
             // close result field. array inside object for types, just array 
for untyped
-            jsonGenerator.writeRaw(responseMessageFooter.getTyped() ? "]}," : 
"],");
+            jsonGenerator.writeRaw(responseMessageFooter.getTyped() ? "]}}," : 
"]},");
 
             jsonGenerator.writeFieldName(SerTokens.TOKEN_STATUS);
             GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, 
typeSerializer);
@@ -476,7 +484,7 @@ public abstract class AbstractGraphSONMessageSerializerV4 
extends AbstractMessag
             final Map<String, Object> status = (Map<String, Object>) 
data.get(SerTokens.TOKEN_STATUS);
             ResponseMessage.Builder response = ResponseMessage.build()
                     .code(HttpResponseStatus.valueOf((Integer) 
status.get(SerTokens.TOKEN_CODE)))
-                    .result((List) data.get(SerTokens.TOKEN_RESULT));
+                    .result((List) ((Map) 
data.get(SerTokens.TOKEN_RESULT)).get(SerTokens.TOKEN_DATA));
 
             if (null != status.get(SerTokens.TOKEN_EXCEPTION)) {
                 
response.exception(String.valueOf(status.get(SerTokens.TOKEN_EXCEPTION)));
diff --git 
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/SerTokens.java
 
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/SerTokens.java
index 583b8520dd..5354082ba3 100644
--- 
a/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/SerTokens.java
+++ 
b/gremlin-util/src/main/java/org/apache/tinkerpop/gremlin/util/ser/SerTokens.java
@@ -27,6 +27,7 @@ public final class SerTokens {
     public static final String TOKEN_RESULT = "result";
     public static final String TOKEN_STATUS = "status";
     public static final String TOKEN_CODE = "code";
+    public static final String TOKEN_DATA = "data";
     public static final String TOKEN_EXCEPTION = "exception";
     public static final String TOKEN_MESSAGE = "message";
     public static final String TOKEN_GREMLIN = "gremlin";
diff --git 
a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONMessageSerializerV4Test.java
 
b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONMessageSerializerV4Test.java
index e0407c7024..81138b8fda 100644
--- 
a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONMessageSerializerV4Test.java
+++ 
b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONMessageSerializerV4Test.java
@@ -53,6 +53,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.apache.tinkerpop.gremlin.util.ser.SerTokens.TOKEN_DATA;
 import static org.junit.Assert.assertEquals;
 
 @SuppressWarnings("unchecked")
@@ -87,9 +88,9 @@ public class GraphSONMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals("header", 
node.get("result").get("@value").get(0).textValue());
-        assertEquals("footer", 
node.get("result").get("@value").get(6).textValue());
-        assertEquals(8, node.get("result").get("@value").size());
+        assertEquals("header", 
node.get("result").get(TOKEN_DATA).get("@value").get(0).textValue());
+        assertEquals("footer", 
node.get("result").get(TOKEN_DATA).get("@value").get(6).textValue());
+        assertEquals(8, 
node.get("result").get(TOKEN_DATA).get("@value").size());
         assertEquals("OK", node.get("status").get("message").asText());
         assertEquals(200, node.get("status").get("code").asInt());
 
@@ -114,7 +115,7 @@ public class GraphSONMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals(0, node.get("result").get("@value").size());
+        assertEquals(0, 
node.get("result").get(TOKEN_DATA).get("@value").size());
         assertEquals("OK", node.get("status").get("message").asText());
         assertEquals(200, node.get("status").get("code").asInt());
 
@@ -139,7 +140,7 @@ public class GraphSONMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals(0, node.get("result").get("@value").size());
+        assertEquals(0, 
node.get("result").get(TOKEN_DATA).get("@value").size());
         assertEquals("OK", node.get("status").get("message").asText());
         assertEquals(200, node.get("status").get("code").asInt());
 
@@ -173,9 +174,9 @@ public class GraphSONMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals("header", 
node.get("result").get("@value").get(0).textValue());
+        assertEquals("header", 
node.get("result").get(TOKEN_DATA).get("@value").get(0).textValue());
         // 6 items in first 3 chunks
-        assertEquals(6, node.get("result").get("@value").size());
+        assertEquals(6, 
node.get("result").get(TOKEN_DATA).get("@value").size());
         assertEquals("SERVER_ERROR", 
node.get("status").get("message").asText());
         assertEquals(500, node.get("status").get("code").asInt());
 
diff --git 
a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONUntypedMessageSerializerV4Test.java
 
b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONUntypedMessageSerializerV4Test.java
index 1c2aa3d80f..50eabe26f8 100644
--- 
a/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONUntypedMessageSerializerV4Test.java
+++ 
b/gremlin-util/src/test/java/org/apache/tinkerpop/gremlin/util/ser/GraphSONUntypedMessageSerializerV4Test.java
@@ -33,6 +33,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import static org.apache.tinkerpop.gremlin.util.ser.SerTokens.TOKEN_DATA;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
@@ -65,9 +66,9 @@ public class GraphSONUntypedMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals("header", node.get("result").get(0).textValue());
-        assertEquals("footer", node.get("result").get(6).textValue());
-        assertEquals(8, node.get("result").size());
+        assertEquals("header", 
node.get("result").get(TOKEN_DATA).get(0).textValue());
+        assertEquals("footer", 
node.get("result").get(TOKEN_DATA).get(6).textValue());
+        assertEquals(8, node.get("result").get(TOKEN_DATA).size());
         assertNull(node.get("status").get("message"));
         assertEquals(200, node.get("status").get("code").asInt());
 
@@ -91,7 +92,7 @@ public class GraphSONUntypedMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals(0, node.get("result").size());
+        assertEquals(0, node.get("result").get(TOKEN_DATA).size());
         assertNull(node.get("status").get("message"));
         assertEquals(200, node.get("status").get("code").asInt());
 
@@ -116,7 +117,7 @@ public class GraphSONUntypedMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals(0, node.get("result").size());
+        assertEquals(0, node.get("result").get(TOKEN_DATA).size());
         assertEquals("OK", node.get("status").get("message").asText());
         assertEquals(200, node.get("status").get("code").asInt());
 
@@ -150,9 +151,9 @@ public class GraphSONUntypedMessageSerializerV4Test {
 
         final JsonNode node = mapper.readTree(json);
 
-        assertEquals("header", node.get("result").get(0).textValue());
+        assertEquals("header", 
node.get("result").get(TOKEN_DATA).get(0).textValue());
         // 6 items in first 3 chunks
-        assertEquals(6, node.get("result").size());
+        assertEquals(6, node.get("result").get(TOKEN_DATA).size());
         assertEquals("SERVER_ERROR", 
node.get("status").get("message").asText());
         assertEquals(500, node.get("status").get("code").asInt());
 


Reply via email to