From 06deb7a6b76d600bc9c960652417993b9e589ad5 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Wed, 29 Dec 2010 01:55:36 +0200 Subject: [PATCH] Refactored storage engine --- coding/streams_sink.hpp | 10 + data/liechtenstein.osm.bz2 | Bin 291766 -> 0 bytes geometry/cellid.hpp | 13 + geometry/geometry_tests/cellid_test.cpp | 10 + indexer/feature.hpp | 4 +- indexer/indexer_tool/feature_generator.cpp | 8 +- indexer/indexer_tool/indexer_tool.cpp | 11 +- indexer/indexer_tool/update_generator.cpp | 228 ++++---------- indexer/indexer_tool/update_generator.hpp | 2 +- qt/update_dialog.cpp | 260 +++++++++------- qt/update_dialog.hpp | 11 +- storage/country.cpp | 231 +++++++++----- storage/country.hpp | 88 +++--- storage/defines.hpp | 25 +- storage/simple_tree.hpp | 4 +- storage/storage.cpp | 344 +++++++-------------- storage/storage.hpp | 23 +- storage/storage.pro | 14 +- storage/storage_tests/country_test.cpp | 46 +-- storage/storage_tests/simple_tree_test.cpp | 54 ++-- storage/storage_tests/storage_tests.pro | 5 +- 21 files changed, 629 insertions(+), 762 deletions(-) delete mode 100644 data/liechtenstein.osm.bz2 diff --git a/coding/streams_sink.hpp b/coding/streams_sink.hpp index b27197a992..3e44c870c4 100644 --- a/coding/streams_sink.hpp +++ b/coding/streams_sink.hpp @@ -29,6 +29,11 @@ namespace stream t = ReadPrimitiveFromSource(m_reader); return (*this); } + SinkReaderStream & operator >> (uint16_t & t) + { + t = ReadPrimitiveFromSource(m_reader); + return (*this); + } SinkReaderStream & operator >> (int64_t & t) { t = ReadPrimitiveFromSource(m_reader); @@ -39,6 +44,11 @@ namespace stream t = ReadPrimitiveFromSource(m_reader); return (*this); } + SinkReaderStream & operator >> (int16_t & t) + { + t = ReadPrimitiveFromSource(m_reader); + return (*this); + } SinkReaderStream & operator >> (bool & t) { diff --git a/data/liechtenstein.osm.bz2 b/data/liechtenstein.osm.bz2 deleted file mode 100644 index b4ac85807e346d515814b90a74ce6912c251ecff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291766 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

R^}BFN*3%WS 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

W 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

