Skip to content

Commit 9c8454d

Browse files
committed
Remove PrepareContractionHierarchies#getRoutingAlgorithmFactory
1 parent ec5824f commit 9c8454d

File tree

11 files changed

+103
-99
lines changed

11 files changed

+103
-99
lines changed

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import com.carrotsearch.hppc.IntHashSet;
2121
import com.carrotsearch.hppc.IntSet;
2222
import com.graphhopper.coll.GHTreeMapComposed;
23-
import com.graphhopper.routing.RoutingAlgorithmFactory;
2423
import com.graphhopper.routing.util.AbstractAlgoPreparation;
2524
import com.graphhopper.routing.util.TraversalMode;
2625
import com.graphhopper.routing.weighting.Weighting;
@@ -438,10 +437,6 @@ void close() {
438437
cg.close();
439438
}
440439

441-
public RoutingAlgorithmFactory getRoutingAlgorithmFactory() {
442-
return new CHRoutingAlgorithmFactory(chGraph);
443-
}
444-
445440
private static class Params {
446441
/**
447442
* Specifies after how many contracted nodes a full refresh of the queue of remaining/not contracted nodes

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
package com.graphhopper.routing.util;
1919

2020
import com.graphhopper.ResponsePath;
21-
import com.graphhopper.routing.*;
21+
import com.graphhopper.routing.AlgorithmOptions;
22+
import com.graphhopper.routing.Path;
23+
import com.graphhopper.routing.RoutingAlgorithm;
24+
import com.graphhopper.routing.RoutingAlgorithmFactorySimple;
2225
import com.graphhopper.routing.querygraph.QueryGraph;
2326
import com.graphhopper.storage.CHGraph;
2427
import com.graphhopper.storage.Graph;
@@ -48,9 +51,8 @@ public TestAlgoCollector assertDistance(EncodingManager encodingManager, AlgoHel
4851
OneRun oneRun) {
4952
List<Path> altPaths = new ArrayList<>();
5053
QueryGraph queryGraph = QueryGraph.create(algoEntry.getForQueryGraph(), queryList);
51-
RoutingAlgorithmFactory factory = algoEntry.createRoutingFactory();
5254
for (int i = 0; i < queryList.size() - 1; i++) {
53-
RoutingAlgorithm algo = factory.createAlgo(queryGraph, algoEntry.getAlgorithmOptions());
55+
RoutingAlgorithm algo = algoEntry.createAlgo(queryGraph);
5456

5557
// if (!algoEntry.getExpectedAlgo().equals(algo.toString())) {
5658
// errors.add("Algorithm expected " + algoEntry.getExpectedAlgo() + " but was " + algo.toString());
@@ -153,8 +155,8 @@ public void setAlgorithmOptions(AlgorithmOptions opts) {
153155
this.opts = opts;
154156
}
155157

156-
public RoutingAlgorithmFactory createRoutingFactory() {
157-
return new RoutingAlgorithmFactorySimple();
158+
public RoutingAlgorithm createAlgo(Graph graph) {
159+
return new RoutingAlgorithmFactorySimple().createAlgo(graph, opts);
158160
}
159161

160162
public AlgorithmOptions getAlgorithmOptions() {

core/src/test/java/com/graphhopper/routing/DijkstraBidirectionCHTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,11 @@ public void testBaseGraphMultipleVehicles() {
136136
RoutingAlgorithmTest.initFootVsCar(carEncoder, footEncoder, g);
137137

138138
// do CH preparation for car
139-
RoutingAlgorithmFactory contractedFactory = prepareCH(g, carConfig);
139+
prepareCH(g, carConfig);
140140

141141
// use contracted graph for car
142-
Path p1 = contractedFactory.createAlgo(g.getCHGraph(carConfig.getName()), carOptions).calcPath(0, 7);
142+
CHGraph chGraph = g.getCHGraph(carConfig.getName());
143+
Path p1 = new CHRoutingAlgorithmFactory(chGraph).createAlgo(chGraph, carOptions).calcPath(0, 7);
143144
assertEquals(IntArrayList.from(0, 4, 6, 7), p1.calcNodes());
144145
assertEquals(p1.toString(), 15000, p1.getDistance(), 1e-6);
145146

@@ -250,11 +251,10 @@ private GraphHopperStorage createGHStorage(Weighting weighting) {
250251
return new GraphBuilder(encodingManager).setCHConfigs(CHConfig.nodeBased(weighting.getName(), weighting)).create();
251252
}
252253

253-
private RoutingAlgorithmFactory prepareCH(GraphHopperStorage graphHopperStorage, CHConfig chConfig) {
254+
private void prepareCH(GraphHopperStorage graphHopperStorage, CHConfig chConfig) {
254255
graphHopperStorage.freeze();
255256
PrepareContractionHierarchies pch = PrepareContractionHierarchies.fromGraphHopperStorage(graphHopperStorage, chConfig);
256257
pch.doWork();
257-
return pch.getRoutingAlgorithmFactory();
258258
}
259259

260260
private RoutingAlgorithm createCHAlgo(CHGraph chGraph, boolean withSOD, AlgorithmOptions algorithmOptions) {

core/src/test/java/com/graphhopper/routing/DirectedRoutingTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import com.graphhopper.Repeat;
2222
import com.graphhopper.RepeatRule;
23+
import com.graphhopper.routing.ch.CHRoutingAlgorithmFactory;
2324
import com.graphhopper.routing.ch.PrepareContractionHierarchies;
2425
import com.graphhopper.routing.lm.LMConfig;
2526
import com.graphhopper.routing.lm.PrepareLandmarks;
@@ -155,9 +156,9 @@ private BidirRoutingAlgorithm createAlgo(Graph graph) {
155156
case ASTAR:
156157
return new AStarBidirection(graph, graph.wrapWeighting(weighting), TraversalMode.EDGE_BASED);
157158
case CH_DIJKSTRA:
158-
return (BidirRoutingAlgorithm) pch.getRoutingAlgorithmFactory().createAlgo(graph, AlgorithmOptions.start().weighting(weighting).algorithm(DIJKSTRA_BI).build());
159+
return (BidirRoutingAlgorithm) new CHRoutingAlgorithmFactory(chGraph).createAlgo(graph, AlgorithmOptions.start().weighting(weighting).algorithm(DIJKSTRA_BI).build());
159160
case CH_ASTAR:
160-
return (BidirRoutingAlgorithm) pch.getRoutingAlgorithmFactory().createAlgo(graph, AlgorithmOptions.start().weighting(weighting).algorithm(ASTAR_BI).build());
161+
return (BidirRoutingAlgorithm) new CHRoutingAlgorithmFactory(chGraph).createAlgo(graph, AlgorithmOptions.start().weighting(weighting).algorithm(ASTAR_BI).build());
161162
case LM:
162163
return (BidirRoutingAlgorithm) lm.getRoutingAlgorithmFactory().createAlgo(graph, AlgorithmOptions.start().weighting(weighting).algorithm(ASTAR_BI).traversalMode(TraversalMode.EDGE_BASED).build());
163164
default:

core/src/test/java/com/graphhopper/routing/RandomCHRoutingTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.graphhopper.routing;
22

3+
import com.graphhopper.routing.ch.CHRoutingAlgorithmFactory;
34
import com.graphhopper.routing.ch.PrepareContractionHierarchies;
45
import com.graphhopper.routing.ev.DecimalEncodedValue;
56
import com.graphhopper.routing.querygraph.QueryGraph;
@@ -166,7 +167,7 @@ private void runRandomTest(Random rnd, int numVirtualNodes) {
166167
continue;
167168
}
168169

169-
RoutingAlgorithm algo = pch.getRoutingAlgorithmFactory().createAlgo(chQueryGraph, AlgorithmOptions.start().
170+
RoutingAlgorithm algo = new CHRoutingAlgorithmFactory(chGraph).createAlgo(chQueryGraph, AlgorithmOptions.start().
170171
hints(new PMap().putObject("stall_on_demand", true)).build());
171172
Path path = algo.calcPath(from, to);
172173
if (!path.isFound()) {

core/src/test/java/com/graphhopper/routing/RandomizedRoutingTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.carrotsearch.hppc.IntIndexedContainer;
2323
import com.graphhopper.Repeat;
2424
import com.graphhopper.RepeatRule;
25+
import com.graphhopper.routing.ch.CHRoutingAlgorithmFactory;
2526
import com.graphhopper.routing.ch.PrepareContractionHierarchies;
2627
import com.graphhopper.routing.lm.LMConfig;
2728
import com.graphhopper.routing.lm.PerfectApproximator;
@@ -165,9 +166,9 @@ private RoutingAlgorithm createAlgo(Graph graph) {
165166
case ASTAR_BIDIR:
166167
return new AStarBidirection(graph, graph.wrapWeighting(weighting), traversalMode);
167168
case CH_DIJKSTRA:
168-
return pch.getRoutingAlgorithmFactory().createAlgo(graph instanceof QueryGraph ? graph : chGraph, AlgorithmOptions.start().weighting(weighting).algorithm(DIJKSTRA_BI).build());
169+
return new CHRoutingAlgorithmFactory(chGraph).createAlgo(graph instanceof QueryGraph ? graph : chGraph, AlgorithmOptions.start().weighting(weighting).algorithm(DIJKSTRA_BI).build());
169170
case CH_ASTAR:
170-
return pch.getRoutingAlgorithmFactory().createAlgo(graph instanceof QueryGraph ? graph : chGraph, AlgorithmOptions.start().weighting(weighting).algorithm(ASTAR_BI).build());
171+
return new CHRoutingAlgorithmFactory(chGraph).createAlgo(graph instanceof QueryGraph ? graph : chGraph, AlgorithmOptions.start().weighting(weighting).algorithm(ASTAR_BI).build());
171172
case LM_BIDIR:
172173
return lm.getRoutingAlgorithmFactory().createAlgo(graph, AlgorithmOptions.start().weighting(weighting).algorithm(ASTAR_BI).traversalMode(traversalMode).build());
173174
case LM_UNIDIR:

core/src/test/java/com/graphhopper/routing/RoutingAlgorithmTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import com.carrotsearch.hppc.IntArrayList;
2121
import com.carrotsearch.hppc.IntIndexedContainer;
22+
import com.graphhopper.routing.ch.CHRoutingAlgorithmFactory;
2223
import com.graphhopper.routing.ch.PrepareContractionHierarchies;
2324
import com.graphhopper.routing.ev.BooleanEncodedValue;
2425
import com.graphhopper.routing.ev.DecimalEncodedValue;
@@ -1170,11 +1171,10 @@ public Path calcPath(GraphHopperStorage graph, Weighting weighting, TraversalMod
11701171
graph.freeze();
11711172
pch.doWork();
11721173
}
1173-
RoutingAlgorithmFactory algoFactory = pch.getRoutingAlgorithmFactory();
11741174
AlgorithmOptions opts = AlgorithmOptions.start()
11751175
.algorithm(getAlgorithm())
11761176
.weighting(weighting).traversalMode(traversalMode).maxVisitedNodes(maxVisitedNodes).build();
1177-
RoutingAlgorithm algo = algoFactory.createAlgo(chGraph, opts);
1177+
RoutingAlgorithm algo = new CHRoutingAlgorithmFactory(chGraph).createAlgo(chGraph, opts);
11781178
return algo.calcPath(from, to);
11791179
}
11801180

@@ -1197,11 +1197,10 @@ public Path calcPath(GraphHopperStorage graph, Weighting weighting, TraversalMod
11971197
pch.doWork();
11981198
}
11991199
QueryGraph queryGraph = QueryGraph.create(chGraph, from, to);
1200-
RoutingAlgorithmFactory algoFactory = pch.getRoutingAlgorithmFactory();
12011200
AlgorithmOptions opts = AlgorithmOptions.start()
12021201
.algorithm(getAlgorithm())
12031202
.weighting(weighting).traversalMode(traversalMode).maxVisitedNodes(maxVisitedNodes).build();
1204-
RoutingAlgorithm algo = algoFactory.createAlgo(queryGraph, opts);
1203+
RoutingAlgorithm algo = new CHRoutingAlgorithmFactory(chGraph).createAlgo(queryGraph, opts);
12051204
return algo.calcPath(from.getClosestNode(), to.getClosestNode());
12061205

12071206
}

0 commit comments

Comments
 (0)