Skip to content

Commit 2c7b2ac

Browse files
committed
removed FlagEncoder as parameter from algorithms and AlgorithmOptions as duplicate info for weighting.getFlagEncoder
1 parent 0fb19c9 commit 2c7b2ac

39 files changed

+154
-185
lines changed

core/files/changelog.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
0.8
2+
refactoring to Weighting class, see #807
3+
removed FlagEncoder from parameters as weighting.getFlagEncoder can and is used
24
all properties with prefix "osmreader." changed to "datareader." and osmreader.osm changed to datareader.file
35
maven/gradle dependency graphhopper is now splitted into graphhopper-core and graphhopper-reader-osm, i.e. if you previouls depend on 'graphhopper' artificat you should now use graphhopper-reader-osm except environments like Android where you just load the graph and do no import
46
use GraphHopperOSM as base class instead of GraphHopper

core/src/main/java/com/graphhopper/GraphHopper.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -940,9 +940,10 @@ public Weighting createWeighting(HintsMap hintsMap, FlagEncoder encoder) {
940940
/**
941941
* Potentially wraps the specified weighting into a TurnWeighting instance.
942942
*/
943-
public Weighting createTurnWeighting(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
943+
public Weighting createTurnWeighting(Graph graph, Weighting weighting, TraversalMode tMode) {
944+
FlagEncoder encoder = weighting.getFlagEncoder();
944945
if (encoder.supports(TurnWeighting.class) && !tMode.equals(TraversalMode.NODE_BASED))
945-
return new TurnWeighting(weighting, encoder, (TurnCostExtension) graph.getExtension());
946+
return new TurnWeighting(weighting, (TurnCostExtension) graph.getExtension());
946947
return weighting;
947948
}
948949

@@ -1036,10 +1037,10 @@ else if (!(tmpAlgoFactory instanceof PrepareContractionHierarchies))
10361037

10371038
QueryGraph queryGraph = new QueryGraph(routingGraph);
10381039
queryGraph.lookup(qResults);
1039-
weighting = createTurnWeighting(queryGraph, encoder, weighting, tMode);
1040+
weighting = createTurnWeighting(queryGraph, weighting, tMode);
10401041

10411042
AlgorithmOptions algoOpts = AlgorithmOptions.start().
1042-
algorithm(algoStr).traversalMode(tMode).flagEncoder(encoder).weighting(weighting).
1043+
algorithm(algoStr).traversalMode(tMode).weighting(weighting).
10431044
maxVisitedNodes(maxVisitedNodesForRequest).
10441045
hints(hints).
10451046
build();

core/src/main/java/com/graphhopper/routing/AStar.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public class AStar extends AbstractRoutingAlgorithm {
5050
private AStarEntry currEdge;
5151
private int to1 = -1;
5252

53-
public AStar(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
54-
super(graph, encoder, weighting, tMode);
53+
public AStar(Graph graph, Weighting weighting, TraversalMode tMode) {
54+
super(graph, weighting, tMode);
5555
int size = Math.min(Math.max(200, graph.getNodes() / 10), 2000);
5656
initCollections(size);
5757
BeelineWeightApproximator defaultApprox = new BeelineWeightApproximator(nodeAccess, weighting);

core/src/main/java/com/graphhopper/routing/AStarBidirection.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ public class AStarBidirection extends AbstractBidirAlgo {
6969
private PriorityQueue<AStarEntry> prioQueueOpenSetTo;
7070
private TIntObjectMap<AStarEntry> bestWeightMapOther;
7171

72-
public AStarBidirection(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
73-
super(graph, encoder, weighting, tMode);
72+
public AStarBidirection(Graph graph, Weighting weighting, TraversalMode tMode) {
73+
super(graph, weighting, tMode);
7474
int size = Math.min(Math.max(200, graph.getNodes() / 10), 2000);
7575
initCollections(size);
7676
BeelineWeightApproximator defaultApprox = new BeelineWeightApproximator(nodeAccess, weighting);

core/src/main/java/com/graphhopper/routing/AbstractBidirAlgo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ public abstract class AbstractBidirAlgo extends AbstractRoutingAlgorithm {
3434
int visitedCountFrom;
3535
int visitedCountTo;
3636

37-
public AbstractBidirAlgo(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
38-
super(graph, encoder, weighting, tMode);
37+
public AbstractBidirAlgo(Graph graph, Weighting weighting, TraversalMode tMode) {
38+
super(graph, weighting, tMode);
3939
}
4040

4141
abstract void initFrom(int from, double dist);

core/src/main/java/com/graphhopper/routing/AbstractRoutingAlgorithm.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,12 @@ public abstract class AbstractRoutingAlgorithm implements RoutingAlgorithm {
4949

5050
/**
5151
* @param graph specifies the graph where this algorithm will run on
52-
* @param encoder sets the used vehicle (bike, car, foot)
5352
* @param weighting set the used weight calculation (e.g. fastest, shortest).
5453
* @param traversalMode how the graph is traversed e.g. if via nodes or edges.
5554
*/
56-
public AbstractRoutingAlgorithm(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode traversalMode) {
55+
public AbstractRoutingAlgorithm(Graph graph, Weighting weighting, TraversalMode traversalMode) {
5756
this.weighting = weighting;
58-
this.flagEncoder = encoder;
57+
this.flagEncoder = weighting.getFlagEncoder();
5958
this.traversalMode = traversalMode;
6059
this.graph = graph;
6160
this.nodeAccess = graph.getNodeAccess();

core/src/main/java/com/graphhopper/routing/AlgorithmOptions.java

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public class AlgorithmOptions {
4040
private String algorithm = Parameters.Algorithms.DIJKSTRA_BI;
4141
private Weighting weighting;
4242
private TraversalMode traversalMode = TraversalMode.NODE_BASED;
43-
private FlagEncoder flagEncoder;
4443
private int maxVisitedNodes = Integer.MAX_VALUE;
4544

4645
private AlgorithmOptions() {
@@ -49,16 +48,14 @@ private AlgorithmOptions() {
4948
/**
5049
* Default traversal mode NODE_BASED is used.
5150
*/
52-
public AlgorithmOptions(String algorithm, FlagEncoder flagEncoder, Weighting weighting) {
51+
public AlgorithmOptions(String algorithm, Weighting weighting) {
5352
this.algorithm = algorithm;
5453
this.weighting = weighting;
55-
this.flagEncoder = flagEncoder;
5654
}
5755

58-
public AlgorithmOptions(String algorithm, FlagEncoder flagEncoder, Weighting weighting, TraversalMode tMode) {
56+
public AlgorithmOptions(String algorithm, Weighting weighting, TraversalMode tMode) {
5957
this.algorithm = algorithm;
6058
this.weighting = weighting;
61-
this.flagEncoder = flagEncoder;
6259
this.traversalMode = tMode;
6360
}
6461

@@ -77,8 +74,6 @@ public static Builder start(AlgorithmOptions opts) {
7774
Builder b = new Builder();
7875
if (opts.algorithm != null)
7976
b.algorithm(opts.getAlgorithm());
80-
if (opts.flagEncoder != null)
81-
b.flagEncoder(opts.getFlagEncoder());
8277
if (opts.traversalMode != null)
8378
b.traversalMode(opts.getTraversalMode());
8479
if (opts.weighting != null)
@@ -105,11 +100,6 @@ public String getAlgorithm() {
105100
return algorithm;
106101
}
107102

108-
public FlagEncoder getFlagEncoder() {
109-
assertNotNull(flagEncoder, "flagEncoder");
110-
return flagEncoder;
111-
}
112-
113103
public int getMaxVisitedNodes() {
114104
return maxVisitedNodes;
115105
}
@@ -125,7 +115,7 @@ private void assertNotNull(Object optionValue, String optionName) {
125115

126116
@Override
127117
public String toString() {
128-
return algorithm + ", " + weighting + ", " + flagEncoder + ", " + traversalMode;
118+
return algorithm + ", " + weighting + ", " + traversalMode;
129119
}
130120

131121
public static class Builder {
@@ -150,12 +140,7 @@ public Builder weighting(Weighting weighting) {
150140
public Builder algorithm(String algorithm) {
151141
this.opts.algorithm = algorithm;
152142
return this;
153-
}
154-
155-
public Builder flagEncoder(FlagEncoder flagEncoder) {
156-
this.opts.flagEncoder = flagEncoder;
157-
return this;
158-
}
143+
}
159144

160145
public Builder maxVisitedNodes(int maxVisitedNodes) {
161146
this.opts.maxVisitedNodes = maxVisitedNodes;

core/src/main/java/com/graphhopper/routing/AlternativeRoute.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ public int compare(AlternativeInfo o1, AlternativeInfo o2) {
8181
private double minPlateauFactor = 0.2;
8282
private int maxPaths = 2;
8383

84-
public AlternativeRoute(Graph graph, FlagEncoder flagEncoder, Weighting weighting, TraversalMode traversalMode) {
84+
public AlternativeRoute(Graph graph, Weighting weighting, TraversalMode traversalMode) {
8585
this.graph = graph;
86-
this.flagEncoder = flagEncoder;
86+
this.flagEncoder = weighting.getFlagEncoder();
8787
this.weighting = weighting;
8888
this.traversalMode = traversalMode;
8989
}
@@ -164,7 +164,7 @@ public void setMaxPaths(int maxPaths) {
164164
*/
165165
public List<AlternativeInfo> calcAlternatives(int from, int to) {
166166
AlternativeBidirSearch altBidirDijktra = new AlternativeBidirSearch(
167-
graph, flagEncoder, weighting, traversalMode, maxExplorationFactor * 2);
167+
graph, weighting, traversalMode, maxExplorationFactor * 2);
168168
altBidirDijktra.setMaxVisitedNodes(maxVisitedNodes);
169169
altBidirDijktra.searchBest(from, to);
170170
visitedNodes = altBidirDijktra.getVisitedNodes();
@@ -250,9 +250,9 @@ public String toString() {
250250
public static class AlternativeBidirSearch extends AStarBidirection {
251251
private final double explorationFactor;
252252

253-
public AlternativeBidirSearch(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode,
253+
public AlternativeBidirSearch(Graph graph, Weighting weighting, TraversalMode tMode,
254254
double explorationFactor) {
255-
super(graph, encoder, weighting, tMode);
255+
super(graph, weighting, tMode);
256256
this.explorationFactor = explorationFactor;
257257
}
258258

core/src/main/java/com/graphhopper/routing/Dijkstra.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ public class Dijkstra extends AbstractRoutingAlgorithm {
4444
private int visitedNodes;
4545
private int to = -1;
4646

47-
public Dijkstra(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
48-
super(graph, encoder, weighting, tMode);
47+
public Dijkstra(Graph graph, Weighting weighting, TraversalMode tMode) {
48+
super(graph, weighting, tMode);
4949
int size = Math.min(Math.max(200, graph.getNodes() / 10), 2000);
5050
initCollections(size);
5151
}

core/src/main/java/com/graphhopper/routing/DijkstraBidirectionRef.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ public class DijkstraBidirectionRef extends AbstractBidirAlgo {
4747
private PriorityQueue<SPTEntry> openSetTo;
4848
private boolean updateBestPath = true;
4949

50-
public DijkstraBidirectionRef(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
51-
super(graph, encoder, weighting, tMode);
50+
public DijkstraBidirectionRef(Graph graph, Weighting weighting, TraversalMode tMode) {
51+
super(graph, weighting, tMode);
5252
int size = Math.min(Math.max(200, graph.getNodes() / 10), 2000);
5353
initCollections(size);
5454
}

core/src/main/java/com/graphhopper/routing/DijkstraOneToMany.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ public class DijkstraOneToMany extends AbstractRoutingAlgorithm {
5050
private int currNode, fromNode, to;
5151
private double weightLimit = Double.MAX_VALUE;
5252

53-
public DijkstraOneToMany(Graph graph, FlagEncoder encoder, Weighting weighting, TraversalMode tMode) {
54-
super(graph, encoder, weighting, tMode);
53+
public DijkstraOneToMany(Graph graph, Weighting weighting, TraversalMode tMode) {
54+
super(graph, weighting, tMode);
5555

5656
parents = new int[graph.getNodes()];
5757
Arrays.fill(parents, EMPTY_PARENT);
@@ -76,7 +76,7 @@ public Path calcPath(int from, int to) {
7676

7777
@Override
7878
public Path extractPath() {
79-
PathNative p = new PathNative(graph, flagEncoder, weighting, parents, edgeIds);
79+
PathNative p = new PathNative(graph, weighting, parents, edgeIds);
8080
if (endNode >= 0)
8181
p.setWeight(weights[endNode]);
8282
p.setFromNode(fromNode);

core/src/main/java/com/graphhopper/routing/PathNative.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class PathNative extends Path {
3232
private final int[] parentNodes;
3333
private final int[] parentEdges;
3434

35-
public PathNative(Graph g, FlagEncoder encoder, Weighting weighting, int[] parentNodes, int[] parentEdges) {
35+
public PathNative(Graph g, Weighting weighting, int[] parentNodes, int[] parentEdges) {
3636
super(g, weighting);
3737
this.parentNodes = parentNodes;
3838
this.parentEdges = parentEdges;

core/src/main/java/com/graphhopper/routing/RoutingAlgorithmFactorySimple.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,26 +38,26 @@ public RoutingAlgorithm createAlgo(Graph g, AlgorithmOptions opts) {
3838
RoutingAlgorithm ra;
3939
String algoStr = opts.getAlgorithm();
4040
if (DIJKSTRA_BI.equalsIgnoreCase(algoStr)) {
41-
ra = new DijkstraBidirectionRef(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
41+
ra = new DijkstraBidirectionRef(g, opts.getWeighting(), opts.getTraversalMode());
4242
} else if (DIJKSTRA.equalsIgnoreCase(algoStr)) {
43-
ra = new Dijkstra(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
43+
ra = new Dijkstra(g, opts.getWeighting(), opts.getTraversalMode());
4444

4545
} else if (ASTAR_BI.equalsIgnoreCase(algoStr)) {
46-
AStarBidirection aStarBi = new AStarBidirection(g, opts.getFlagEncoder(), opts.getWeighting(),
46+
AStarBidirection aStarBi = new AStarBidirection(g, opts.getWeighting(),
4747
opts.getTraversalMode());
4848
aStarBi.setApproximation(getApproximation(ASTAR_BI, opts, g.getNodeAccess()));
4949
ra = aStarBi;
5050

5151
} else if (DIJKSTRA_ONE_TO_MANY.equalsIgnoreCase(algoStr)) {
52-
ra = new DijkstraOneToMany(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
52+
ra = new DijkstraOneToMany(g, opts.getWeighting(), opts.getTraversalMode());
5353

5454
} else if (ASTAR.equalsIgnoreCase(algoStr)) {
55-
AStar aStar = new AStar(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
55+
AStar aStar = new AStar(g, opts.getWeighting(), opts.getTraversalMode());
5656
aStar.setApproximation(getApproximation(ASTAR, opts, g.getNodeAccess()));
5757
ra = aStar;
5858

5959
} else if (ALT_ROUTE.equalsIgnoreCase(algoStr)) {
60-
AlternativeRoute altRouteAlgo = new AlternativeRoute(g, opts.getFlagEncoder(), opts.getWeighting(), opts.getTraversalMode());
60+
AlternativeRoute altRouteAlgo = new AlternativeRoute(g, opts.getWeighting(), opts.getTraversalMode());
6161
altRouteAlgo.setMaxPaths(opts.getHints().getInt(MAX_PATHS, 2));
6262
altRouteAlgo.setMaxWeightFactor(opts.getHints().getDouble(MAX_WEIGHT, 1.4));
6363
altRouteAlgo.setMaxShareFactor(opts.getHints().getDouble(MAX_SHARE, 0.6));

core/src/main/java/com/graphhopper/routing/ch/CHAlgoFactoryDecorator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ public void createPreparations(GraphHopperStorage ghStorage, TraversalMode trave
324324
for (Weighting weighting : getWeightings()) {
325325
PrepareContractionHierarchies tmpPrepareCH = new PrepareContractionHierarchies(
326326
new GHDirectory("", DAType.RAM_INT), ghStorage, ghStorage.getGraph(CHGraph.class, weighting),
327-
weighting.getFlagEncoder(), weighting, traversalMode);
327+
weighting, traversalMode);
328328
tmpPrepareCH.setPeriodicUpdates(preparationPeriodicUpdates).
329329
setLazyUpdates(preparationLazyUpdates).
330330
setNeighborUpdates(preparationNeighborUpdates).

core/src/main/java/com/graphhopper/routing/ch/PrepareContractionHierarchies.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
public class PrepareContractionHierarchies extends AbstractAlgoPreparation implements RoutingAlgorithmFactory {
5252
private final Logger logger = LoggerFactory.getLogger(getClass());
5353
private final PreparationWeighting prepareWeighting;
54-
private final FlagEncoder prepareFlagEncoder;
5554
private final TraversalMode traversalMode;
5655
private final LevelEdgeFilter levelFilter;
5756
private final GraphHopperStorage ghStorage;
@@ -91,11 +90,10 @@ public class PrepareContractionHierarchies extends AbstractAlgoPreparation imple
9190
private int maxEdgesCount;
9291

9392
public PrepareContractionHierarchies(Directory dir, GraphHopperStorage ghStorage, CHGraph chGraph,
94-
FlagEncoder encoder, Weighting weighting, TraversalMode traversalMode) {
93+
Weighting weighting, TraversalMode traversalMode) {
9594
this.ghStorage = ghStorage;
9695
this.prepareGraph = (CHGraphImpl) chGraph;
9796
this.traversalMode = traversalMode;
98-
this.prepareFlagEncoder = encoder;
9997
levelFilter = new LevelEdgeFilter(prepareGraph);
10098

10199
prepareWeighting = new PreparationWeighting(weighting);
@@ -186,9 +184,6 @@ public void setInitialCollectionSize(int initialCollectionSize) {
186184

187185
@Override
188186
public void doWork() {
189-
if (prepareFlagEncoder == null)
190-
throw new IllegalStateException("No vehicle encoder set.");
191-
192187
if (prepareWeighting == null)
193188
throw new IllegalStateException("No weight calculation set.");
194189

@@ -348,7 +343,6 @@ void contractNodes() {
348343
logger.info("took:" + (int) allSW.stop().getSeconds()
349344
+ ", new shortcuts: " + Helper.nf(newShortcuts)
350345
+ ", " + prepareWeighting
351-
+ ", " + prepareFlagEncoder
352346
+ ", dijkstras:" + dijkstraCount
353347
+ ", " + getTimesAsString()
354348
+ ", meanDegree:" + (long) meanDegree
@@ -581,6 +575,7 @@ String getCoords(EdgeIteratorState e, Graph g) {
581575
PrepareContractionHierarchies initFromGraph() {
582576
ghStorage.freeze();
583577
maxEdgesCount = ghStorage.getAllEdges().getMaxId();
578+
FlagEncoder prepareFlagEncoder = prepareWeighting.getFlagEncoder();
584579
vehicleInExplorer = prepareGraph.createEdgeExplorer(new DefaultEdgeFilter(prepareFlagEncoder, true, false));
585580
vehicleOutExplorer = prepareGraph.createEdgeExplorer(new DefaultEdgeFilter(prepareFlagEncoder, false, true));
586581
final EdgeFilter allFilter = new DefaultEdgeFilter(prepareFlagEncoder, true, true);
@@ -609,7 +604,7 @@ public final boolean accept(EdgeIteratorState edgeState) {
609604
// but we need the additional oldPriorities array to keep the old value which is necessary for the update method
610605
sortedNodes = new GHTreeMapComposed();
611606
oldPriorities = new int[prepareGraph.getNodes()];
612-
prepareAlgo = new DijkstraOneToMany(prepareGraph, prepareFlagEncoder, prepareWeighting, traversalMode);
607+
prepareAlgo = new DijkstraOneToMany(prepareGraph, prepareWeighting, traversalMode);
613608
return this;
614609
}
615610

@@ -659,7 +654,7 @@ public RoutingAlgorithm createAlgo(Graph graph, AlgorithmOptions opts) {
659654
}
660655

661656
private AStarBidirection createAStarBidirection(final Graph graph) {
662-
return new AStarBidirection(graph, prepareFlagEncoder, prepareWeighting, traversalMode) {
657+
return new AStarBidirection(graph, prepareWeighting, traversalMode) {
663658
@Override
664659
protected void initCollections(int nodes) {
665660
// algorithm with CH does not need that much memory pre allocated
@@ -696,7 +691,7 @@ public String toString() {
696691
}
697692

698693
private AbstractBidirAlgo createDijkstraBidirection(final Graph graph) {
699-
return new DijkstraBidirectionRef(graph, prepareFlagEncoder, prepareWeighting, traversalMode) {
694+
return new DijkstraBidirectionRef(graph, prepareWeighting, traversalMode) {
700695
@Override
701696
protected void initCollections(int nodes) {
702697
// algorithm with CH does not need that much memory pre allocated

core/src/main/java/com/graphhopper/routing/util/TestAlgoCollector.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ public TestAlgoCollector assertDistance(AlgoHelperEntry algoEntry, List<QueryRes
5151
QueryGraph queryGraph = new QueryGraph(algoEntry.getQueryGraph());
5252
queryGraph.lookup(queryList);
5353
AlgorithmOptions opts = algoEntry.opts;
54-
FlagEncoder encoder = opts.getFlagEncoder();
54+
FlagEncoder encoder = opts.getWeighting().getFlagEncoder();
5555
if (encoder.supports(TurnWeighting.class))
56-
algoEntry.setAlgorithmOptions(AlgorithmOptions.start(opts).weighting(new TurnWeighting(opts.getWeighting(), opts.getFlagEncoder(), (TurnCostExtension) queryGraph.getExtension())).build());
56+
algoEntry.setAlgorithmOptions(AlgorithmOptions.start(opts).weighting(new TurnWeighting(opts.getWeighting(), (TurnCostExtension) queryGraph.getExtension())).build());
5757

5858
for (int i = 0; i < queryList.size() - 1; i++) {
5959
RoutingAlgorithm algo = algoEntry.createAlgo(queryGraph);

0 commit comments

Comments
 (0)