vK8lJN5f-`Lb9E=4 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 z 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 diff --git a/geometry/cellid.hpp b/geometry/cellid.hpp index d58412d1cd..7d4fb0f736 100644 --- a/geometry/cellid.hpp +++ b/geometry/cellid.hpp @@ -54,6 +54,19 @@ public: return CellId(bits, level); } + static bool IsCellId(string const & s) + { + size_t const length = s.size(); + if (length == 0) + return false; + for (size_t i = 0; i < length; ++i) + { + if (s[i] < '0' || s[i] > '3') + return false; + } + return true; + } + static CellId FromString(string const & s) { int64_t bits = 0; diff --git a/geometry/geometry_tests/cellid_test.cpp b/geometry/geometry_tests/cellid_test.cpp index 7580d8d9b2..6753121c90 100644 --- a/geometry/geometry_tests/cellid_test.cpp +++ b/geometry/geometry_tests/cellid_test.cpp @@ -175,3 +175,13 @@ UNIT_TEST(CellID_LessStackOrder) TEST_EQUAL(tst, exp, ()); } while (next_permutation(e.begin(), e.end())); } + +UNIT_TEST(CellID_IsStringValid) +{ + typedef m2::CellId<9> TId; + TEST( TId::IsCellId("0123132"), () ); + TEST( !TId::IsCellId(""), () ); + TEST( !TId::IsCellId("-1332"), () ); + TEST( !TId::IsCellId("023."), () ); + TEST( !TId::IsCellId("121832"), () ); +} diff --git a/indexer/feature.hpp b/indexer/feature.hpp index 2de8e75e19..951151b25b 100644 --- a/indexer/feature.hpp +++ b/indexer/feature.hpp @@ -2,6 +2,8 @@ #include "cell_id.hpp" +#include "../storage/defines.hpp" // just for file extensions + #include "../geometry/point2d.hpp" #include "../geometry/rect2d.hpp" @@ -340,7 +342,7 @@ public: FileReader m_trgF; read_source_t(string const & name) - : m_gF(name + ".geom"), m_trgF(name + ".trg") + : m_gF(name + GEOMETRY_FILE_EXTENSION), m_trgF(name + TRIANGLES_FILE_EXTENSION) { } }; diff --git a/indexer/indexer_tool/feature_generator.cpp b/indexer/indexer_tool/feature_generator.cpp index 4d5b1db53c..ff26d4246f 100644 --- a/indexer/indexer_tool/feature_generator.cpp +++ b/indexer/indexer_tool/feature_generator.cpp @@ -3,6 +3,8 @@ #include "data_cache_file.hpp" #include "osm_element.hpp" +#include "../../storage/defines.hpp" + #include "../../indexer/data_header.hpp" #include "../../indexer/osm_decl.hpp" #include "../../indexer/data_header_reader.hpp" @@ -140,7 +142,7 @@ void FeaturesCollector::Init() } FeaturesCollector::FeaturesCollector(string const & fName) -: m_datFile(fName), m_geoFile(fName + ".geom"), m_trgFile(fName + ".trg") +: m_datFile(fName), m_geoFile(fName + GEOMETRY_FILE_EXTENSION), m_trgFile(fName + TRIANGLES_FILE_EXTENSION) { Init(); } @@ -148,8 +150,8 @@ FeaturesCollector::FeaturesCollector(string const & fName) FeaturesCollector::FeaturesCollector(string const & bucket, FeaturesCollector::InitDataType const & prefix) : m_datFile(prefix.first + bucket + prefix.second), - m_geoFile(prefix.first + bucket + prefix.second + ".geom"), - m_trgFile(prefix.first + bucket + prefix.second + ".trg") + m_geoFile(prefix.first + bucket + prefix.second + GEOMETRY_FILE_EXTENSION), + m_trgFile(prefix.first + bucket + prefix.second + TRIANGLES_FILE_EXTENSION) { Init(); } diff --git a/indexer/indexer_tool/indexer_tool.cpp b/indexer/indexer_tool/indexer_tool.cpp index 4f63d0e94c..c4d7ee0b02 100644 --- a/indexer/indexer_tool/indexer_tool.cpp +++ b/indexer/indexer_tool/indexer_tool.cpp @@ -27,8 +27,8 @@ #include "../../base/start_mem_debug.hpp" DEFINE_bool(version, false, "Display version"); -DEFINE_string(countries_path, "", - "If specified, update.maps file will be generated from cells in the path"); +DEFINE_bool(generate_update, false, + "If specified, update.maps file will be generated from cells in the data path"); DEFINE_bool(sort_features, false, "Sort features inside .dat for better cache-friendliness."); DEFINE_bool(generate_classif, false, "Generate classificator."); @@ -141,8 +141,7 @@ int main(int argc, char ** argv) if (FLAGS_generate_index) { LOG(LINFO, ("Generating index for", datFile)); - string const indexFile = storage::IndexFileForDatFile(datFile); - if (!indexer::BuildIndexFromDatFile(indexFile, datFile, + if (!indexer::BuildIndexFromDatFile(datFile + INDEX_FILE_EXTENSION, datFile, FLAGS_intermediate_data_path + FLAGS_output)) { LOG(LCRITICAL, ("Error generating index.")); @@ -151,10 +150,10 @@ int main(int argc, char ** argv) } // Create http update list for countries and corresponding files - if (FLAGS_countries_path.size()) + if (FLAGS_generate_update) { LOG(LINFO, ("Creating maps.update file...")); - update::GenerateMapsList(path, FLAGS_countries_path, UPDATE_BASE_URL); + update::GenerateFilesList(path); } return 0; diff --git a/indexer/indexer_tool/update_generator.cpp b/indexer/indexer_tool/update_generator.cpp index 57051b52ee..f66b6802e0 100644 --- a/indexer/indexer_tool/update_generator.cpp +++ b/indexer/indexer_tool/update_generator.cpp @@ -2,6 +2,8 @@ #include "../../coding/file_writer.hpp" +#include "../../geometry/cellid.hpp" + #include "../../platform/platform.hpp" #include "../../storage/country.hpp" @@ -13,207 +15,81 @@ #include "../../std/target_os.hpp" #include "../../std/fstream.hpp" -#define GROUP_FILE_EXTENSION ".group" -#define REGION_FILE_EXTENSION ".regions" -#define CELLID_FILE_EXTENSION ".cells" - -#define PREFIX_CHAR '-' - -#ifdef OMIM_OS_WINDOWS_NATIVE - #define DIR_SEP '\\' -#else - #define DIR_SEP '/' -#endif - using namespace storage; namespace update { - typedef vector TCellIds; - typedef pair TCountryCells; - typedef vector TCountryCellsContainer; - - string ChopExtension(string const & nameWithExtension) + // we don't support files without name or without extension + bool SplitExtension(string const & file, string & name, string & ext) { - size_t dotPos = nameWithExtension.rfind('.'); - return nameWithExtension.substr(0, dotPos); - } - - string ChopPrefix(string const & nameWithPrefix) - { - size_t prefixPos = nameWithPrefix.rfind(PREFIX_CHAR); - if (prefixPos != string::npos && (prefixPos + 1) < nameWithPrefix.size()) - return nameWithPrefix.substr(prefixPos + 1, string::npos); - else - return nameWithPrefix; - } - - bool LoadCountryCells(string const & fullPath, TCellIds & outCells) - { - outCells.clear(); - ifstream file(fullPath.c_str()); - string cell; - while (file.good()) + // get extension + size_t const index = file.find_last_of('.'); + if (index == string::npos || (index + 1) == file.size() || index == 0 + || file == "." || file == "..") { - getline(file, cell); - if (cell.size()) - outCells.push_back(cell); - } - return !outCells.empty(); - } - - /// @param path where folders with groups reside (Africa, Asia etc.) - /// @return true if loaded correctly - bool ScanAndLoadCountryCells(string path, TCountryCellsContainer & outCells) - { - if (path.empty()) + name = file; + ext.clear(); return false; - // fix missing slash - if (path[path.size() - 1] != DIR_SEP) - path.push_back(DIR_SEP); - - outCells.clear(); + } + ext = file.substr(index); + name = file.substr(0, index); + return true; + } + bool GenerateFilesList(string const & dataDir) + { Platform & platform = GetPlatform(); - // get all groups - Platform::FilesList groups; - platform.GetFilesInDir(path, "*" GROUP_FILE_EXTENSION, groups); - for (Platform::FilesList::iterator itGroup = groups.begin(); itGroup != groups.end(); ++itGroup) + + Platform::FilesList files; + if (!platform.GetFilesInDir(dataDir, "*", files)) { - // get countries with regions - Platform::FilesList countries; - platform.GetFilesInDir(path + DIR_SEP + *itGroup, "*" REGION_FILE_EXTENSION, countries); - for (Platform::FilesList::iterator itCountry = countries.begin(); itCountry != countries.end(); ++itCountry) - { // get all regions - Platform::FilesList regions; - platform.GetFilesInDir(path + DIR_SEP + *itGroup + DIR_SEP + *itCountry, - "*" CELLID_FILE_EXTENSION, regions); - for (Platform::FilesList::iterator itRegion = regions.begin(); itRegion != regions.end(); ++itRegion) + LOG(LERROR, ("Can't find any files at path", dataDir)); + return false; + } + + TDataFiles cellFiles; + TCommonFiles commonFiles; + string name, ext; + int32_t level = -1; + uint16_t bits; + for (Platform::FilesList::iterator it = files.begin(); it != files.end(); ++it) + { + uint64_t size = 0; + CHECK( platform.GetFileSize(dataDir + *it, size), ()); + CHECK_EQUAL( size, static_cast(size), ("We don't support files > 4gb", *it)); + if (SplitExtension(*it, name, ext)) + { + // is it data cell file? + if (ext == DATA_FILE_EXTENSION) { - TCellIds cells; - string fullPath = path + *itGroup + DIR_SEP + *itCountry + DIR_SEP + *itRegion; - if (LoadCountryCells(fullPath, cells)) + if (CountryCellId::IsCellId(name)) { - outCells.push_back(TCountryCells(Country(ChopExtension(*itGroup), - ChopExtension(*itCountry), - ChopExtension(*itRegion)), - cells)); + CountryCellId cellId = CountryCellId::FromString(name); + pair bl = cellId.ToBitsAndLevel(); + if (level < 0) + level = bl.second; + CHECK_EQUAL( level, bl.second, ("Data files with different level?", *it) ); + bits = static_cast(bl.first); + CHECK_EQUAL( name, CountryCellId::FromBitsAndLevel(bits, level).ToString(), (name)); + cellFiles.push_back(make_pair(bits, static_cast(size))); } else { - LOG(LERROR, ("Can't load cells from file", fullPath)); + commonFiles.push_back(make_pair(*it, static_cast(size))); } } - } - - // get countries without regions - countries.clear(); - platform.GetFilesInDir(path + DIR_SEP + *itGroup, "*" CELLID_FILE_EXTENSION, countries); - for (Platform::FilesList::iterator itCountry = countries.begin(); itCountry != countries.end(); ++itCountry) - { - TCellIds cells; - string fullPath = path + *itGroup + DIR_SEP + *itCountry; - if (LoadCountryCells(fullPath, cells)) - { - outCells.push_back(TCountryCells(Country(ChopExtension(*itGroup), - ChopExtension(*itCountry), - ""), - cells)); - } else { - LOG(LERROR, ("Can't load cells from file", fullPath)); + commonFiles.push_back(make_pair(*it, static_cast(size))); } } } - return !outCells.empty(); - } - class CellChecker - { - string const m_path, m_file, m_url; + SaveTiles(dataDir + UPDATE_CHECK_FILE, level, cellFiles, commonFiles); - public: - CellChecker(string const & dataPath, string const & dataFileName, string const & baseUrl) - : m_path(dataPath), m_file(dataFileName), m_url(baseUrl) {} - void operator()(TCountryCells & cells) const - { - string const fileCell = ChopPrefix(ChopExtension(m_file)); - for (TCellIds::iterator it = cells.second.begin(); it != cells.second.end(); ++it) - { - // check if country contains tile with this cell - if (fileCell.find(*it) == 0 || it->find(fileCell) == 0) - { - // data file - uint64_t fileSize = 0; - CHECK(GetPlatform().GetFileSize(m_path + m_file, fileSize), ("Non-existing file?")); - cells.first.AddUrl(TUrl(m_url + m_file, fileSize)); - // index file - string const indexFileName = IndexFileForDatFile(m_file); - CHECK(GetPlatform().GetFileSize(m_path + indexFileName, fileSize), ("Non-existing file?")); - cells.first.AddUrl(TUrl(m_url + indexFileName, fileSize)); - break; - } - } - } - }; + LOG_SHORT(LINFO, ("Created update file with", cellFiles.size(), "data files and", + commonFiles.size(), "other files")); - class CountryAdder - { - TCountriesContainer & m_countries; - - public: - CountryAdder(TCountriesContainer & outCountries) - : m_countries(outCountries) {} - void operator()(TCountryCells const & cells) - { - if (cells.first.Urls().size()) - m_countries[cells.first.Group()].push_back(cells.first); - } - }; - - class GroupSorter - { - public: - void operator()(TCountriesContainer::value_type & toSort) - { - sort(toSort.second.begin(), toSort.second.end()); - } - }; - - bool GenerateMapsList(string const & pathToMaps, string const & pathToCountries, string const & baseUrl) - { - Platform & platform = GetPlatform(); - - TCountryCellsContainer countriesCells; - if (!ScanAndLoadCountryCells(pathToCountries, countriesCells)) - { - LOG(LERROR, ("Can't load countries' cells from path", pathToCountries)); - return false; - } - - Platform::FilesList datFiles; - if (!platform.GetFilesInDir(pathToMaps, "*" DATA_FILE_EXTENSION, datFiles)) - { - LOG(LERROR, ("Can't find any data files at path", pathToMaps)); - return false; - } - - // update each country's urls corresponding to existing data files - for (Platform::FilesList::iterator it = datFiles.begin(); it != datFiles.end(); ++it) - { - for_each(countriesCells.begin(), countriesCells.end(), CellChecker(pathToMaps, *it, baseUrl)); - } - - // save update list - TCountriesContainer countries; - for_each(countriesCells.begin(), countriesCells.end(), CountryAdder(countries)); - - // sort groups - for_each(countries.begin(), countries.end(), GroupSorter()); - - FileWriter writer(pathToMaps + UPDATE_CHECK_FILE); - SaveCountries(countries, writer); return true; } } // namespace update diff --git a/indexer/indexer_tool/update_generator.hpp b/indexer/indexer_tool/update_generator.hpp index 5ae5a590e6..bc7a0f8c63 100644 --- a/indexer/indexer_tool/update_generator.hpp +++ b/indexer/indexer_tool/update_generator.hpp @@ -4,5 +4,5 @@ namespace update { - bool GenerateMapsList(string const & pathToMaps, string const & pathToCountries, string const & baseUrl); + bool GenerateFilesList(string const & dataDir); } // namespace update diff --git a/qt/update_dialog.cpp b/qt/update_dialog.cpp index 70ec013699..f2702b5ec7 100644 --- a/qt/update_dialog.cpp +++ b/qt/update_dialog.cpp @@ -1,10 +1,12 @@ #include "update_dialog.hpp" +#include "../base/assert.hpp" + #include #include #include -#include +#include #include #include #include @@ -14,9 +16,9 @@ using namespace storage; enum { // KItemIndexFlag = 0, - KItemIndexCountry, - KItemIndexContinent, - KItemIndexSize, + KColumnIndexCountry, + KColumnIndexStatus, + KColumnIndexSize, KNumberOfColumns }; @@ -32,12 +34,12 @@ namespace qt // Helpers /////////////////////////////////////////////////////////////////////////////// /// adds custom sorting for "Size" column - class QTableWidgetItemWithCustomSorting : public QTableWidgetItem + class QTreeWidgetItemWithCustomSorting : public QTreeWidgetItem { public: - virtual bool operator<(QTableWidgetItem const & other) const + virtual bool operator<(QTreeWidgetItem const & other) const { - return data(Qt::UserRole).toULongLong() < other.data(Qt::UserRole).toULongLong(); + return data(KColumnIndexSize, Qt::UserRole).toULongLong() < other.data(KColumnIndexSize, Qt::UserRole).toULongLong(); } }; //////////////////////////////////////////////////////////////////////////////// @@ -45,28 +47,25 @@ namespace qt UpdateDialog::UpdateDialog(QWidget * parent, Storage & storage) : QDialog(parent), m_storage(storage) { - // table with countries list - m_table = new QTableWidget(0, KNumberOfColumns, this); - m_table->setSelectionBehavior(QAbstractItemView::SelectRows); - QStringList labels; - labels << tr("Country") << tr("Continent") << tr("Size"); - m_table->setHorizontalHeaderLabels(labels); - m_table->horizontalHeader()->setResizeMode(KItemIndexCountry, QHeaderView::Stretch); - m_table->verticalHeader()->hide(); - m_table->setShowGrid(false); - connect(m_table, SIGNAL(cellClicked(int, int)), this, SLOT(OnTableClick(int, int))); + m_tree = new QTreeWidget(this); + m_tree->setColumnCount(KNumberOfColumns); + QStringList columnLabels; + columnLabels << tr("Country") << tr("Status") << tr("Size"); + m_tree->setHeaderLabels(columnLabels); + + connect(m_tree, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(OnItemClick(QTreeWidgetItem *, int))); QVBoxLayout * layout = new QVBoxLayout(); - layout->addWidget(m_table); + layout->addWidget(m_tree); setLayout(layout); - setWindowTitle(tr("Countries")); - resize(500, 300); + setWindowTitle(tr("Geographical Regions")); + resize(600, 500); // we want to receive all download progress and result events m_storage.Subscribe(boost::bind(&UpdateDialog::OnCountryChanged, this, _1), boost::bind(&UpdateDialog::OnCountryDownloadProgress, this, _1, _2)); - FillTable(); + FillTree(); } UpdateDialog::~UpdateDialog() @@ -76,137 +75,172 @@ namespace qt } /// when user clicks on any map row in the table - void UpdateDialog::OnTableClick(int row, int /*column*/) + void UpdateDialog::OnItemClick(QTreeWidgetItem * item, int /*column*/) { - uint group = m_table->item(row, KItemIndexContinent)->data(Qt::UserRole).toUInt(); - uint country = m_table->item(row, KItemIndexCountry)->data(Qt::UserRole).toUInt(); + // calculate index of clicked item + QList treeIndex; + { + QTreeWidgetItem * parent = item; + while (parent) + { + treeIndex.insert(0, parent->data(KColumnIndexCountry, Qt::UserRole).toInt()); + parent = parent->parent(); + } + while (treeIndex.size() < 3) + treeIndex.append(-1); + } - switch (m_storage.CountryStatus(TIndex(group, country))) + TIndex const countryIndex(treeIndex[0], treeIndex[1], treeIndex[2]); + switch (m_storage.CountryStatus(countryIndex)) { case EOnDisk: { // aha.. map is already downloaded, so ask user about deleting! QMessageBox ask(this); - ask.setText(tr("Do you want to delete %1?").arg(m_table->item(row, KItemIndexCountry)->text())); + ask.setText(tr("Do you want to delete %1?").arg(item->text(KColumnIndexCountry))); ask.setStandardButtons(QMessageBox::Yes | QMessageBox::No); ask.setDefaultButton(QMessageBox::No); if (ask.exec() == QMessageBox::Yes) - m_storage.DeleteCountry(TIndex(group, country)); + m_storage.DeleteCountry(countryIndex); } break; case ENotDownloaded: case EDownloadFailed: - m_storage.DownloadCountry(TIndex(group, country)); + m_storage.DownloadCountry(countryIndex); break; case EInQueue: case EDownloading: - m_storage.DeleteCountry(TIndex(group, country)); + m_storage.DeleteCountry(countryIndex); break; } } - int GetRowByGroupAndCountryIndex(QTableWidget & table, TIndex const & index) + /// @return can be null if index is invalid + QTreeWidgetItem * GetTreeItemByIndex(QTreeWidget & tree, TIndex const & index) { - for (int i = 0; i < table.rowCount(); ++i) + QTreeWidgetItem * item = 0; + if (index.m_group >= 0 && index.m_group < tree.topLevelItemCount()) { - if (table.item(i, KItemIndexContinent)->data(Qt::UserRole).toUInt() == index.first - && table.item(i, KItemIndexCountry)->data(Qt::UserRole).toUInt() == index.second) + item = tree.topLevelItem(index.m_group); + ASSERT_EQUAL( item->data(KColumnIndexCountry, Qt::UserRole).toInt(), index.m_group, () ); + if (index.m_country >= 0 && index.m_country < item->childCount()) { - return i; + item = item->child(index.m_country); + ASSERT_EQUAL( item->data(KColumnIndexCountry, Qt::UserRole).toInt(), index.m_country, () ); + if (index.m_region >= 0 && index.m_region < item->childCount()) + { + item = item->child(index.m_region); + ASSERT_EQUAL( item->data(KColumnIndexCountry, Qt::UserRole).toInt(), index.m_region, () ); + } } } - // not found - return -1; + return item; } /// Changes row's text color - void SetRowColor(QTableWidget & table, int row, QColor const & color) + void SetRowColor(QTreeWidgetItem & item, QColor const & color) { - for (int column = 0; column < table.columnCount(); ++column) - { - QTableWidgetItem * item = table.item(row, column); - if (item) - item->setTextColor(color); - } + for (int column = 0; column < item.columnCount(); ++column) + item.setTextColor(column, color); } void UpdateDialog::UpdateRowWithCountryInfo(TIndex const & index) { - int row = GetRowByGroupAndCountryIndex(*m_table, index); - if (row == -1) + QTreeWidgetItem * item = GetTreeItemByIndex(*m_tree, index); + if (item) { - ASSERT(false, ("Invalid country index")); - return; - } + QColor rowColor; + QString statusString; + switch (m_storage.CountryStatus(index)) + { + case ENotDownloaded: + statusString = tr("Click to download"); + rowColor = COLOR_NOTDOWNLOADED; + break; + case EOnDisk: + statusString = tr("Installed (click to delete)"); + rowColor = COLOR_ONDISK; + break; + case EDownloadFailed: + statusString = tr("Download has failed :("); + rowColor = COLOR_DOWNLOADFAILED; + break; + case EDownloading: + statusString = tr("Downloading..."); + rowColor = COLOR_INPROGRESS; + break; + case EInQueue: + statusString = tr("Marked for download"); + rowColor = COLOR_INQUEUE; + break; + } + item->setText(KColumnIndexStatus, statusString); - QColor rowColor; - TStatus status = m_storage.CountryStatus(index); - switch (status) - { - case ENotDownloaded: rowColor = COLOR_NOTDOWNLOADED; break; - case EOnDisk: rowColor = COLOR_ONDISK; break; - case EDownloadFailed: rowColor = COLOR_DOWNLOADFAILED; break; - case EDownloading: rowColor = COLOR_INPROGRESS; break; - case EInQueue: rowColor = COLOR_INQUEUE; break; + // update size column values +// QTableWidgetItem * sizeItem = m_table->item(row, KColumnIndexSize); +// if (status == EInQueue) +// { +// sizeItem->setText("In Queue"); +// } +// else if (status != EDownloading) +// { +// uint64_t const size = m_storage.CountrySizeInBytes(index); +// if (size > 1000 * 1000) +// sizeItem->setText(QObject::tr("%1 MB").arg(uint(size / (1000 * 1000)))); +// else +// sizeItem->setText(QObject::tr("%1 kB").arg(uint((size + 999) / 1000))); +// // needed for column sorting +// sizeItem->setData(Qt::UserRole, QVariant(qint64(size))); +// } + SetRowColor(*item, rowColor); } - - // update size column values - QTableWidgetItem * sizeItem = m_table->item(row, KItemIndexSize); - if (status == EInQueue) - { - sizeItem->setText("In Queue"); - } - else if (status != EDownloading) - { - uint64_t const size = m_storage.CountrySizeInBytes(index); - if (size > 1000 * 1000) - sizeItem->setText(QObject::tr("%1 MB").arg(uint(size / (1000 * 1000)))); - else - sizeItem->setText(QObject::tr("%1 kB").arg(uint((size + 999) / 1000))); - // needed for column sorting - sizeItem->setData(Qt::UserRole, QVariant(qint64(size))); - } - SetRowColor(*m_table, row, rowColor); } - void UpdateDialog::FillTable() + void UpdateDialog::FillTree() { - m_table->setSortingEnabled(false); - m_table->clear(); + m_tree->setSortingEnabled(false); + m_tree->clear(); - for (size_t groupIndex = 0; groupIndex < m_storage.GroupsCount(); ++groupIndex) + for (int group = 0; group < m_storage.CountriesCount(TIndex()); ++group) { - for (size_t countryIndex = 0; countryIndex < m_storage.CountriesCountInGroup(groupIndex); ++countryIndex) + TIndex const grIndex(group); + QStringList groupText(m_storage.CountryName(grIndex).c_str()); + QTreeWidgetItem * groupItem = new QTreeWidgetItem(groupText); + groupItem->setData(KColumnIndexCountry, Qt::UserRole, QVariant(group)); + m_tree->addTopLevelItem(groupItem); + // set color by status and update country size + UpdateRowWithCountryInfo(grIndex); + + for (int country = 0; country < m_storage.CountriesCount(grIndex); ++country) { - int row = m_table->rowCount(); - m_table->insertRow(row); - - // Country column - QTableWidgetItem * countryItem = new QTableWidgetItem(m_storage.CountryName(TIndex(groupIndex, countryIndex)).c_str()); - countryItem->setFlags(countryItem->flags() ^ Qt::ItemIsEditable); - // acts as a key for Storage when user clicks this row - countryItem->setData(Qt::UserRole, QVariant(uint(countryIndex))); - m_table->setItem(row, KItemIndexCountry, countryItem); - - // Continent column - QTableWidgetItem * continentItem = new QTableWidgetItem(m_storage.GroupName(groupIndex).c_str()); - continentItem->setFlags(continentItem->flags() ^ Qt::ItemIsEditable); - // acts as a key for Storage when user clicks this row - continentItem->setData(Qt::UserRole, QVariant(uint(groupIndex))); - m_table->setItem(row, KItemIndexContinent, continentItem); - - // Size column, actual size will be set later - QTableWidgetItemWithCustomSorting * sizeItem = new QTableWidgetItemWithCustomSorting; - sizeItem->setFlags(sizeItem->flags() ^ Qt::ItemIsEditable); - m_table->setItem(row, KItemIndexSize, sizeItem); - + TIndex cIndex(group, country); + QStringList countryText(m_storage.CountryName(cIndex).c_str()); + QTreeWidgetItem * countryItem = new QTreeWidgetItem(groupItem, countryText); + countryItem->setData(KColumnIndexCountry, Qt::UserRole, QVariant(country)); // set color by status and update country size - UpdateRowWithCountryInfo(TIndex(groupIndex, countryIndex)); + UpdateRowWithCountryInfo(cIndex); + + for (int region = 0; region < m_storage.CountriesCount(cIndex); ++region) + { + TIndex const rIndex(group, country, region); + QStringList regionText(m_storage.CountryName(rIndex).c_str()); + QTreeWidgetItem * regionItem = new QTreeWidgetItem(countryItem, regionText); + regionItem->setData(KColumnIndexCountry, Qt::UserRole, QVariant(region)); + // set color by status and update country size + UpdateRowWithCountryInfo(rIndex); + } } } - m_table->setSortingEnabled(true); - m_table->sortByColumn(KItemIndexCountry); +// // Size column, actual size will be set later +// QTableWidgetItemWithCustomSorting * sizeItem = new QTableWidgetItemWithCustomSorting; +// sizeItem->setFlags(sizeItem->flags() ^ Qt::ItemIsEditable); +// m_table->setItem(row, KItemIndexSize, sizeItem); + + m_tree->sortByColumn(KColumnIndexCountry, Qt::AscendingOrder); + m_tree->setSortingEnabled(true); + m_tree->header()->setResizeMode(KColumnIndexCountry, QHeaderView::ResizeToContents); + m_tree->header()->setResizeMode(KColumnIndexStatus, QHeaderView::ResizeToContents); } void UpdateDialog::OnCountryChanged(TIndex const & index) @@ -214,18 +248,12 @@ namespace qt UpdateRowWithCountryInfo(index); } - void UpdateDialog::OnCountryDownloadProgress(TIndex const & index, TDownloadProgress const & progress) + void UpdateDialog::OnCountryDownloadProgress(TIndex const & index, + TDownloadProgress const & progress) { - int row = GetRowByGroupAndCountryIndex(*m_table, index); - if (row != -1) - { - m_table->item(row, KItemIndexSize)->setText( - QString("%1%").arg(progress.first * 100 / progress.second)); - } - else - { - ASSERT(false, ()); - } + QTreeWidgetItem * item = GetTreeItemByIndex(*m_tree, index); + if (item) + item->setText(KColumnIndexSize, QString("%1%").arg(progress.first * 100 / progress.second)); } } diff --git a/qt/update_dialog.hpp b/qt/update_dialog.hpp index dfdc2244a5..7dcf2bff85 100644 --- a/qt/update_dialog.hpp +++ b/qt/update_dialog.hpp @@ -4,7 +4,8 @@ #include -class QTableWidget; +class QTreeWidget; +class QTreeWidgetItem; class QLabel; namespace qt @@ -17,7 +18,7 @@ namespace qt UpdateDialog(QWidget * parent, storage::Storage & storage); ~UpdateDialog(); - /// @name Called from storage to notify GUI + /// @name Called from downloader to notify GUI //@{ void OnCountryChanged(storage::TIndex const & index); void OnCountryDownloadProgress(storage::TIndex const & index, @@ -25,14 +26,14 @@ namespace qt //@} private slots: - void OnTableClick(int row, int column); + void OnItemClick(QTreeWidgetItem * item, int column); private: - void FillTable(); + void FillTree(); void UpdateRowWithCountryInfo(storage::TIndex const & index); private: - QTableWidget * m_table; + QTreeWidget * m_tree; storage::Storage & m_storage; }; } // namespace qt diff --git a/storage/country.cpp b/storage/country.cpp index f63f1fef11..8762cd9126 100644 --- a/storage/country.cpp +++ b/storage/country.cpp @@ -2,6 +2,10 @@ #include "../base/logging.hpp" + +#include "../base/std_serialization.hpp" + +#include "../coding/streams_sink.hpp" #include "../coding/file_reader.hpp" #include "../coding/file_writer.hpp" @@ -10,135 +14,194 @@ #include "../indexer/data_header.hpp" #include "../indexer/data_header_reader.hpp" +#include "../std/fstream.hpp" + namespace storage { - string FileNameFromUrl(string const & url) - { - size_t lastSlashPos = url.find_last_of('/'); - if (lastSlashPos != string::npos && (lastSlashPos + 1) < url.size()) - return url.substr(lastSlashPos + 1); - ASSERT( false, ("Url should be valid") ); - return string(); - } - - bool IsFileSizeEqualTo(string const & fileName, uint64_t size) - { - uint64_t diskSize = 0; - if (GetPlatform().GetFileSize(GetPlatform().WritablePathForFile(fileName), diskSize) - && diskSize == size) - return true; - else - return false; - } - /// Simple check - compare url size with real file size on disk - bool IsFileDownloaded(TUrl const & url) + bool IsTileDownloaded(TTile const & tile) { - string fileName = FileNameFromUrl(url.first); - return IsFileSizeEqualTo(fileName, url.second); + uint64_t size = 0; + if (!GetPlatform().GetFileSize(GetPlatform().WritablePathForFile(tile.first), size)) + return false; + return true;//tile.second == size; } struct CountryBoundsCalculator { m2::RectD & m_bounds; CountryBoundsCalculator(m2::RectD & bounds) : m_bounds(bounds) {} - void operator()(TUrl const & url) + void operator()(TTile const & tile) { - string fileName = FileNameFromUrl(url.first); - if (IsFileSizeEqualTo(fileName, url.second) && IsDatFile(fileName)) - { - feature::DataHeader header; - if (feature::ReadDataHeader(GetPlatform().WritablePathForFile(fileName), header)) - m_bounds.Add(header.Bounds()); - } + static feature::DataHeader header; + if (feature::ReadDataHeader(GetPlatform().WritablePathForFile(tile.first), header)) + m_bounds.Add(header.Bounds()); } }; m2::RectD Country::Bounds() const { m2::RectD bounds; - std::for_each(m_urls.begin(), m_urls.end(), CountryBoundsCalculator(bounds)); + std::for_each(m_tiles.begin(), m_tiles.end(), CountryBoundsCalculator(bounds)); return bounds; } - struct LocalSizeCalculator + struct SizeCalculator { - uint64_t & m_size; - LocalSizeCalculator(uint64_t & size) : m_size(size) {} - void operator()(TUrl const & url) + uint64_t & m_localSize; + uint64_t & m_remoteSize; + SizeCalculator(uint64_t & localSize, uint64_t & remoteSize) + : m_localSize(localSize), m_remoteSize(remoteSize) {} + void operator()(TTile const & tile) { - if (IsFileDownloaded(url)) - m_size += url.second; + if (IsTileDownloaded(tile)) + m_localSize += tile.second; + else + m_remoteSize += tile.second; } }; - uint64_t Country::LocalSize() const + TLocalAndRemoteSize Country::Size() const { - uint64_t size = 0; - std::for_each(m_urls.begin(), m_urls.end(), LocalSizeCalculator(size)); - return size; + uint64_t localSize = 0; + uint64_t remoteSize = 0; + std::for_each(m_tiles.begin(), m_tiles.end(), SizeCalculator(localSize, remoteSize)); + return TLocalAndRemoteSize(localSize, remoteSize); } - struct RemoteSizeCalculator + void Country::AddTile(TTile const & tile) { - uint64_t & m_size; - RemoteSizeCalculator(uint64_t & size) : m_size(size) {} - void operator()(TUrl const & url) - { - if (!IsFileDownloaded(url)) - m_size += url.second; - } - }; - - uint64_t Country::RemoteSize() const - { - uint64_t size = 0; - std::for_each(m_urls.begin(), m_urls.end(), RemoteSizeCalculator(size)); - return size; - } - - void Country::AddUrl(TUrl const & url) - { - m_urls.push_back(url); + m_tiles.push_back(tile); } //////////////////////////////////////////////////////////////////////// - template TArchive & operator << (TArchive & ar, storage::Country const & country) +// template TArchive & operator << (TArchive & ar, storage::Country const & country) +// { +// ar << country.m_name; +// ar << country.m_tiles; +// return ar; +// } + + inline bool IsCellId(string const & cellId) { - ar << country.m_group; - ar << country.m_country; - ar << country.m_region; - ar << country.m_urls; - return ar; + size_t const size = cellId.size(); + if (size == 0) + return false; + for (size_t i = 0; i < size; ++i) + { + if (cellId[i] < '0' || cellId[i] > '3') + return false; + } + return true; } - bool LoadCountries(TCountriesContainer & countries, string const & updateFile) + bool LoadCountries(string const & countriesFile, TTilesContainer const & sortedTiles, + TCountriesContainer & countries) { - countries.clear(); + countries.Clear(); + ifstream stream(countriesFile.c_str()); + std::string line; + Country * currentCountry = &countries.Value(); + while (stream.good()) + { + std::getline(stream, line); + if (line.empty()) + continue; + + // calculate spaces - depth inside the tree + int spaces = 0; + for (size_t i = 0; i < line.size(); ++i) + { + if (line[i] == ' ') + ++spaces; + else + break; + } + switch (spaces) + { + case 0: // this is value for current tree node + { + TTilesContainer::const_iterator const first = sortedTiles.begin(); + TTilesContainer::const_iterator const last = sortedTiles.end(); + TTilesContainer::const_iterator found = lower_bound(first, last, TTile(line, 0)); + // @TODO current implementation supports only cellId level 8 and 7 + if (!(found != last && !(line < found->first)) && IsCellId(line)) + { + line.resize(line.size() - 1); + found = lower_bound(first, last, TTile(line, 0)); + } + + if (found != last && !(line < found->first)) + currentCountry->AddTile(*found); + } + break; + case 1: // country group + case 2: // country name + case 3: // region + currentCountry = &countries.AddAtDepth(spaces - 1, Country(line.substr(spaces))); + break; + default: + return false; + } + } + return true; + } + + void SaveTiles(string const & file, int32_t level, TDataFiles const & cellFiles, TCommonFiles const & commonFiles) + { + FileWriter writer(file); + stream::SinkWriterStream wStream(writer); + wStream << MAPS_MAJOR_VERSION_BINARY_FORMAT; + wStream << level; + wStream << cellFiles; + wStream << commonFiles; + } + + bool LoadTiles(TTilesContainer & tiles, string const & tilesFile) + { + tiles.clear(); + try { - FileReader file(updateFile.c_str()); - ReaderSource source(file); - stream::SinkReaderStream > rStream(source); - uint32_t version; - rStream >> version; + FileReader fileReader(tilesFile); + ReaderSource source(fileReader); + stream::SinkReaderStream > stream(source); + + TDataFiles dataFiles; + TCommonFiles commonFiles; + + uint32_t version = 0; + int32_t level = -1; + stream >> version; if (version > MAPS_MAJOR_VERSION_BINARY_FORMAT) return false; - rStream >> countries; - return true; + stream >> level; + stream >> dataFiles; + stream >> commonFiles; + + tiles.reserve(dataFiles.size() + commonFiles.size()); + + for (TDataFiles::iterator it = dataFiles.begin(); it != dataFiles.end(); ++it) + tiles.push_back(TTile(CountryCellId::FromBitsAndLevel(it->first, level).ToString(), it->second)); + for (TCommonFiles::iterator it = commonFiles.begin(); it != commonFiles.end(); ++it) + tiles.push_back(TTile(it->first, it->second)); + + sort(tiles.begin(), tiles.end()); } catch (RootException const & e) { - LOG(LERROR, ("LoadCountries exception", e.what())); + LOG(LWARNING, ("Can't read tiles file", e.what())); + return false; } - return false; + + return true; } - void SaveCountries(TCountriesContainer const & countries, Writer & writer) - { - stream::SinkWriterStream wStream(writer); - wStream << MAPS_MAJOR_VERSION_BINARY_FORMAT; - wStream << countries; - } +// void SaveCountries(TCountriesContainer const & countries, Writer & writer) +// { +// stream::SinkWriterStream wStream(writer); +// wStream << MAPS_MAJOR_VERSION_BINARY_FORMAT; +// wStream << countries; +// } } diff --git a/storage/country.hpp b/storage/country.hpp index 85fcf3dffe..9da9a99c7e 100644 --- a/storage/country.hpp +++ b/storage/country.hpp @@ -1,12 +1,10 @@ #pragma once #include "defines.hpp" - -#include "../base/std_serialization.hpp" - -#include "../coding/streams_sink.hpp" +#include "simple_tree.hpp" #include "../geometry/rect2d.hpp" +#include "../geometry/cellid.hpp" #include "../std/string.hpp" #include "../std/vector.hpp" @@ -16,70 +14,64 @@ class Writer; namespace storage { - typedef pair TUrl; - typedef vector TUrlContainer; + /// holds file name for tile and it's total size + typedef pair TTile; + typedef vector TTilesContainer; + typedef pair TLocalAndRemoteSize; - /// helper function - string FileNameFromUrl(string const & url); - bool IsFileDownloaded(TUrl const & url); - bool IsDatFile(string const & fileName); + /// @name Intermediate containers for data transfer + //@{ + typedef vector > TDataFiles; + typedef vector > TCommonFiles; + typedef m2::CellId<9> CountryCellId; + //@} + + bool IsTileDownloaded(TTile const & tile); /// Serves as a proxy between GUI and downloaded files class Country { - template friend TArchive & operator << (TArchive & ar, storage::Country const & country); - template friend TArchive & operator >> (TArchive & ar, storage::Country & country); +// template friend TArchive & operator << (TArchive & ar, storage::Country const & country); +// template friend TArchive & operator >> (TArchive & ar, storage::Country & country); private: - /// Europe, Asia etc. - string m_group; - /// USA, Switzerland etc. - string m_country; - /// can be empty, Alaska, California etc. - string m_region; - /// stores squares with world pieces where this country resides - TUrlContainer m_urls; + /// Name in the coutry node tree + string m_name; + /// stores squares with world pieces which are part of the country + TTilesContainer m_tiles; public: Country() {} - Country(string const & group, string const & country, string const & region) - : m_group(group), m_country(country), m_region(region) {} + Country(string const & name) + : m_name(name) {} bool operator<(Country const & other) const { return Name() < other.Name(); } - bool operator==(Country const & other) const - { - return m_group == other.m_group && m_country == other.m_country && m_region == other.m_region - && m_urls == other.m_urls; - } - bool operator!=(Country const & other) const { return !(*this == other); } - void AddUrl(TUrl const & url); - TUrlContainer const & Urls() const { return m_urls; } + void AddTile(TTile const & tile); + TTilesContainer const & Tiles() const { return m_tiles; } - string const & Group() const { return m_group; } - string Name() const { return m_region.empty() ? m_country : m_country + " - " + m_region; } + string Name() const { return m_name; } /// @return bounds for downloaded parts of the country or empty rect m2::RectD Bounds() const; - /// Downloaded parts size - uint64_t LocalSize() const; - /// Not downloaded parts size - uint64_t RemoteSize() const; + TLocalAndRemoteSize Size() const; }; - template TArchive & operator >> (TArchive & ar, storage::Country & country) - { - ar >> country.m_group; - ar >> country.m_country; - ar >> country.m_region; - ar >> country.m_urls; - return ar; - } +// template TArchive & operator >> (TArchive & ar, storage::Country & country) +// { +// ar >> country.m_name; +// ar >> country.m_tiles; +// return ar; +// } - /// key is Country::Group() - typedef map > TCountriesContainer; + typedef SimpleTree TCountriesContainer; + /// @param tiles contains files and their sizes /// @return false if new application version should be downloaded - bool LoadCountries(TCountriesContainer & countries, string const & updateFile); - void SaveCountries(TCountriesContainer const & countries, Writer & writer); + bool LoadCountries(string const & countriesFile, TTilesContainer const & sortedTiles, + TCountriesContainer & countries); + void SaveTiles(string const & file, int32_t level, TDataFiles const & cellFiles, + TCommonFiles const & commonFiles); + bool LoadTiles(TTilesContainer & tiles, string const & tilesFile); +// void SaveCountries(TCountriesContainer const & countries, Writer & writer); } diff --git a/storage/defines.hpp b/storage/defines.hpp index 7b5701c300..78a224f012 100644 --- a/storage/defines.hpp +++ b/storage/defines.hpp @@ -5,29 +5,16 @@ #include "../std/string.hpp" /// Should be incremented when binary format changes -uint32_t const MAPS_MAJOR_VERSION_BINARY_FORMAT = 0; +uint32_t const MAPS_MAJOR_VERSION_BINARY_FORMAT = 1; #define DATA_FILE_EXTENSION ".dat" +#define GEOMETRY_FILE_EXTENSION ".geom" +#define TRIANGLES_FILE_EXTENSION ".trg" +#define INDEX_FILE_EXTENSION ".idx" -#define WORLD_DATA_FILE "world" DATA_FILE_EXTENSION +//#define WORLD_DATA_FILE "world" DATA_FILE_EXTENSION +#define COUNTRIES_FILE "countries.txt" #define UPDATE_CHECK_FILE "maps.update" #define UPDATE_BASE_URL "http://melnichek.ath.cx:34568/maps/" #define UPDATE_FULL_URL UPDATE_BASE_URL UPDATE_CHECK_FILE - -namespace storage -{ - inline bool IsDatFile(string const & fileName) - { - /// file name ends with data file extension - string const ext(DATA_FILE_EXTENSION); - return fileName.rfind(ext) == fileName.size() - ext.size(); - } - - inline string IndexFileForDatFile(string const & fileName) - { - ASSERT(IsDatFile(fileName), ()); - static char const * INDEX_FILE_EXTENSION = ".idx"; - return fileName + INDEX_FILE_EXTENSION; - } -} diff --git a/storage/simple_tree.hpp b/storage/simple_tree.hpp index ae9c474ff8..c00b1b4998 100644 --- a/storage/simple_tree.hpp +++ b/storage/simple_tree.hpp @@ -93,8 +93,8 @@ public: { for (typename internal_container_type::iterator it = m_siblings.begin(); it != m_siblings.end(); ++it) { - it->ForEachChildren(f); f(*it); + it->ForEachChildren(f); } } @@ -103,8 +103,8 @@ public: { for (typename internal_container_type::const_iterator it = m_siblings.begin(); it != m_siblings.end(); ++it) { - it->ForEachChildren(f); f(*it); + it->ForEachChildren(f); } } }; diff --git a/storage/storage.cpp b/storage/storage.cpp index f9da514e7a..d7d4e3f279 100644 --- a/storage/storage.cpp +++ b/storage/storage.cpp @@ -14,171 +14,62 @@ namespace storage { - static bool IsMapValid(string const & datFile) - { - // @TODO add more serious integrity checks - string const indexFile = IndexFileForDatFile(datFile); - uint64_t datSize = 0, idxSize = 0; - bool result = GetPlatform().GetFileSize(datFile, datSize) - && GetPlatform().GetFileSize(indexFile, idxSize); - if (!result || datSize == 0 || idxSize == 0) - { - LOG(LINFO, ("Invalid map files:", datFile, indexFile)); - return false; - } - return true; - } - - /// Scan and load all existing local maps, calculate sum of maps' rects, - /// also deletes invalid or partially downloaded maps - template - class AddMapsToModelAndDeleteIfInvalid - { - TAddFn & m_addFunc; - size_t & m_addedCount; - public: - AddMapsToModelAndDeleteIfInvalid(TAddFn & addFunc, size_t & addedCount) - : m_addFunc(addFunc), m_addedCount(addedCount) {} - /// @return true if map is ok and false if it's deleted or doesn't exist - bool operator()(string const & datFile) - { - if (IsMapValid(datFile)) - { - m_addFunc(datFile, IndexFileForDatFile(datFile)); - ++m_addedCount; - return true; - } - else - { - // looks like map files are bad... delete them - FileWriter::DeleteFile(datFile); - FileWriter::DeleteFile(IndexFileForDatFile(datFile)); - return false; - } - } - }; - - /// Operates with map files pairs (currently dat and idx) - template - void ForEachMapInDir(string const & dir, TFunctor & func) - { - Platform::FilesList fileList; - GetPlatform().GetFilesInDir(dir, "*" DATA_FILE_EXTENSION, fileList); - std::for_each(fileList.begin(), fileList.end(), - boost::bind(&TFunctor::operator(), &func, - boost::bind(std::plus(), dir, _1))); - } - - template - void RescanAndAddDownloadedMaps(TAddFn & addFunc) - { - // scan and load all local maps - size_t addedMapsCount = 0; - AddMapsToModelAndDeleteIfInvalid functor(addFunc, addedMapsCount); - ForEachMapInDir(GetPlatform().WritableDir(), functor); - try - { - functor(GetPlatform().ReadPathForFile(WORLD_DATA_FILE)); - } - catch (FileAbsentException const &) - { - if (addedMapsCount == 0) - { - LOG(LWARNING, ("No data files were found. Model is empty.")); - } - } - } - void Storage::Init(TAddMapFunction addFunc, TRemoveMapFunction removeFunc) { m_addMap = addFunc; m_removeMap = removeFunc; - UpdateCheck(); - - RescanAndAddDownloadedMaps(addFunc); + // activate all downloaded maps + Platform::FilesList filesList; + string const dataPath = GetPlatform().WritableDir(); + GetPlatform().GetFilesInDir(dataPath, "*" DATA_FILE_EXTENSION, filesList); + for (Platform::FilesList::iterator it = filesList.begin(); it != filesList.end(); ++it) + m_addMap(dataPath + *it, dataPath + *it + INDEX_FILE_EXTENSION); } - bool Storage::UpdateCheck() - { - GetDownloadManager().DownloadFile( - UPDATE_FULL_URL, - (GetPlatform().WritablePathForFile(UPDATE_CHECK_FILE)).c_str(), - boost::bind(&Storage::OnUpdateDownloadFinished, this, _1, _2), - TDownloadProgressFunction(), false); - return true; - } +// bool Storage::UpdateCheck() +// { +// GetDownloadManager().DownloadFile( +// UPDATE_FULL_URL, +// (GetPlatform().WritablePathForFile(UPDATE_CHECK_FILE)).c_str(), +// boost::bind(&Storage::OnUpdateDownloadFinished, this, _1, _2), +// TDownloadProgressFunction(), false); +// return true; +// } - Country const * Storage::CountryByIndex(TIndex const & index) const + TCountriesContainer const & NodeFromIndex(TCountriesContainer const & root, TIndex const & index) { - TIndex::first_type i = 0; - for (TCountriesContainer::const_iterator itGroup = m_countries.begin(); - itGroup != m_countries.end(); ++itGroup, ++i) + // complex logic to avoid [] out_of_bounds exceptions + if (index.m_group == -1 || index.m_group >= root.SiblingsCount()) + return root; + else { - if (i == index.first) - { - if (itGroup->second.size() > index.second) - return &(itGroup->second[index.second]); - break; - } + if (index.m_country == -1 || index.m_country >= root[index.m_group].SiblingsCount()) + return root[index.m_group]; + if (index.m_region == -1 || index.m_region >= root[index.m_group][index.m_country].SiblingsCount()) + return root[index.m_group][index.m_country]; + return root[index.m_group][index.m_country][index.m_region]; } - return 0; // not found } - size_t Storage::GroupsCount() const + Country const & Storage::CountryByIndex(TIndex const & index) const { - return m_countries.size(); + return NodeFromIndex(m_countries, index).Value(); } - size_t Storage::CountriesCountInGroup(size_t groupIndex) const + size_t Storage::CountriesCount(TIndex const & index) const { - for (TCountriesContainer::const_iterator it = m_countries.begin(); it != m_countries.end(); ++it) - { - if (groupIndex == 0) - return it->second.size(); - else - --groupIndex; - } - return 0; - } - - string Storage::GroupName(size_t groupIndex) const - { - for (TCountriesContainer::const_iterator it = m_countries.begin(); it != m_countries.end(); ++it) - { - if (groupIndex == 0) - return it->first; - else - --groupIndex; - } - return string("Atlantida"); + return NodeFromIndex(m_countries, index).SiblingsCount(); } string Storage::CountryName(TIndex const & index) const { - Country const * country = CountryByIndex(index); - if (country) - return country->Name(); - else - { - ASSERT(false, ("Invalid country index", index)); - } - return string("Golden Land"); + return NodeFromIndex(m_countries, index).Value().Name(); } - uint64_t Storage::CountrySizeInBytes(TIndex const & index) const + TLocalAndRemoteSize Storage::CountrySizeInBytes(TIndex const & index) const { - Country const * country = CountryByIndex(index); - if (country) - { - uint64_t remoteSize = country->RemoteSize(); - return remoteSize ? remoteSize : country->LocalSize(); - } - else - { - ASSERT(false, ("Invalid country index", index)); - } - return 0; + return CountryByIndex(index).Size(); } TStatus Storage::CountryStatus(TIndex const & index) const @@ -193,16 +84,10 @@ namespace storage return EInQueue; } - Country const * country = CountryByIndex(index); - if (country) - { - if (country->RemoteSize() == 0) - return EOnDisk; - } - else - { - ASSERT(false, ("Invalid country index", index)); - } + TLocalAndRemoteSize size = CountryByIndex(index).Size(); + if (size.first == size.second) + return EOnDisk; + return ENotDownloaded; } @@ -219,11 +104,9 @@ namespace storage // and start download if necessary if (m_queue.size() == 1) { - Country const * country = CountryByIndex(index); - if (country) - { // reset total country's download progress - m_countryProgress = TDownloadProgress(0, country->RemoteSize()); - } + // reset total country's download progress + TLocalAndRemoteSize size = CountryByIndex(index).Size(); + m_countryProgress = TDownloadProgress(0, size.second); DownloadNextCountryFromQueue(); } @@ -244,11 +127,10 @@ namespace storage { m_workingDir = GetPlatform().WritableDir(); } - void operator()(TUrl const & url) + void operator()(TTile const & tile) { - string const file = m_workingDir + FileNameFromUrl(url.first); - if (IsDatFile(file)) - m_removeFn(file); + string const file = m_workingDir + tile.first; + m_removeFn(file); } }; @@ -257,31 +139,28 @@ namespace storage while (!m_queue.empty()) { TIndex index = m_queue.front(); - Country const * country = CountryByIndex(index); - if (country) + TTilesContainer const & tiles = CountryByIndex(index).Tiles(); + for (TTilesContainer::const_iterator it = tiles.begin(); it != tiles.end(); ++it) { - for (TUrlContainer::const_iterator it = country->Urls().begin(); it != country->Urls().end(); ++it) + if (!IsTileDownloaded(*it)) { - if (!IsFileDownloaded(*it)) - { - GetDownloadManager().DownloadFile( - it->first.c_str(), - (GetPlatform().WritablePathForFile(FileNameFromUrl(it->first))).c_str(), - boost::bind(&Storage::OnMapDownloadFinished, this, _1, _2), - boost::bind(&Storage::OnMapDownloadProgress, this, _1, _2), - true); // enabled resume support by default - // notify GUI - new status for country, "Downloading" - if (m_observerChange) - m_observerChange(index); - return; - } + GetDownloadManager().DownloadFile( + (UPDATE_BASE_URL + it->first).c_str(), + (GetPlatform().WritablePathForFile(it->first).c_str()), + boost::bind(&Storage::OnMapDownloadFinished, this, _1, _2), + boost::bind(&Storage::OnMapDownloadProgress, this, _1, _2), + true); // enabled resume support by default + // notify GUI - new status for country, "Downloading" + if (m_observerChange) + m_observerChange(index); + return; } } // continue with next country m_queue.pop_front(); // reset total country's download progress - if (!m_queue.empty() && (country = CountryByIndex(m_queue.front()))) - m_countryProgress = TDownloadProgress(0, country->RemoteSize()); + if (!m_queue.empty()) + m_countryProgress = TDownloadProgress(0, CountryByIndex(m_queue.front()).Size().second); // and notify GUI - new status for country, "OnDisk" if (m_observerChange) m_observerChange(index); @@ -290,16 +169,15 @@ namespace storage struct CancelDownloading { - void operator()(TUrl const & url) + void operator()(TTile const & tile) { - GetDownloadManager().CancelDownload(url.first.c_str()); - FileWriter::DeleteFile(GetPlatform().WritablePathForFile(FileNameFromUrl(url.first))); + GetDownloadManager().CancelDownload((UPDATE_BASE_URL + tile.first).c_str()); } }; void CancelCountryDownload(Country const & country) { - for_each(country.Urls().begin(), country.Urls().end(), CancelDownloading()); + for_each(country.Tiles().begin(), country.Tiles().end(), CancelDownloading()); } class DeleteMap @@ -310,10 +188,10 @@ namespace storage { m_workingDir = GetPlatform().WritableDir(); } - void operator()(TUrl const & url) + /// @TODO do not delete other countries cells + void operator()(TTile const & tile) { - string const file = m_workingDir + FileNameFromUrl(url.first); - FileWriter::DeleteFile(file); + FileWriter::DeleteFile(m_workingDir + tile.first); } }; @@ -321,26 +199,22 @@ namespace storage void DeactivateAndDeleteCountry(Country const & country, TRemoveFunc removeFunc) { // deactivate from multiindex - for_each(country.Urls().begin(), country.Urls().end(), DeactivateMap(removeFunc)); + for_each(country.Tiles().begin(), country.Tiles().end(), DeactivateMap(removeFunc)); // delete from disk - for_each(country.Urls().begin(), country.Urls().end(), DeleteMap()); + for_each(country.Tiles().begin(), country.Tiles().end(), DeleteMap()); } void Storage::DeleteCountry(TIndex const & index) { - Country const * country = CountryByIndex(index); - if (!country) - { - ASSERT(false, ("Invalid country index")); - return; - } + Country const & country = CountryByIndex(index); + // check if we already downloading this country TQueue::iterator found = find(m_queue.begin(), m_queue.end(), index); if (found != m_queue.end()) { if (found == m_queue.begin()) { // stop download - CancelCountryDownload(*country); + CancelCountryDownload(country); // remove from the queue m_queue.erase(found); // start another download if the queue is not empty @@ -353,7 +227,7 @@ namespace storage } // @TODO: Do not delete pieces which are used by other countries - DeactivateAndDeleteCountry(*country, m_removeMap); + DeactivateAndDeleteCountry(country, m_removeMap); if (m_observerChange) m_observerChange(index); } @@ -362,35 +236,39 @@ namespace storage { m_observerChange = change; m_observerProgress = progress; + + TTilesContainer tiles; + if (LoadTiles(tiles, GetPlatform().WritablePathForFile(UPDATE_CHECK_FILE))) + { + if (!LoadCountries(GetPlatform().WritablePathForFile(COUNTRIES_FILE), tiles, m_countries)) + LOG(LWARNING, ("Can't load countries file", COUNTRIES_FILE)); + } + else + { + LOG(LWARNING, ("Can't load update file", UPDATE_CHECK_FILE)); + } } void Storage::Unsubscribe() { m_observerChange.clear(); m_observerProgress.clear(); + m_countries.Clear(); } - bool IsUrlValidForCountry(char const * url, Country const * country) + string FileFromUrl(string const & url) { - // additional debug checking - if (country) - { - for (TUrlContainer::const_iterator it = country->Urls().begin(); it != country->Urls().end(); ++it) - if (it->first == url) - return true; - } - return false; + return url.substr(url.find_last_of('/') + 1, string::npos); } void Storage::OnMapDownloadFinished(char const * url, bool successfully) { - Country const * country = 0; - if (m_queue.empty() || !(country = CountryByIndex(m_queue.front()))) + if (m_queue.empty()) { ASSERT(false, ("Invalid url?", url)); return; } - ASSERT(IsUrlValidForCountry(url, country), ()); + if (!successfully) { // remove failed country from the queue @@ -402,17 +280,12 @@ namespace storage } else { - uint64_t rSize = country->RemoteSize(); - if (rSize == 0) - { // country is fully downloaded - // activate it! - // @TODO: activate only downloaded map, not all maps - RescanAndAddDownloadedMaps(m_addMap); - } - else - { - m_countryProgress.first = (m_countryProgress.second - rSize); - } + TLocalAndRemoteSize size = CountryByIndex(m_queue.front()).Size(); + if (size.second != 0) + m_countryProgress.first = (m_countryProgress.second - size.second); + // activate downloaded map piece + string const datFile = FileFromUrl(url); + m_addMap(datFile, datFile + INDEX_FILE_EXTENSION); } DownloadNextCountryFromQueue(); } @@ -439,23 +312,22 @@ namespace storage } // parse update file - TCountriesContainer tempCountries; - if (!LoadCountries(tempCountries, GetPlatform().WritablePathForFile(UPDATE_CHECK_FILE))) - { - LOG(LWARNING, ("New application version should be downloaded, " - "update file format can't be parsed")); - // @TODO: report to GUI - return; - } - // stop any active download, clear the queue, replace countries and notify GUI - if (!m_queue.empty()) - { - Country const * country = CountryByIndex(m_queue.front()); - CancelCountryDownload(*country); - m_queue.clear(); - } - m_countries.swap(tempCountries); - // @TODO report to GUI about reloading all countries - LOG(LINFO, ("Update check complete")); +// TCountriesContainer tempCountries; +// if (!LoadCountries(tempCountries, GetPlatform().WritablePathForFile(UPDATE_CHECK_FILE))) +// { +// LOG(LWARNING, ("New application version should be downloaded, " +// "update file format can't be parsed")); +// // @TODO: report to GUI +// return; +// } +// // stop any active download, clear the queue, replace countries and notify GUI +// if (!m_queue.empty()) +// { +// CancelCountryDownload(CountryByIndex(m_queue.front())); +// m_queue.clear(); +// } +// m_countries.swap(tempCountries); +// // @TODO report to GUI about reloading all countries +// LOG(LINFO, ("Update check complete")); } } diff --git a/storage/storage.hpp b/storage/storage.hpp index 39ce834dac..4dc9fa6baa 100644 --- a/storage/storage.hpp +++ b/storage/storage.hpp @@ -25,7 +25,18 @@ namespace storage EInQueue }; - typedef std::pair TIndex; + struct TIndex + { + int m_group; + int m_country; + int m_region; + TIndex(int group = -1, int country = -1, int region = -1) + : m_group(group), m_country(country), m_region(region) {} + bool operator==(TIndex const & other) const + { + return m_group == other.m_group && m_country == other.m_country && m_region == other.m_region; + } + }; /// Can be used to store local maps and/or maps available for download class Storage @@ -54,8 +65,8 @@ namespace storage //@} void DownloadNextCountryFromQueue(); - Country const * CountryByIndex(TIndex const & index) const; - bool UpdateCheck(); + Country const & CountryByIndex(TIndex const & index) const; +// bool UpdateCheck(); public: Storage() {} @@ -76,11 +87,9 @@ namespace storage void Unsubscribe(); //@} - size_t GroupsCount() const; - size_t CountriesCountInGroup(size_t groupIndex) const; - string GroupName(size_t groupIndex) const; + size_t CountriesCount(TIndex const & index) const; string CountryName(TIndex const & index) const; - uint64_t CountrySizeInBytes(TIndex const & index) const; + TLocalAndRemoteSize CountrySizeInBytes(TIndex const & index) const; TStatus CountryStatus(TIndex const & index) const; void DownloadCountry(TIndex const & index); diff --git a/storage/storage.pro b/storage/storage.pro index 28ec06fe77..4ebce898c5 100644 --- a/storage/storage.pro +++ b/storage/storage.pro @@ -5,16 +5,16 @@ TEMPLATE = lib CONFIG += staticlib ROOT_DIR = .. -DEPENDENCIES = geometry coding base +DEPENDENCIES = indexer platform geometry coding base include($$ROOT_DIR/common.pri) +HEADERS += \ + country.hpp \ + defines.hpp \ + simple_tree.hpp \ + storage.hpp \ + SOURCES += \ country.cpp \ storage.cpp \ - -HEADERS += \ - defines.hpp \ - country.hpp \ - simple_tree.hpp \ - storage.hpp \ diff --git a/storage/storage_tests/country_test.cpp b/storage/storage_tests/country_test.cpp index 181e218c8b..5c6898575d 100644 --- a/storage/storage_tests/country_test.cpp +++ b/storage/storage_tests/country_test.cpp @@ -11,32 +11,32 @@ using namespace storage; UNIT_TEST(CountrySerialization) { - string const TEST_URL = "http://someurl.com/somemap.dat"; - uint64_t const TEST_SIZE = 123456790; - char const * TEST_FILE_NAME = "some_temporary_update_file.tmp"; - Country c("North America", "USA", "Alaska"); - c.AddUrl(TUrl(TEST_URL, TEST_SIZE)); +// string const TEST_URL = "http://someurl.com/somemap.dat"; +// uint64_t const TEST_SIZE = 123456790; +// char const * TEST_FILE_NAME = "some_temporary_update_file.tmp"; +// Country c("North America", "USA", "Alaska"); +// c.AddUrl(TUrl(TEST_URL, TEST_SIZE)); - { - TCountriesContainer countries; - countries[c.Group()].push_back(c); +// { +// TCountriesContainer countries; +// countries[c.Group()].push_back(c); - FileWriter writer(TEST_FILE_NAME); - SaveCountries(countries, writer); - } +// FileWriter writer(TEST_FILE_NAME); +// SaveCountries(countries, writer); +// } - TCountriesContainer loadedCountries; - { - TEST( LoadCountries(loadedCountries, TEST_FILE_NAME), ()); - } +// TCountriesContainer loadedCountries; +// { +// TEST( LoadCountries(loadedCountries, TEST_FILE_NAME), ()); +// } - TEST_GREATER(loadedCountries.size(), 0, ()); - Country const & c2 = loadedCountries.begin()->second.front(); - TEST_EQUAL(c.Group(), loadedCountries.begin()->first, ()); - TEST_EQUAL(c.Group(), c2.Group(), ()); - TEST_EQUAL(c.Name(), c2.Name(), ()); - TEST_GREATER(c2.Urls().size(), 0, ()); - TEST_EQUAL(*c.Urls().begin(), *c2.Urls().begin(), ()); +// TEST_GREATER(loadedCountries.size(), 0, ()); +// Country const & c2 = loadedCountries.begin()->second.front(); +// TEST_EQUAL(c.Group(), loadedCountries.begin()->first, ()); +// TEST_EQUAL(c.Group(), c2.Group(), ()); +// TEST_EQUAL(c.Name(), c2.Name(), ()); +// TEST_GREATER(c2.Urls().size(), 0, ()); +// TEST_EQUAL(*c.Urls().begin(), *c2.Urls().begin(), ()); - FileWriter::DeleteFile(TEST_FILE_NAME); +// FileWriter::DeleteFile(TEST_FILE_NAME); } diff --git a/storage/storage_tests/simple_tree_test.cpp b/storage/storage_tests/simple_tree_test.cpp index 4d254c04f5..28b892249d 100644 --- a/storage/storage_tests/simple_tree_test.cpp +++ b/storage/storage_tests/simple_tree_test.cpp @@ -1,13 +1,10 @@ #include "../../testing/testing.hpp" -#include "../../platform/platform.hpp" - -#include "../../std/fstream.hpp" +#include "../../coding/reader.hpp" +#include "../../coding/writer.hpp" +#include "../../coding/streams_sink.hpp" #include "../simple_tree.hpp" -#include "../countries.hpp" - -using namespace mapinfo; template struct Calculator @@ -22,34 +19,39 @@ struct Calculator UNIT_TEST(SimpleTree) { - typedef SimpleTree mytree; + typedef SimpleTree mytree; mytree tree; - std::ifstream file(GetPlatform().WritablePathForFile("countries.txt").c_str()); - TEST( LoadCountries(tree, file), ("countries.txt is absent or corrupted")); + + tree.Add(4); + tree.Add(3); + tree.Add(5); + tree.Add(2); + tree.Add(1); + tree.AddAtDepth(1, 20); // 1 is parent + tree.AddAtDepth(1, 10); // 1 is parent + tree.AddAtDepth(1, 30); // 1 is parent tree.Sort(); + // test sorting + TEST_EQUAL(tree[0].Value(), 1, ()); + TEST_EQUAL(tree[1].Value(), 2, ()); + TEST_EQUAL(tree[2].Value(), 3, ()); + TEST_EQUAL(tree[3].Value(), 4, ()); + TEST_EQUAL(tree[4].Value(), 5, ()); + TEST_EQUAL(tree[0][0].Value(), 10, ()); + TEST_EQUAL(tree[0][1].Value(), 20, ()); + TEST_EQUAL(tree[0][2].Value(), 30, ()); Calculator c1; tree.ForEachSibling(c1); - TEST_GREATER_OR_EQUAL(c1.count, 6, ("At least 6 continents should be present")); - - // find europe - size_t i = 0; - for (; i < tree.SiblingsCount(); ++i) - if (tree[i].Value().Name() == "Europe") - break; - TEST_LESS(i, tree.SiblingsCount(), ("Europe is not present?")); + TEST_EQUAL(c1.count, 5, ()); Calculator c2; - tree[i].ForEachSibling(c2); - TEST_GREATER_OR_EQUAL(c2.count, 20, ("At least 20 countries should be present in Europe")); - - Calculator c3; - tree[i].ForEachChildren(c3); - TEST_GREATER(c3.count, c2.count, ("Europe should contain some regions")); + tree.ForEachChildren(c2); + TEST_EQUAL(c2.count, 8, ()); tree.Clear(); - Calculator c4; - tree.ForEachChildren(c4); - TEST_EQUAL(c4.count, 0, ("Tree should be empty")); + Calculator c3; + tree.ForEachChildren(c3); + TEST_EQUAL(c3.count, 0, ("Tree should be empty")); } diff --git a/storage/storage_tests/storage_tests.pro b/storage/storage_tests/storage_tests.pro index 4dd164ee52..0297932920 100644 --- a/storage/storage_tests/storage_tests.pro +++ b/storage/storage_tests/storage_tests.pro @@ -6,7 +6,7 @@ CONFIG -= app_bundle TEMPLATE = app ROOT_DIR = ../.. -DEPENDENCIES = storage geometry platform coding base +DEPENDENCIES = storage indexer geometry platform coding base include($$ROOT_DIR/common.pri) @@ -16,4 +16,5 @@ HEADERS += SOURCES += \ ../../testing/testingmain.cpp \ -# simple_tree_test.cpp \ + country_test.cpp \ + simple_tree_test.cpp \