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/10/03 16:56:05 UTC
(tinkerpop) branch master updated: Added way to check if the specified label was user defined CTR
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new 2f54a5413f Added way to check if the specified label was user defined CTR
new dd41ffbe6b Merge branch '3.7-dev'
2f54a5413f is described below
commit 2f54a5413f066ba30ead88f4980d0ff9c9e0135c
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Thu Oct 3 11:36:05 2024 -0400
Added way to check if the specified label was user defined CTR
---
CHANGELOG.asciidoc | 1 +
.../gremlin/process/traversal/step/map/AddVertexStartStep.java | 8 ++++++++
.../gremlin/process/traversal/step/map/AddVertexStep.java | 10 ++++++++++
3 files changed, 19 insertions(+)
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 2d7efd06b1..60359aa8e8 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -38,6 +38,7 @@ This release also includes changes from <<release-3-6-8, 3.6.8>>.
* Added getter method to `ConcatStep`, `ConjoinStep`, `SplitGlobalStep` and `SplitLocalStep` for their private fields.
* Fixed older driver GraphBinary compatibility problems where using `ReferenceElementStrategy`, properties on elements returned as `null` instead of empty `List`.
* Gremlin Server docker containers shutdown gracefully when receiving a SIGTERM.
+* Added 'userProvidedLabel' property to detect if the default label was supplied explicitly or not.
* Added DefaultIdManager.STRING for proper string id creation/handling.
* Allowed specification of an `Operator` as a reducer in `withSideEffect` when parsing with the grammar.
* Fixed bug in Bytecode build logic where duplicate strategies were added instead of replacing the existing ones.
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
index 3ca6efff08..fd52f445e8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStartStep.java
@@ -50,15 +50,22 @@ public class AddVertexStartStep extends AbstractStep<Vertex, Vertex>
private Parameters parameters = new Parameters();
private boolean first = true;
private CallbackRegistry<Event.VertexAddedEvent> callbackRegistry;
+ private boolean userProvidedLabel;
public AddVertexStartStep(final Traversal.Admin traversal, final String label) {
super(traversal);
this.parameters.set(this, T.label, null == label ? Vertex.DEFAULT_LABEL : label);
+ userProvidedLabel = label != null;
}
public AddVertexStartStep(final Traversal.Admin traversal, final Traversal<?, String> vertexLabelTraversal) {
super(traversal);
this.parameters.set(this, T.label, null == vertexLabelTraversal ? Vertex.DEFAULT_LABEL : vertexLabelTraversal);
+ userProvidedLabel = vertexLabelTraversal != null;
+ }
+
+ public boolean hasUserProvidedLabel() {
+ return userProvidedLabel;
}
@Override
@@ -142,6 +149,7 @@ public class AddVertexStartStep extends AbstractStep<Vertex, Vertex>
public AddVertexStartStep clone() {
final AddVertexStartStep clone = (AddVertexStartStep) super.clone();
clone.parameters = this.parameters.clone();
+ clone.userProvidedLabel = this.userProvidedLabel;
return clone;
}
}
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
index 80597ca86c..0dfb55c2a1 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddVertexStep.java
@@ -45,15 +45,22 @@ public class AddVertexStep<S> extends ScalarMapStep<S, Vertex>
private Parameters parameters = new Parameters();
private CallbackRegistry<Event.VertexAddedEvent> callbackRegistry;
+ private boolean userProvidedLabel;
public AddVertexStep(final Traversal.Admin traversal, final String label) {
super(traversal);
this.parameters.set(this, T.label, null == label ? Vertex.DEFAULT_LABEL : label);
+ userProvidedLabel = label != null;
}
public AddVertexStep(final Traversal.Admin traversal, final Traversal.Admin<S,String> vertexLabelTraversal) {
super(traversal);
this.parameters.set(this, T.label, null == vertexLabelTraversal ? Vertex.DEFAULT_LABEL : vertexLabelTraversal);
+ userProvidedLabel = vertexLabelTraversal != null;
+ }
+
+ public boolean hasUserProvidedLabel() {
+ return userProvidedLabel;
}
@Override
@@ -73,6 +80,8 @@ public class AddVertexStep<S> extends ScalarMapStep<S, Vertex>
@Override
public void configure(final Object... keyValues) {
+ if (keyValues[0] == T.label) userProvidedLabel = true;
+
if (keyValues[0] == T.label && this.parameters.contains(T.label)) {
if (this.parameters.contains(T.label, Vertex.DEFAULT_LABEL)) {
this.parameters.remove(T.label);
@@ -127,6 +136,7 @@ public class AddVertexStep<S> extends ScalarMapStep<S, Vertex>
public AddVertexStep<S> clone() {
final AddVertexStep<S> clone = (AddVertexStep<S>) super.clone();
clone.parameters = this.parameters.clone();
+ clone.userProvidedLabel = this.userProvidedLabel;
return clone;
}
}