@Override protected Vertex map(final Traverser.Admin<Edge> traverser) { final List<Object> objects = traverser.path().objects(); for (int i = objects.size() - 2; i >= 0; i--) { if (objects.get(i) instanceof Vertex) { return ElementHelper.areEqual((Vertex) objects.get(i), traverser.get().outVertex()) ? traverser.get().inVertex() : traverser.get().outVertex(); } } throw new IllegalStateException("The path history of the traverser does not contain a previous vertex: " + traverser.path()); }
public ReferenceEdge(final Edge edge) { super(edge); this.inVertex = new ReferenceVertex(edge.inVertex()); this.outVertex = new ReferenceVertex(edge.outVertex()); }
@Override public void edgeAdded(final Edge element) { eventedEdge.set(element); assertEquals("self", element.label()); assertEquals(id, element.inVertex().id()); assertEquals(id, element.outVertex().id()); assertThat(element.properties().hasNext(), is(false)); triggered.set(true); } };
@Override public void edgeAdded(final Edge element) { assertThat(element, instanceOf(ReferenceEdge.class)); assertEquals("self", element.label()); assertEquals(id, element.inVertex().id()); assertEquals(id, element.outVertex().id()); assertThat(element.properties().hasNext(), is(false)); triggered.set(true); } };
@Override public void edgeRemoved(final Edge element) { assertThat(element, instanceOf(DetachedEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); triggered.set(true); } };
@Override public void edgeRemoved(final Edge element) { assertThat(element, instanceOf(ReferenceEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); triggered.set(true); } };
/** * Construct the representation for a {@link org.apache.tinkerpop.gremlin.structure.Edge}. */ public static String edgeString(final Edge edge) { return E + L_BRACKET + edge.id() + R_BRACKET + L_BRACKET + edge.outVertex().id() + DASH + edge.label() + ARROW + edge.inVertex().id() + R_BRACKET; }
@Override public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) { assertThat(element, instanceOf(DetachedEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertThat(oldValue, instanceOf(KeyedProperty.class)); assertEquals("new", oldValue.key()); assertEquals("yay!", setValue); triggered.set(true); } };
@Override public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) { assertThat(element, instanceOf(ReferenceEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertThat(oldValue, instanceOf(KeyedProperty.class)); assertEquals("new", oldValue.key()); assertEquals("yay!", setValue); triggered.set(true); } };
@Override public void edgeAdded(final Edge element) { assertThat(element, instanceOf(DetachedEdge.class)); assertEquals("self", element.label()); assertEquals(id, element.inVertex().id()); assertEquals(id, element.outVertex().id()); assertEquals("there", element.value("here")); triggered.set(true); } };
@Override public void edgeRemoved(final Edge element) { assertEquals(e, element); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); triggered.set(true); } };
@Override public void edgePropertyRemoved(final Edge element, final Property property) { assertThat(element, instanceOf(ReferenceEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertEquals("dah", property.value()); assertEquals("to-drop", property.key()); triggered.set(true); } };
@Override public void edgePropertyRemoved(final Edge element, final Property property) { assertThat(element, instanceOf(DetachedEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertEquals("dah", property.value()); assertEquals("to-drop", property.key()); triggered.set(true); } };
@Override public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) { assertEquals(e, element); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertThat(oldValue, instanceOf(KeyedProperty.class)); assertEquals("new", oldValue.key()); assertEquals("yay!", setValue); triggered.set(true); } };
@Override public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) { assertThat(element, instanceOf(DetachedEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertEquals("no!", oldValue.value()); assertEquals("to-change", oldValue.key()); assertEquals("yay!", setValue); triggered.set(true); } };
@Override public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) { assertThat(element, instanceOf(ReferenceEdge.class)); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertEquals("no!", oldValue.value()); assertEquals("to-change", oldValue.key()); assertEquals("yay!", setValue); triggered.set(true); } };
@Override public void edgePropertyRemoved(final Edge element, final Property property) { assertEquals(e, element); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertEquals("dah", property.value()); assertEquals("to-drop", property.key()); triggered.set(true); } };
@Override public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) { assertEquals(e, element); assertEquals(label, element.label()); assertEquals(inId, element.inVertex().id()); assertEquals(outId, element.outVertex().id()); assertEquals("no!", oldValue.value()); assertEquals("to-change", oldValue.key()); assertEquals("yay!", setValue); triggered.set(true); } };
@Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldAttachToVertex() { final Edge e = g.E(convertToEdgeId("josh", "created", "lop")).next(); final Property toDetach = e.property("weight"); final DetachedProperty<?> detachedProperty = DetachedFactory.detach(toDetach); final Property attached = detachedProperty.attach(Attachable.Method.get(e.outVertex())); assertEquals(toDetach, attached); assertFalse(attached instanceof DetachedProperty); }
@Test @LoadGraphWith(MODERN) public void g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX() { final Traversal<Vertex, Edge> traversal = get_g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX(convertToVertexId("marko")); printTraversalForm(traversal); final Edge edge = traversal.next(); assertEquals("knows", edge.label()); assertEquals(convertToVertexId("vadas"), edge.inVertex().id()); assertEquals(convertToVertexId("marko"), edge.outVertex().id()); assertEquals(0.5d, edge.<Double>value("weight"), 0.0001d); assertFalse(traversal.hasNext()); }