X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=aai-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fserialization%2Fengines%2Fquery%2FGraphTraversalQueryEngine.java;fp=aai-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fserialization%2Fengines%2Fquery%2FGraphTraversalQueryEngine.java;h=94557b0850ad5443797cf89b6922d824895f0e07;hb=5722e90ff54f5fb6bb16ebd1dfb723d08ab80955;hp=d072db55b992d753b658d5689293b19b0ccc79d1;hpb=31b7af4804219e5f03faeecef55f041f48adb6d5;p=aai%2Faai-common.git diff --git a/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java b/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java index d072db55..94557b08 100644 --- a/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java +++ b/aai-core/src/main/java/org/onap/aai/serialization/engines/query/GraphTraversalQueryEngine.java @@ -58,7 +58,7 @@ public class GraphTraversalQueryEngine extends QueryEngine { /** * Instantiates a new graph traversal query engine. * - * @param graphEngine the graph engine + * @param g graph traversal source to traverse the graph */ public GraphTraversalQueryEngine(GraphTraversalSource g) { super(g); @@ -146,18 +146,47 @@ public class GraphTraversalQueryEngine extends QueryEngine { */ @Override public List findDeletable(Vertex start) { - @SuppressWarnings("unchecked") - GraphTraversal pipe = this.g - .V(start).emit(v -> true).repeat( - __.union( - __.outE().has(DELETE_OTHER_V.toString(), OUT.toString()).inV(), - __.inE().has(DELETE_OTHER_V.toString(), IN.toString()).outV() - ) - ).dedup(); + try { + StopWatch.conditionalStart(); + @SuppressWarnings("unchecked") + GraphTraversal pipe = this.g + .V(start).emit(v -> true).repeat( + __.union( + __.outE().has(DELETE_OTHER_V.toString(), OUT.toString()).inV(), + __.inE().has(DELETE_OTHER_V.toString(), IN.toString()).outV() + ) + ).dedup(); - return pipe.toList(); + return pipe.toList(); + } finally { + dbTimeMsecs += StopWatch.stopIfStarted(); + } } + /** + * {@inheritDoc} + */ + @Override + public List findDeletable(List startVertexes) { + try { + StopWatch.conditionalStart(); + Vertex[] vertices = new Vertex[startVertexes.size()]; + vertices = startVertexes.toArray(vertices); + GraphTraversal pipe = this.g + .V(vertices).emit(v -> true).repeat( + __.union( + __.outE().has(DELETE_OTHER_V.toString(), OUT.toString()).inV(), + __.inE().has(DELETE_OTHER_V.toString(), IN.toString()).outV() + ) + ).dedup(); + + return pipe.toList(); + } + finally { + dbTimeMsecs += StopWatch.stopIfStarted(); + } + } + /** * {@inheritDoc} */