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 2015/05/16 00:37:47 UTC
[1/2] incubator-tinkerpop git commit: better negating for
ConjunctionP's
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master 95bb996d8 -> 5609de750
better negating for ConjunctionP's
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/dda6e31b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/dda6e31b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/dda6e31b
Branch: refs/heads/master
Commit: dda6e31b292602f4a5b7851943ee6e3803de110b
Parents: f14fd44
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Sat May 16 00:37:04 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Sat May 16 00:37:04 2015 +0200
----------------------------------------------------------------------
.../tinkerpop/gremlin/structure/util/AndP.java | 11 +++++++++++
.../gremlin/structure/util/ConjunctionP.java | 15 +++++++++++++++
.../apache/tinkerpop/gremlin/structure/util/OrP.java | 8 ++++++++
.../tinkergraph/structure/TinkerGraphTest.java | 7 ++++++-
4 files changed, 40 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/dda6e31b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AndP.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AndP.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AndP.java
index 132e2d0..316a898 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AndP.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/AndP.java
@@ -35,6 +35,10 @@ public final class AndP<V> extends ConjunctionP<V> {
super(predicate, predicates);
}
+ protected AndP(final ConjunctionP<V> other) {
+ super(other);
+ }
+
@Override
public boolean test(final V v) {
for (final P<V> predicate : this.predicates) {
@@ -53,6 +57,13 @@ public final class AndP<V> extends ConjunctionP<V> {
}
@Override
+ public P<V> negate() {
+ super.negate();
+ final P[] arg2 = new P[this.predicates.size()-1];
+ return new OrP(this.predicates.get(0), this.predicates.subList(1, this.predicates.size()).toArray(arg2));
+ }
+
+ @Override
public String toString() {
return "and(" + this.predicates + ")";
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/dda6e31b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/ConjunctionP.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/ConjunctionP.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/ConjunctionP.java
index 0a10085..446f642 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/ConjunctionP.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/ConjunctionP.java
@@ -23,6 +23,7 @@ package org.apache.tinkerpop.gremlin.structure.util;
import org.apache.tinkerpop.gremlin.structure.P;
+import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -44,6 +45,11 @@ public abstract class ConjunctionP<V> extends P<V> {
}
}
+ protected ConjunctionP(final ConjunctionP<V> other) {
+ super(null, null);
+ this.predicates = other.predicates;
+ }
+
public List<P<V>> getPredicates() {
return Collections.unmodifiableList(this.predicates);
}
@@ -58,6 +64,15 @@ public abstract class ConjunctionP<V> extends P<V> {
return this;
}
+ protected P<V> negate(final ConjunctionP<V> p) {
+ final List<P<V>> negated = new ArrayList<>();
+ for (final P<V> predicate : this.predicates) {
+ negated.add(predicate.negate());
+ }
+ p.predicates = negated;
+ return p;
+ }
+
@Override
public ConjunctionP<V> clone() {
final ConjunctionP<V> clone = (ConjunctionP<V>) super.clone();
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/dda6e31b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/OrP.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/OrP.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/OrP.java
index ad9c626..24f931f 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/OrP.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/OrP.java
@@ -23,6 +23,7 @@ package org.apache.tinkerpop.gremlin.structure.util;
import org.apache.tinkerpop.gremlin.structure.P;
+import java.util.List;
import java.util.function.Predicate;
/**
@@ -52,6 +53,13 @@ public final class OrP<V> extends ConjunctionP<V> {
}
@Override
+ public P<V> negate() {
+ super.negate();
+ final P[] arg2 = new P[this.predicates.size()-1];
+ return new AndP(this.predicates.get(0), this.predicates.subList(1, this.predicates.size()).toArray(arg2));
+ }
+
+ @Override
public String toString() {
return "or(" + this.predicates + ")";
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/dda6e31b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
index c72ed92..c4b86f8 100644
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
+++ b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerGraphTest.java
@@ -142,7 +142,12 @@ public class TinkerGraphTest {
public void testPlayDK() throws Exception {
final Graph graph = TinkerFactory.createModern();
final GraphTraversalSource g = graph.traversal();
- Traversal traversal = g.V().union(__.outE().inV(), __.inE().outV()).union(__.identity(), __.path());
+ Traversal traversal = g.V().hasLabel("person").where(values("name").is(P.gte("m").and(P.lt("q")).or(P.eq("josh")))).valueMap();
+ System.out.println(traversal.toString());
+ traversal.forEachRemaining(System.out::println);
+ System.out.println(traversal.toString());
+ System.out.println();
+ traversal = g.V().hasLabel("person").where(values("name").is(P.gte("m").and(P.lt("q")).or(P.eq("josh")).negate())).valueMap();
System.out.println(traversal.toString());
traversal.forEachRemaining(System.out::println);
System.out.println(traversal.toString());
[2/2] incubator-tinkerpop git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-tinkerpop
Posted by dk...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-tinkerpop
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/5609de75
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/5609de75
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/5609de75
Branch: refs/heads/master
Commit: 5609de750c8fbda209e92bdc9ca75b046dc625cd
Parents: dda6e31 95bb996
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Sat May 16 00:37:32 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Sat May 16 00:37:32 2015 +0200
----------------------------------------------------------------------
docs/src/the-traversal.asciidoc | 2 +-
.../gremlin/process/traversal/lambda/TraversalBiPredicate.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------