You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2016/09/07 08:32:27 UTC
tinkerpop git commit: Fixed `hasLabel`, `hasId`,
`hasKey` and `hasValue`.
Repository: tinkerpop
Updated Branches:
refs/heads/hasStepFix [created] 5c69b2ffd
Fixed `hasLabel`, `hasId`, `hasKey` and `hasValue`.
These steps a) were allowed to be called w/o arguments and b) were not able to handle `P`-predicates.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5c69b2ff
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5c69b2ff
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5c69b2ff
Branch: refs/heads/hasStepFix
Commit: 5c69b2ffdba35870145ceb8da9c45f9ee5faa9e1
Parents: e1543f1
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 10:28:52 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Sep 7 10:28:52 2016 +0200
----------------------------------------------------------------------
.../traversal/dsl/graph/GraphTraversal.java | 36 +++++++++-----------
.../gremlin/process/traversal/dsl/graph/__.java | 24 ++++++-------
2 files changed, 28 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5c69b2ff/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 4c08068..e0956c5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@ -967,32 +967,28 @@ public interface GraphTraversal<S, E> extends Traversal<S, E> {
return this.asAdmin().addStep(new NotStep<>(this.asAdmin(), __.values(propertyKey)));
}
- public default GraphTraversal<S, E> hasLabel(final String... labels) {
- this.asAdmin().getBytecode().addStep(Symbols.hasLabel, labels);
- return 1 == labels.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.label.getAccessor(), P.eq(labels[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.label.getAccessor(), P.within(labels))));
+ public default GraphTraversal<S, E> has(final T accessor, final Object value, final Object... values) {
+ if (values.length == 0) return has(accessor, value);
+ final Object[] objects = new Object[values.length + 1];
+ objects[0] = value;
+ System.arraycopy(values, 0, objects, 1, values.length);
+ return has(accessor, P.within(objects));
}
- public default GraphTraversal<S, E> hasId(final Object... ids) {
- this.asAdmin().getBytecode().addStep(Symbols.hasId, ids);
- return 1 == ids.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.id.getAccessor(), P.eq(ids[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.id.getAccessor(), P.within(ids))));
+ public default GraphTraversal<S, E> hasLabel(final Object value, final Object... values) {
+ return has(T.label, value, values);
}
- public default GraphTraversal<S, E> hasKey(final String... keys) {
- this.asAdmin().getBytecode().addStep(Symbols.hasKey, keys);
- return 1 == keys.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.key.getAccessor(), P.eq(keys[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.key.getAccessor(), P.within(keys))));
+ public default GraphTraversal<S, E> hasId(final Object value, final Object... values) {
+ return has(T.id, value, values);
}
- public default GraphTraversal<S, E> hasValue(final Object... values) {
- this.asAdmin().getBytecode().addStep(Symbols.hasValue, values);
- return 1 == values.length ?
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.value.getAccessor(), P.eq(values[0])))) :
- this.asAdmin().addStep(new HasStep(this.asAdmin(), HasContainer.makeHasContainers(T.value.getAccessor(), P.within(values))));
+ public default GraphTraversal<S, E> hasKey(final Object value, final Object... values) {
+ return has(T.key, value, values);
+ }
+
+ public default GraphTraversal<S, E> hasValue(final Object value, final Object... values) {
+ return has(T.value, value, values);
}
public default GraphTraversal<S, E> is(final P<E> predicate) {
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5c69b2ff/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
index 6528eb3..9eac9ee 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/__.java
@@ -661,31 +661,31 @@ public class __ {
}
/**
- * @see GraphTraversal#hasLabel(String...)
+ * @see GraphTraversal#hasLabel(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasLabel(final String... labels) {
- return __.<A>start().hasLabel(labels);
+ public static <A> GraphTraversal<A, A> hasLabel(final Object value, Object... values) {
+ return __.<A>start().hasLabel(value, values);
}
/**
- * @see GraphTraversal#hasId(Object...)
+ * @see GraphTraversal#hasId(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasId(final Object... ids) {
- return __.<A>start().hasId(ids);
+ public static <A> GraphTraversal<A, A> hasId(final Object value, Object... values) {
+ return __.<A>start().hasId(value, values);
}
/**
- * @see GraphTraversal#hasKey(String...)
+ * @see GraphTraversal#hasKey(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasKey(final String... keys) {
- return __.<A>start().hasKey(keys);
+ public static <A> GraphTraversal<A, A> hasKey(final Object value, Object... values) {
+ return __.<A>start().hasKey(value, values);
}
/**
- * @see GraphTraversal#hasValue(Object...)
+ * @see GraphTraversal#hasValue(Object, Object...)
*/
- public static <A> GraphTraversal<A, A> hasValue(final Object... values) {
- return __.<A>start().hasValue(values);
+ public static <A> GraphTraversal<A, A> hasValue(final Object value, Object... values) {
+ return __.<A>start().hasValue(value, values);
}
/**