private Map<String, Object> aggregateProperties(Element element) { Map<String, Object> mention = new HashMap<>(); mention.put(ID_PROPERTY, element.id()); options .getAggregateProperties() .forEach(p -> element.property(p).ifPresent(value -> mention.put(p, value))); return mention; }
private Map<String, Object> aggregateProperties(Element element) { Map<String, Object> mention = new HashMap<>(); mention.put(ID_PROPERTY, element.id()); options .getAggregateProperties() .forEach(p -> element.property(p).ifPresent(value -> mention.put(p, value))); return mention; }
static void moveIncomingEdges(Vertex vertex, Vertex duplicate, IndexHandler indexHandler) { for (Iterator<Edge> edges = vertex.edges(Direction.IN); edges.hasNext(); ) { Edge edge = edges.next(); if (edge.label().equals(VERSION_OF)) { continue; } Edge duplicateEdge = edge.outVertex().addEdge(edge.label(), duplicate); for (Iterator<Property<Object>> properties = edge.properties(); properties.hasNext(); ) { Property<Object> property = properties.next(); duplicateEdge.property(property.key(), property.value()); } if (duplicateEdge.<Boolean>property("isLatest").orElse(false)) { duplicateEdge.<String>property("tim_id") .ifPresent(p -> indexHandler.upsertIntoEdgeIdIndex(UUID.fromString(p), duplicateEdge)); } edge.remove(); } } }
static void moveOutgoingEdges(Vertex vertex, Vertex duplicate, IndexHandler indexHandler) { for (Iterator<Edge> edges = vertex.edges(Direction.OUT); edges.hasNext(); ) { Edge edge = edges.next(); if (edge.label().equals(VERSION_OF)) { continue; } Edge duplicateEdge = duplicate.addEdge(edge.label(), edge.inVertex()); for (Iterator<Property<Object>> properties = edge.properties(); properties.hasNext(); ) { Property<Object> property = properties.next(); duplicateEdge.property(property.key(), property.value()); } if (duplicateEdge.<Boolean>property("isLatest").orElse(false)) { duplicateEdge.<String>property("tim_id") .ifPresent(p -> indexHandler.upsertIntoEdgeIdIndex(UUID.fromString(p), duplicateEdge)); } edge.remove(); } }