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

colegreer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 08c0fab82834b305ac276d0f4d768d08aeb7c8b8
Merge: 3958d5f9a5 6ade7674b2
Author: Cole-Greer <[email protected]>
AuthorDate: Mon Mar 24 17:32:09 2025 -0700

    Merge branch '3.8-dev'

 CHANGELOG.asciidoc                                 |  1 +
 docs/src/upgrade/release-3.8.x.asciidoc            |  5 ++++
 .../language/grammar/GenericLiteralVisitor.java    |  2 +-
 .../grammar/GeneralLiteralVisitorTest.java         | 30 ++++++++++++++--------
 .../grammar/TraversalPredicateVisitorTest.java     |  4 +--
 .../gremlin/server/GremlinServerIntegrateTest.java | 23 ++++++++++++++---
 6 files changed, 47 insertions(+), 18 deletions(-)

diff --cc 
gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
index 7c9a342340,5424e9faa6..bf2267ffef
--- 
a/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
+++ 
b/gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinServerIntegrateTest.java
@@@ -18,16 -18,25 +18,17 @@@
   */
  package org.apache.tinkerpop.gremlin.server;
  
 -import ch.qos.logback.classic.Level;
 -import ch.qos.logback.classic.Logger;
  import io.netty.channel.ChannelHandlerContext;
 +import io.netty.handler.codec.http.HttpResponseStatus;
  import io.netty.util.AttributeKey;
+ import java.math.BigDecimal;
  import nl.altindag.log.LogCaptor;
  import org.apache.commons.configuration2.BaseConfiguration;
  import org.apache.commons.configuration2.Configuration;
--import org.apache.commons.lang3.RandomStringUtils;
- import org.apache.commons.lang3.StringUtils;
  import org.apache.tinkerpop.gremlin.driver.RequestOptions;
+ import org.apache.tinkerpop.gremlin.server.channel.HttpTestChannelizer;
+ import org.apache.tinkerpop.gremlin.server.channel.TestChannelizer;
 -import org.apache.tinkerpop.gremlin.server.channel.UnifiedChannelizer;
 -import org.apache.tinkerpop.gremlin.server.channel.UnifiedTestChannelizer;
 -import org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer;
 -import org.apache.tinkerpop.gremlin.server.channel.WebSocketTestChannelizer;
 -import org.apache.tinkerpop.gremlin.server.channel.WsAndHttpTestChannelizer;
  import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 -import org.apache.tinkerpop.gremlin.util.ExceptionHelper;
  import org.apache.tinkerpop.gremlin.TestHelper;
  import org.apache.tinkerpop.gremlin.driver.Client;
  import org.apache.tinkerpop.gremlin.driver.Cluster;
@@@ -44,10 -58,13 +45,8 @@@ import org.apache.tinkerpop.gremlin.jsr
  import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
  import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
  import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
- import org.apache.tinkerpop.gremlin.server.channel.HttpTestChannelizer;
- import org.apache.tinkerpop.gremlin.server.channel.TestChannelizer;
 -import org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor;
 -import org.apache.tinkerpop.gremlin.server.op.standard.StandardOpProcessor;
 -import org.apache.tinkerpop.gremlin.server.handler.WsUserAgentHandler;
  import org.apache.tinkerpop.gremlin.structure.Graph;
 +import org.apache.tinkerpop.gremlin.structure.RemoteGraph;
  import org.apache.tinkerpop.gremlin.structure.T;
  import org.apache.tinkerpop.gremlin.structure.Vertex;
  import org.apache.tinkerpop.gremlin.structure.Edge;
@@@ -1026,51 -1404,19 +1025,67 @@@ public class GremlinServerIntegrateTes
          assertFalse(r2_tokens.properties().hasNext());
      }
  
 +      @Test
 +    public void shouldBulkResultsWithClusterOptions() {
 +        final Cluster cluster = 
TestClientFactory.build().bulkResults(true).create();
 +        try {
 +            final GraphTraversalSource g = 
traversal().with(DriverRemoteConnection.using(cluster));
 +            final List resultBulked = g.with("language", 
"gremlin-lang").inject(1, 2, 3, 2, 1).toList();
 +            assertTrue(cluster.isBulkResultsEnabled());
 +            assertEquals(5, resultBulked.size());
 +
 +            // the result itself should not be affected by bulking through 
the wire
 +            final List result = g.with("language", 
"gremlin-lang").with("bulkResults", false).inject(1, 2, 3, 2, 1).toList();
 +            assertEquals(5, result.size());
 +
 +            assertTrue(cluster.isBulkResultsEnabled());
 +
 +            // the result itself should not be affected by bulking through 
the wire
 +            final List resultBulked2 = g.with("language", 
"gremlin-lang").with("bulkResults", true).inject(1, 2, 3, 2, 1).toList();
 +            assertEquals(5, resultBulked2.size());
 +
 +        } finally {
 +            cluster.close();
 +        }
 +    }
 +
 +    @Test
 +    public void shouldBulkResultsWithRequestOptions() {
 +        final Cluster cluster = TestClientFactory.build().create();
 +        try {
 +            final GraphTraversalSource g = 
traversal().with(DriverRemoteConnection.using(cluster));
 +            final List result = g.inject(1, 2, 3, 2, 1).toList();
 +            assertEquals(5, result.size());
 +            assertFalse(cluster.isBulkResultsEnabled());
 +
 +            // the result itself should not be affected by bulking through 
the wire
 +            final List resultBulked = g.with("language", 
"gremlin-lang").with("bulkResults", true).inject(1, 2, 3, 2, 1).toList();
 +            assertEquals(5, resultBulked.size());
 +
 +            assertFalse(cluster.isBulkResultsEnabled());
 +
 +            // the result itself should not be affected by bulking through 
the wire
 +            final List result2 = g.with("language", 
"gremlin-lang").with("bulkResults", false).inject(1, 2, 3, 2, 1).toList();
 +            assertEquals(5, result2.size());
 +
 +        } finally {
 +            cluster.close();
 +        }
 +    }
++
+     @Test
+     public void shouldParseFloatLiteralWithoutSuffixDependingOnLanguage() {
+         final Cluster cluster = TestClientFactory.build().create();
+         final Client client = cluster.connect();
+ 
+         // gremlin-lang defaults to double
+         final RequestOptions gremlinLang = new 
RequestOptions.Builder().language("gremlin-lang").create();
+         assertEquals(1.0d, (Double) client.submit("g.inject(1.0)", 
gremlinLang).one().getObject(), 0.0000001);
+         assertEquals(-123.456d, (Double) client.submit("g.inject(-123.456)", 
gremlinLang).one().getObject(), 0.0000001);
+ 
+         // gremlin-groovy defaults to big decimal
+         RequestOptions gremlinGroovy = new 
RequestOptions.Builder().language("gremlin-groovy").create();
+         assertEquals(new BigDecimal("1.0"), client.submit("g.inject(1.0)", 
gremlinGroovy).one().getObject());
+         assertEquals(new BigDecimal("-123.456"), 
client.submit("g.inject(-123.456)", gremlinGroovy).one().getObject());
+     }
  }

Reply via email to