diff --git a/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java b/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java index 73e70005f32a58284d876f8f7c3d5cd465113ef5..86661dab43a05a9c5f2844bcdce8fb1733ae9283 100644 --- a/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java +++ b/src/main/java/it/unibz/inf/isochrone/algorithm/Isochrone.java @@ -37,10 +37,14 @@ public abstract class Isochrone { * Instantiates a new isochrone object. * * @param query The parameters for the isochrone + * @throws AlgorithmException thrown if there are no date codes in the databse for the specified query */ - public Isochrone(final Query query) { + public Isochrone(final ConfigDataset config, final Query query) throws AlgorithmException { this.query = query; - queue = new PriorityQueue<Node>(); + this.db = new Database<>(config, query.getMode(), query.getDir()); + this.queue = new PriorityQueue<Node>(); + + initDateCodes(); } /** diff --git a/src/main/java/it/unibz/inf/isochrone/algorithm/MDijkstra.java b/src/main/java/it/unibz/inf/isochrone/algorithm/MDijkstra.java index bd6d26881960ac4e112ca46d89903b541380d338..b5a953bef1035bceafea1195ca41aae90d3547c9 100644 --- a/src/main/java/it/unibz/inf/isochrone/algorithm/MDijkstra.java +++ b/src/main/java/it/unibz/inf/isochrone/algorithm/MDijkstra.java @@ -1,7 +1,6 @@ package it.unibz.inf.isochrone.algorithm; import it.unibz.inf.isochrone.config.ConfigDataset; -import it.unibz.inf.isochrone.db.Database; import it.unibz.inf.isochrone.network.Link; import it.unibz.inf.isochrone.network.Node; import it.unibz.inf.isochrone.util.Query; @@ -23,10 +22,8 @@ public class MDijkstra extends Isochrone { private final Map<Integer, Link> links; public MDijkstra(final ConfigDataset config, final Query query) throws AlgorithmException { - super(query); + super(config, query); - initDateCodes(); - db = new Database<>(config, query.getMode(), query.getDir()); nodes = new HashMap<Integer, Node>(); links = new LinkedHashMap<Integer, Link>(); diff --git a/src/main/java/it/unibz/inf/isochrone/algorithm/MineX.java b/src/main/java/it/unibz/inf/isochrone/algorithm/MineX.java index bb44b802a5d0c86116396bb89244552195abfe1d..7cbc5a1c749c45e79bb7111bb948b537d3b3357f 100644 --- a/src/main/java/it/unibz/inf/isochrone/algorithm/MineX.java +++ b/src/main/java/it/unibz/inf/isochrone/algorithm/MineX.java @@ -1,7 +1,6 @@ package it.unibz.inf.isochrone.algorithm; import it.unibz.inf.isochrone.config.ConfigDataset; -import it.unibz.inf.isochrone.db.Database; import it.unibz.inf.isochrone.network.Link; import it.unibz.inf.isochrone.network.Node; import it.unibz.inf.isochrone.util.Query; @@ -18,10 +17,8 @@ public class MineX extends Isochrone { private final Map<Integer, Node> nodes; public MineX(final ConfigDataset config, final Query query) throws AlgorithmException { - super(query); + super(config, query); - initDateCodes(); - db = new Database<>(config, query.getMode(), query.getDir()); nodes = new HashMap<Integer, Node>(); } diff --git a/src/main/java/it/unibz/inf/isochrone/algorithm/MrneX.java b/src/main/java/it/unibz/inf/isochrone/algorithm/MrneX.java index 66c775dbad09ce6a26771a5afafecb2bf99e73c6..d73c018afb7184ce891f923629db14d8dd96ac90 100644 --- a/src/main/java/it/unibz/inf/isochrone/algorithm/MrneX.java +++ b/src/main/java/it/unibz/inf/isochrone/algorithm/MrneX.java @@ -1,7 +1,6 @@ package it.unibz.inf.isochrone.algorithm; import it.unibz.inf.isochrone.config.ConfigDataset; -import it.unibz.inf.isochrone.db.Database; import it.unibz.inf.isochrone.network.Link; import it.unibz.inf.isochrone.network.Node; import it.unibz.inf.isochrone.util.DistanceAlgorithm; @@ -33,10 +32,8 @@ public class MrneX extends Isochrone { } public MrneX(final ConfigDataset config, final Query query, final int maxMemorySize) throws AlgorithmException { - super(query); + super(config, query); - initDateCodes(); - db = new Database<>(config, query.getMode(), query.getDir()); maxDuration = query.getDuration().intValue(); maxMemory = maxMemorySize; nodes = new HashMap<Integer, Node>();