You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2024/11/19 16:25:33 UTC
(tinkerpop) 10/21: wip - fixed hasLabel(String, String...) for params
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch gvalue
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 088238ea3d9bcabc226c93b3cc77152205ae9a90
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Sun Aug 25 10:29:19 2024 -0400
wip - fixed hasLabel(String, String...) for params
---
.../language/grammar/TraversalMethodVisitor.java | 2 +-
.../gremlin/test/features/filter/HasLabel.feature | 28 ++++++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
index 011a44cf53..43260c0d88 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
@@ -778,7 +778,7 @@ public class TraversalMethodVisitor extends TraversalRootVisitor<GraphTraversal>
// since we normalized above to gvalue or literal we can just test the first arg for gvalue-ness
if (GValue.valueInstanceOf(literalOrVar, GType.STRING)) {
final GValue[] gvalueLiteralOrVars = literalOrVars == null ? null : Arrays.stream(literalOrVars).map(o -> (GValue) o).toArray(GValue[]::new);
- return graphTraversal.hasLabel((GValue) literalOrVar, (GValue[]) literalOrVars);
+ return graphTraversal.hasLabel((GValue) literalOrVar, (GValue[]) gvalueLiteralOrVars);
} else {
// convert object array to string array
final String[] stringLiteralOrVars = literalOrVars == null ? null : Arrays.stream(literalOrVars).map(o -> (String) o).toArray(String[]::new);
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/HasLabel.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/HasLabel.feature
index 470019f36d..2da655e7e6 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/HasLabel.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/HasLabel.feature
@@ -87,6 +87,34 @@ Feature: Step - hasLabel()
When iterated to list
Then the result should be empty
+ Scenario: g_V_hasLabelXpersonvarX_hasLabelXsoftwareX
+ Given the modern graph
+ And using the parameter xx1 defined as "person"
+ And the traversal of
+ """
+ g.V().hasLabel(xx1).hasLabel("software")
+ """
+ When iterated to list
+ Then the result should be empty
+
+ Scenario: g_V_hasLabelXpersonvar_softwarevarX
+ Given the modern graph
+ And using the parameter xx1 defined as "person"
+ And using the parameter xx2 defined as "software"
+ And the traversal of
+ """
+ g.V().hasLabel(xx1,xx2)
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[marko] |
+ | v[vadas] |
+ | v[josh] |
+ | v[peter] |
+ | v[lop] |
+ | v[ripple] |
+
Scenario: g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name
Given the modern graph
And the traversal of