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 2015/04/09 21:13:51 UTC

[04/10] incubator-tinkerpop git commit: ReferenceXXX and equals/hashCode work.

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/TINKERPOP3-581
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());
+    }
 }