You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/04/09 17:51:21 UTC
incubator-tinkerpop git commit: ReferenceXXX and equals/hashCode work.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/reference_elements 3cea684c3 -> 861d77194
ReferenceXXX and equals/hashCode work.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/861d7719
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/861d7719
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/861d7719
Branch: refs/heads/reference_elements
Commit: 861d77194ab58534785db967b5ec5c0788ac670b
Parents: 3cea684
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Apr 9 09:51:36 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Apr 9 09:51:36 2015 -0600
----------------------------------------------------------------------
.../traversal/traverser/util/TraverserSet.java | 4 +---
.../structure/util/reference/ReferenceEdge.java | 8 ++++++++
.../structure/util/reference/ReferenceElement.java | 5 -----
.../structure/util/reference/ReferenceProperty.java | 14 +++++++++-----
.../structure/util/reference/ReferenceVertex.java | 12 ++++++++----
.../util/reference/ReferenceVertexProperty.java | 8 ++++++++
6 files changed, 34 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/861d7719/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java
index f598a40..60fee75 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/util/TraverserSet.java
@@ -98,9 +98,7 @@ public class TraverserSet<S> extends AbstractSet<Traverser.Admin<S>> implements
public Traverser.Admin<S> remove() { // pop, exception if empty
final Iterator<Traverser.Admin<S>> iterator = this.map.values().iterator();
if (!iterator.hasNext()) throw FastNoSuchElementException.instance();
- Traverser.Admin<S> next = iterator.next();
- this.map.remove(next);
- return next;
+ return this.map.remove(iterator.next());
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/861d7719/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
index b86e1b0..00a51d9 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceEdge.java
@@ -63,4 +63,12 @@ public class ReferenceEdge extends ReferenceElement<Edge> {
return "e*[" + this.id + "]";
}
+ @Override
+ public boolean equals(final Object object) {
+ if (object instanceof ReferenceEdge)
+ return this.id.equals(((ReferenceEdge) object).id);
+ else
+ return object instanceof Edge && this.id.equals(((Edge) object).id());
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/861d7719/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceElement.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceElement.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceElement.java
index 6158a9d..ebf6aa9 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceElement.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceElement.java
@@ -45,9 +45,4 @@ public abstract class ReferenceElement<E extends Element> implements Serializabl
public int hashCode() {
return this.id.hashCode();
}
-
- @Override
- public boolean equals(final Object object) {
- return object instanceof ReferenceElement && this.id.equals(((ReferenceElement) object).id);
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/861d7719/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceProperty.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceProperty.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceProperty.java
index fae7442..9afc9d2 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceProperty.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceProperty.java
@@ -35,6 +35,7 @@ public class ReferenceProperty<V> implements Attachable<Property<V>>, Serializab
private ReferenceElement<?> element;
private String key;
+ private Object value;
private ReferenceProperty() {
@@ -57,16 +58,19 @@ public class ReferenceProperty<V> implements Attachable<Property<V>>, Serializab
@Override
public int hashCode() {
- return this.element.hashCode() + this.key.hashCode();
+ return this.value.hashCode() + this.key.hashCode();
}
@Override
- public boolean equals(final Object object) {
- return object instanceof ReferenceProperty && object.hashCode() == this.hashCode();
+ public String toString() {
+ return "p*[" + this.key + "->" + this.value.toString().substring(0, Math.min(this.value.toString().length(), 20)) + "]";
}
@Override
- public String toString() {
- return "p*[" + this.element.id + ":" + this.key + "]";
+ public boolean equals(final Object object) {
+ if (object instanceof ReferenceProperty)
+ return ((ReferenceProperty) object).element.equals(this.element) && this.key.equals(((ReferenceProperty) object).key) && this.value.equals(((ReferenceProperty) object).value);
+ else
+ return object instanceof Property && this.element.equals(((Property) object).element()) && this.key.equals(((Property) object).key()) && this.value.equals(((Property) object).value());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/861d7719/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertex.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertex.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertex.java
index ae1f99c..87f29aa 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertex.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertex.java
@@ -23,10 +23,6 @@ package org.apache.tinkerpop.gremlin.structure.util.reference;
import org.apache.tinkerpop.gremlin.structure.Graph;
import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
-import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
-
-import java.util.Collections;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -58,4 +54,12 @@ public class ReferenceVertex extends ReferenceElement<Vertex> {
public String toString() {
return "v*[" + this.id + "]";
}
+
+ @Override
+ public boolean equals(final Object object) {
+ if (object instanceof ReferenceVertex)
+ return this.id.equals(((ReferenceVertex) object).id);
+ else
+ return object instanceof Vertex && this.id.equals(((Vertex) object).id());
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/861d7719/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
index 7fa835e..636b54b 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/reference/ReferenceVertexProperty.java
@@ -58,4 +58,12 @@ public class ReferenceVertexProperty<V> extends ReferenceElement<VertexProperty>
public String toString() {
return "vp*[" + this.id + "]";
}
+
+ @Override
+ public boolean equals(final Object object) {
+ if (object instanceof ReferenceVertexProperty)
+ return this.id.equals(((ReferenceVertexProperty) object).id);
+ else
+ return object instanceof VertexProperty && this.id.equals(((VertexProperty) object).id());
+ }
}