diff --git a/core/src/main/java/ru/trader/analysis/RouteSpecificationByTargets.java b/core/src/main/java/ru/trader/analysis/RouteSpecificationByTargets.java index ecd34a3..0671f95 100644 --- a/core/src/main/java/ru/trader/analysis/RouteSpecificationByTargets.java +++ b/core/src/main/java/ru/trader/analysis/RouteSpecificationByTargets.java @@ -21,7 +21,7 @@ public class RouteSpecificationByTargets implements RouteSpecification { @Override public boolean specified(Edge edge, Traversal entry) { - return all ? containsAll(edge, entry) == 0 : containsAny(edge, entry) == 0; + return targets.isEmpty() || (all ? containsAll(edge, entry) == 0 : containsAny(edge, entry) == 0); } @Override @@ -31,11 +31,13 @@ public class RouteSpecificationByTargets implements RouteSpecification { @Override public int lastFound(Edge edge, Traversal entry) { + if (targets.isEmpty()) return 0; return all ? containsAll(edge, entry) : containsAny(edge, entry); } @Override public int matchCount() { + if (targets.isEmpty()) return 0; return all ? targets.size() : 1; }