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([:])"},