diff --git a/core/src/main/java/ru/trader/analysis/graph/AbstractGraph.java b/core/src/main/java/ru/trader/analysis/graph/AbstractGraph.java index 8b77c53..91ca936 100644 --- a/core/src/main/java/ru/trader/analysis/graph/AbstractGraph.java +++ b/core/src/main/java/ru/trader/analysis/graph/AbstractGraph.java @@ -30,7 +30,7 @@ public abstract class AbstractGraph implements Graph { vertexes = new CopyOnWriteArrayList<>(); } - protected abstract GraphBuilder createGraphBuilder(Vertex vertex, Collection set, int deep, double limit); + protected abstract RecursiveAction createGraphBuilder(Vertex vertex, Collection set, int deep, double limit); public void build(T start, Collection set, int maxDeep, double limit) { callback.startBuild(start); @@ -109,14 +109,14 @@ public abstract class AbstractGraph implements Graph { protected abstract double onConnect(T entry); protected abstract Edge createEdge(Vertex target); - protected GraphBuilder createSubTask(Vertex vertex, Collection set, int deep, double limit){ + protected RecursiveAction createSubTask(Vertex vertex, Collection set, int deep, double limit){ return createGraphBuilder(vertex, set, deep, limit); } @Override protected void compute() { LOG.trace("Build graph from {}, limit {}, deep {}", vertex, limit, deep); - ArrayList subTasks = new ArrayList<>(THRESHOLD); + ArrayList subTasks = new ArrayList<>(THRESHOLD); Iterator iterator = set.iterator(); while (iterator.hasNext()) { if (callback.isCancel()) break; @@ -132,7 +132,7 @@ public abstract class AbstractGraph implements Graph { next.setLevel(vertex.getLevel() - 1); if (deep > 0) { //Recursive build - GraphBuilder task = createSubTask(next, set, deep - 1, nextLimit); + RecursiveAction task = createSubTask(next, set, deep - 1, nextLimit); task.fork(); subTasks.add(task); } @@ -141,7 +141,7 @@ public abstract class AbstractGraph implements Graph { LOG.trace("Vertex {} is far away", entry); } if (subTasks.size() == THRESHOLD || !iterator.hasNext()){ - for (GraphBuilder subTask : subTasks) { + for (RecursiveAction subTask : subTasks) { if (callback.isCancel()){ subTask.cancel(true); } else { @@ -152,7 +152,7 @@ public abstract class AbstractGraph implements Graph { } } if (!subTasks.isEmpty()){ - for (GraphBuilder subTask : subTasks) { + for (RecursiveAction subTask : subTasks) { if (callback.isCancel()){ subTask.cancel(true); } else {