/** * {@inheritDoc} */ @Override public default Graph graph() { return this.element().graph(); }
@Override public Vertex element() { return new ComputerVertex(this.getBaseVertexProperty().element()); }
assertEquals(canonicalPartition, getPartitionID(p)); for (Iterator<VertexProperty<Object>> niter = g.properties("name"); niter.hasNext(); ) { assertEquals(canonicalPartition,getPartitionID((TitanVertex) niter.next().element()));
public static Optional<VertexProperty> getVertexProperty(final Attachable<VertexProperty> attachableVertexProperty, final Graph hostGraph) { final VertexProperty baseVertexProperty = attachableVertexProperty.get(); final Iterator<Vertex> vertexIterator = hostGraph.vertices(baseVertexProperty.element().id()); if (vertexIterator.hasNext()) { final Iterator<VertexProperty<Object>> vertexPropertyIterator = vertexIterator.next().properties(baseVertexProperty.key()); while (vertexPropertyIterator.hasNext()) { final VertexProperty vertexProperty = vertexPropertyIterator.next(); if (ElementHelper.areEqual(vertexProperty, baseVertexProperty)) return Optional.of(vertexProperty); } } return Optional.empty(); }
assertEquals(canonicalPartition, getPartitionID(p)); for (Iterator<VertexProperty<Object>> niter = g.properties("name"); niter.hasNext(); ) { assertEquals(canonicalPartition,getPartitionID((JanusGraphVertex) niter.next().element()));
protected DetachedVertexProperty(final VertexProperty<V> vertexProperty, final boolean withProperties) { super(vertexProperty); this.value = vertexProperty.value(); this.vertex = DetachedFactory.detach(vertexProperty.element(), false); // only serialize properties if requested, the graph supports it and there are meta properties present. // this prevents unnecessary object creation of a new HashMap which will just be empty. it will use // Collections.emptyMap() by default if (withProperties && vertexProperty.graph().features().vertex().supportsMetaProperties()) { final Iterator<Property<Object>> propertyIterator = vertexProperty.properties(); if (propertyIterator.hasNext()) { this.properties = new HashMap<>(); propertyIterator.forEachRemaining(property -> this.properties.put(property.key(), Collections.singletonList(DetachedFactory.detach(property)))); } } }
public static Property createProperty(final Attachable<Property> attachableProperty, final Graph hostGraph) { final Property baseProperty = attachableProperty.get(); final Element baseElement = baseProperty.element(); if (baseElement instanceof Vertex) { return Method.createVertexProperty((Attachable) attachableProperty, hostGraph); } else if (baseElement instanceof Edge) { final Iterator<Edge> edgeIterator = hostGraph.edges(baseElement.id()); if (edgeIterator.hasNext()) return edgeIterator.next().property(baseProperty.key(), baseProperty.value()); throw new IllegalStateException("Could not find edge to create the attachable property on"); } else { // vertex property final Iterator<Vertex> vertexIterator = hostGraph.vertices(((VertexProperty) baseElement).element().id()); if (vertexIterator.hasNext()) { final Vertex vertex = vertexIterator.next(); final Iterator<VertexProperty<Object>> vertexPropertyIterator = vertex.properties(((VertexProperty) baseElement).key()); while (vertexPropertyIterator.hasNext()) { final VertexProperty<Object> vp = vertexPropertyIterator.next(); if (ElementHelper.areEqual(vp, baseElement)) return vp.property(baseProperty.key(), baseProperty.value()); } } throw new IllegalStateException("Could not find vertex property to create the attachable property on"); } }
final Iterator<Vertex> vertexIterator = hostGraph.vertices(((VertexProperty) propertyElement).element().id()); if (vertexIterator.hasNext()) { final Iterator<VertexProperty<Object>> vertexPropertyIterator = vertexIterator.next().properties();
convertToString(vertexProperty.value()) + "," + "Collections.emptyMap()," + convertToString(vertexProperty.element()) + ")";
@Override public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final VertexProperty vertexProperty) { kryo.writeClassAndObject(output, vertexProperty.id()); output.writeString(vertexProperty.label()); kryo.writeClassAndObject(output, vertexProperty.value()); kryo.writeClassAndObject(output, vertexProperty.element().id()); output.writeString(vertexProperty.element().label()); if (vertexProperty instanceof DetachedVertexProperty || (vertexProperty.graph().features().vertex().supportsMetaProperties())) { writeElementProperties(kryo, output, vertexProperty); } else { output.writeBoolean(false); } }
public static VertexProperty createVertexProperty(final Attachable<VertexProperty> attachableVertexProperty, final Graph hostGraph) { final VertexProperty<Object> baseVertexProperty = attachableVertexProperty.get(); final Iterator<Vertex> vertexIterator = hostGraph.vertices(baseVertexProperty.element().id()); if (vertexIterator.hasNext()) { final VertexProperty vertexProperty = hostGraph.features().vertex().properties().willAllowId(baseVertexProperty.id()) ? vertexIterator.next().property(hostGraph.features().vertex().getCardinality(baseVertexProperty.key()), baseVertexProperty.key(), baseVertexProperty.value(), T.id, baseVertexProperty.id()) : vertexIterator.next().property(hostGraph.features().vertex().getCardinality(baseVertexProperty.key()), baseVertexProperty.key(), baseVertexProperty.value()); baseVertexProperty.properties().forEachRemaining(p -> vertexProperty.property(p.key(), p.value())); return vertexProperty; } throw new IllegalStateException("Could not find vertex to create the attachable vertex property on"); }
public static void validateVertexPropertyEquality(final VertexProperty originalVertexProperty, final VertexProperty otherVertexProperty) { assertEquals(originalVertexProperty, otherVertexProperty); assertEquals(otherVertexProperty, originalVertexProperty); if (originalVertexProperty.isPresent()) { assertEquals(originalVertexProperty.key(), otherVertexProperty.key()); assertEquals(originalVertexProperty.value(), otherVertexProperty.value()); assertEquals(originalVertexProperty.element(), otherVertexProperty.element()); final boolean originalSupportsMetaProperties = originalVertexProperty.graph().features().vertex().supportsMetaProperties(); final boolean otherSupportsMetaProperties = otherVertexProperty.graph().features().vertex().supportsMetaProperties(); // if one supports and the other doesn't then neither should have meta properties. if (originalSupportsMetaProperties && !otherSupportsMetaProperties) assertEquals(0, originalVertexProperty.keys().size()); else if (!originalSupportsMetaProperties && otherSupportsMetaProperties) assertEquals(0, otherVertexProperty.keys().size()); else { // both support it, so assert in full assertEquals(originalVertexProperty.keys().size(), otherVertexProperty.keys().size()); for (final String key : originalVertexProperty.keys()) { validatePropertyEquality(originalVertexProperty.property(key), otherVertexProperty.property(key)); } } } }
@Override protected Traverser.Admin<S> processNextStart() { if (this.first) { if (null != this.start) { if (this.start instanceof Iterator) this.starts.add(this.getTraversal().getTraverserGenerator().generateIterator((Iterator<S>) this.start, this, 1l)); else this.starts.add(this.getTraversal().getTraverserGenerator().generate((S) this.start, this, 1l)); } this.first = false; } /// final Traverser.Admin<S> start = this.starts.next(); if (start.get() instanceof Attachable && this.getTraversal().getGraph().isPresent() && (!(start.get() instanceof VertexProperty) || null != ((VertexProperty) start.get()).element())) start.set(((Attachable<S>) start.get()).attach(Attachable.Method.get(this.getTraversal().getGraph().get()))); return start; }
tryCommit(graph, g -> assertEquals(v, property.element())); assertVertexEdgeCounts(graph, 1, 0); assertEquals(v, v.property(VertexProperty.Cardinality.list, "name", "mrodriguez").element()); tryCommit(graph, g -> { assertEquals(3, IteratorUtils.count(v.properties("name"))); assertEquals(meta.key(), meta.label()); assertTrue(meta.isPresent()); assertEquals(v, meta.element()); if (meta.key().equals("age")) { assertEquals(meta.value(), 34);
assertEquals("yay!", g.V(vp.element()).properties("xxx").values("not-dropped").next()); assertThat(triggered.get(), is(true));
assertEquals("yay!", g.V(vp.element()).properties("xxx").values("not-dropped").next()); assertThat(triggered.get(), is(true));
assertEquals("yay!", g.V(vp.element()).properties("xxx").values("not-dropped").next()); assertThat(triggered.get(), is(true));
public static VertexProperty createVertexProperty(final Attachable<VertexProperty> attachableVertexProperty, final Graph hostGraph) { final VertexProperty<Object> baseVertexProperty = attachableVertexProperty.get(); final Iterator<Vertex> vertexIterator = hostGraph.vertices(baseVertexProperty.element().id()); if (vertexIterator.hasNext()) { final VertexProperty vertexProperty = hostGraph.features().vertex().properties().willAllowId(baseVertexProperty.id()) ? vertexIterator.next().property(hostGraph.features().vertex().getCardinality(baseVertexProperty.key()), baseVertexProperty.key(), baseVertexProperty.value(), T.id, baseVertexProperty.id()) : vertexIterator.next().property(hostGraph.features().vertex().getCardinality(baseVertexProperty.key()), baseVertexProperty.key(), baseVertexProperty.value()); baseVertexProperty.properties().forEachRemaining(p -> vertexProperty.property(p.key(), p.value())); return vertexProperty; } throw new IllegalStateException("Could not find vertex to create the attachable vertex property on"); }