You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by co...@apache.org on 2026/03/30 22:14:22 UTC

(tinkerpop) 03/03: Add java.util.Date handling to GremlinLang

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

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

commit 26966e226dadf7b4beed099248f2042d12f910bc
Author: Cole Greer <Co...@improving.com>
AuthorDate: Mon Mar 30 15:13:48 2026 -0700

    Add java.util.Date handling to GremlinLang
---
 .../org/apache/tinkerpop/gremlin/process/traversal/GremlinLang.java   | 4 ++++
 .../apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java   | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLang.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLang.java
index dad70aca38..e174b5aeca 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLang.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLang.java
@@ -34,6 +34,7 @@ import org.apache.tinkerpop.gremlin.util.NumberHelper;
 
 import javax.lang.model.SourceVersion;
 import java.io.Serializable;
+import java.util.Date;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.time.OffsetDateTime;
@@ -139,6 +140,9 @@ public class GremlinLang implements Cloneable, Serializable {
         if (arg instanceof OffsetDateTime)
             return String.format("datetime(\"%s\")", format(((OffsetDateTime) arg).toInstant()));
 
+        if (arg instanceof Date)
+            return String.format("datetime(\"%s\")", format(((Date) arg).toInstant()));
+
         if (arg instanceof UUID) {
             return String.format("UUID(\"%s\")", arg);
         }
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java
index 60fbd865f5..cf29daa0f1 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java
@@ -39,6 +39,7 @@ import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.UUID;
@@ -86,6 +87,8 @@ public class GremlinLangTest {
                         "g.inject(+Infinity,-Infinity)"},
                 {g.inject(DatetimeHelper.parse("2018-03-21T08:35:44.741Z")),
                         "g.inject(datetime(\"2018-03-21T08:35:44.741Z\"))"},
+                {g.inject(Date.from(DatetimeHelper.parse("2018-03-21T08:35:44.741Z").toInstant())),
+                        "g.inject(datetime(\"2018-03-21T08:35:44.741Z\"))"},
                 {g.inject(asMap("age", VertexProperty.Cardinality.list(33))),
                         "g.inject([\"age\":Cardinality.list(33)])"},
                 {g.inject(new HashMap<>()), "g.inject([:])"},