diff --git a/core/src/main/java/ru/trader/analysis/VendorsGraph.java b/core/src/main/java/ru/trader/analysis/VendorsGraph.java index 09db604..a5d31a8 100644 --- a/core/src/main/java/ru/trader/analysis/VendorsGraph.java +++ b/core/src/main/java/ru/trader/analysis/VendorsGraph.java @@ -149,7 +149,7 @@ public class VendorsGraph extends ConnectibleGraph { assert vertex.getEntry() instanceof TransitVendor && !(target.getEntry() instanceof TransitVendor); VendorsGraphBuilder h = this; Path path = new Path<>(Collections.singleton(lastEdge)); - while (h != null){ + while (h != null && h.edge != null){ if (callback.isCancel()) break; BuildEdge cEdge = h.edge; Vertex source = cEdge.getSource(); @@ -203,7 +203,7 @@ public class VendorsGraph extends ConnectibleGraph { while (path != null){ if (callback.isCancel()) break; VendorsGraphBuilder h = this; - while (h != null){ + while (h != null && h.edge != null){ if (callback.isCancel()) break; if (h.limit >= path.getMinFuel() && h.limit <= path.getMaxFuel()){ BuildEdge cEdge = h.edge; diff --git a/core/src/main/java/ru/trader/core/MarketAnalyzer.java b/core/src/main/java/ru/trader/core/MarketAnalyzer.java index f81410d..de2479b 100644 --- a/core/src/main/java/ru/trader/core/MarketAnalyzer.java +++ b/core/src/main/java/ru/trader/core/MarketAnalyzer.java @@ -264,7 +264,11 @@ public class MarketAnalyzer { } private List getVendors(Place place){ - return market.getVendors(place).collect(Collectors.toList()); + List vendors = market.getVendors(place).collect(Collectors.toList()); + if (vendors.isEmpty()){ + vendors = Collections.singletonList(place.asTransit()); + } + return vendors; } public MarketAnalyzer changeCallBack(AnalysisCallBack callback){