@Override public void deleteVertex(Vertex vertex, Authorizations authorizations) { if (!((InMemoryVertex) vertex).canRead(authorizations)) { return; } List<Edge> edgesToDelete = IterableUtils.toList(vertex.getEdges(Direction.BOTH, authorizations)); for (Edge edgeToDelete : edgesToDelete) { deleteEdge(edgeToDelete, authorizations); } deleteAllExtendedDataForElement(vertex, authorizations); this.vertices.remove(vertex.getId()); getSearchIndex().deleteElement(this, vertex, authorizations); if (hasEventListeners()) { fireGraphEvent(new DeleteVertexEvent(this, vertex)); } }
@Override public void markVertexHidden(Vertex vertex, Visibility visibility, Authorizations authorizations) { if (!((InMemoryVertex) vertex).canRead(authorizations)) { return; } List<Edge> edgesToMarkHidden = IterableUtils.toList(vertex.getEdges(Direction.BOTH, authorizations)); for (Edge edgeToMarkHidden : edgesToMarkHidden) { markEdgeHidden(edgeToMarkHidden, visibility, authorizations); } this.vertices.getTableElement(vertex.getId()).appendMarkHiddenMutation(visibility); refreshVertexInMemoryTableElement(vertex); getSearchIndex().markElementHidden(this, vertex, visibility, authorizations); if (hasEventListeners()) { fireGraphEvent(new MarkHiddenVertexEvent(this, vertex)); } }
@Override public void markVertexVisible(Vertex vertex, Visibility visibility, Authorizations authorizations) { if (!((InMemoryVertex) vertex).canRead(authorizations)) { return; } List<Edge> edgesToMarkVisible = IterableUtils.toList(vertex.getEdges(Direction.BOTH, FetchHints.ALL_INCLUDING_HIDDEN, authorizations)); for (Edge edgeToMarkVisible : edgesToMarkVisible) { markEdgeVisible(edgeToMarkVisible, visibility, authorizations); } this.vertices.getTableElement(vertex.getId()).appendMarkVisibleMutation(visibility); refreshVertexInMemoryTableElement(vertex); getSearchIndex().markElementVisible(this, vertex, visibility, authorizations); if (hasEventListeners()) { fireGraphEvent(new MarkVisibleVertexEvent(this, vertex)); } }
@Override public void softDeleteVertex(Vertex vertex, Long timestamp, Authorizations authorizations) { if (!((InMemoryVertex) vertex).canRead(authorizations)) { return; } if (timestamp == null) { timestamp = IncreasingTime.currentTimeMillis(); } for (Property property : vertex.getProperties()) { vertex.softDeleteProperty(property.getKey(), property.getName(), property.getVisibility(), authorizations); } List<Edge> edgesToSoftDelete = IterableUtils.toList(vertex.getEdges(Direction.BOTH, authorizations)); for (Edge edgeToSoftDelete : edgesToSoftDelete) { softDeleteEdge(edgeToSoftDelete, timestamp, authorizations); } this.vertices.getTableElement(vertex.getId()).appendSoftDeleteMutation(timestamp); getSearchIndex().deleteElement(this, vertex, authorizations); if (hasEventListeners()) { fireGraphEvent(new SoftDeleteVertexEvent(this, vertex)); } }