public async Task UpdateData(OsmDataServiceOperations operations) { try { if (operations == OsmDataServiceOperations.None) { _logger.Warn("No operations are requested, doing nothing..."); return; } _logger.Info("Updating OSM data"); var osmFilePath = Path.Combine(_serverPath, PBF_FILE_NAME); if ((operations & OsmDataServiceOperations.GetOsmFile) != 0) { await FetchOsmFile(osmFilePath); } if (_fileSystemHelper.Exists(osmFilePath) == false) { _logger.Error(osmFilePath + " File is missing. Fatal error - exiting."); return; } if ((operations & OsmDataServiceOperations.UpdateElasticSearch) != 0) { await UpdateElasticSearchFromFile(osmFilePath); } if ((operations & OsmDataServiceOperations.UpdateGraphHopper) != 0) { await _graphHopperHelper.UpdateData(osmFilePath); } _logger.Info("Finished Updating OSM data"); } catch (Exception ex) { _logger.Error(ex.ToString()); } }
private static async Task Run(OsmDataServiceOperations operations) { var logger = new ConsoleLogger(); try { var container = new UnityContainer(); UnityRegisterDataAccess.RegisterUnityTypes(container, logger); UnityRegisterApi.RegisterUnityTypes(container); var osmDataService = container.Resolve<IOsmDataService>(); var fileSystemHelper = container.Resolve<IFileSystemHelper>(); var directory = fileSystemHelper.GetCurrentDirectory(); await osmDataService.Initialize(directory); await osmDataService.UpdateData(operations); } catch (Exception ex) { logger.Error("Failed updating OSM data with exception: " + ex); } }