From 29160eec9c757d1c2009cc6317efe4418c94bd6e Mon Sep 17 00:00:00 2001 From: Pepijn Schoen Date: Wed, 19 Apr 2017 13:11:11 +0200 Subject: [PATCH] superclass updater_config with io_config --- include/updater/updater_config.hpp | 40 +++++------------------------- src/updater/updater.cpp | 12 ++++----- 2 files changed, 12 insertions(+), 40 deletions(-) diff --git a/include/updater/updater_config.hpp b/include/updater/updater_config.hpp index 93cdde453..ba3e36854 100644 --- a/include/updater/updater_config.hpp +++ b/include/updater/updater_config.hpp @@ -33,52 +33,24 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#include "storage/io_config.hpp" +#include "storage/storage_config.hpp" + namespace osrm { namespace updater { -struct UpdaterConfig final +struct UpdaterConfig final : storage::IOConfig { - // Infer the output names from the path of the .osrm file - void UseDefaultOutputNames() - { - edge_based_graph_path = osrm_input_path.string() + ".ebg"; - turn_weight_penalties_path = osrm_input_path.string() + ".turn_weight_penalties"; - turn_duration_penalties_path = osrm_input_path.string() + ".turn_duration_penalties"; - turn_penalties_index_path = osrm_input_path.string() + ".turn_penalties_index"; - node_based_nodes_data_path = osrm_input_path.string() + ".nbg_nodes"; - edge_based_nodes_data_path = osrm_input_path.string() + ".ebg_nodes"; - edge_data_path = osrm_input_path.string() + ".edges"; - geometry_path = osrm_input_path.string() + ".geometry"; - rtree_leaf_path = osrm_input_path.string() + ".fileIndex"; - datasource_names_path = osrm_input_path.string() + ".datasource_names"; - profile_properties_path = osrm_input_path.string() + ".properties"; - turn_restrictions_path = osrm_input_path.string() + ".restrictions"; - } - - boost::filesystem::path osrm_input_path; - - std::string edge_based_graph_path; - - std::string turn_weight_penalties_path; - std::string turn_duration_penalties_path; - std::string turn_penalties_index_path; - std::string node_based_nodes_data_path; - std::string edge_based_nodes_data_path; - std::string edge_data_path; - std::string geometry_path; - std::string rtree_leaf_path; + UpdaterConfig() {} + UpdaterConfig(const boost::filesystem::path &base) : IOConfig(base) {} double log_edge_updates_factor; std::time_t valid_now; std::vector segment_speed_lookup_paths; std::vector turn_penalty_lookup_paths; - std::string datasource_names_path; - std::string profile_properties_path; - std::string turn_restrictions_path; - std::string tz_file_path; }; } } diff --git a/src/updater/updater.cpp b/src/updater/updater.cpp index 9a745949e..6639ae6b5 100644 --- a/src/updater/updater.cpp +++ b/src/updater/updater.cpp @@ -105,13 +105,13 @@ void checkWeightsConsistency( const std::vector &edge_based_edge_list) { extractor::SegmentDataContainer segment_data; - extractor::files::readSegmentData(config.geometry_path, segment_data); + extractor::files::readSegmentData(config.geometries_path, segment_data); extractor::EdgeBasedNodeDataContainer node_data; extractor::files::readNodeData(config.osrm_input_path.string() + ".ebg_nodes", node_data); extractor::TurnDataContainer turn_data; - extractor::files::readTurnData(config.osrm_input_path.string() + ".edges", turn_data); + extractor::files::readTurnData(config.edges_data_path, turn_data); for (auto &edge : edge_based_edge_list) { @@ -593,7 +593,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector &e if (update_edge_weights || update_turn_penalties || update_conditional_turns) { const auto load_segment_data = [&] { - extractor::files::readSegmentData(config.geometry_path, segment_data); + extractor::files::readSegmentData(config.geometries_path, segment_data); }; const auto load_node_data = [&] { @@ -601,7 +601,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector &e }; const auto load_edge_data = [&] { - extractor::files::readTurnData(config.edge_data_path, turn_data); + extractor::files::readTurnData(config.edges_data_path, turn_data); }; const auto load_turn_weight_penalties = [&] { @@ -619,7 +619,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector &e const auto load_profile_properties = [&] { // Propagate profile properties to contractor configuration structure storage::io::FileReader profile_properties_file( - config.profile_properties_path, storage::io::FileReader::VerifyFingerprint); + config.properties_path, storage::io::FileReader::VerifyFingerprint); profile_properties = profile_properties_file.ReadOne(); }; @@ -652,7 +652,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector &e coordinates, osm_node_ids); // Now save out the updated compressed geometries - extractor::files::writeSegmentData(config.geometry_path, segment_data); + extractor::files::writeSegmentData(config.geometries_path, segment_data); TIMER_STOP(segment); util::Log() << "Updating segment data took " << TIMER_MSEC(segment) << "ms."; }