From 89544d1ecbd7c3f671a4877277c46325b7dd9147 Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Mon, 29 Apr 2024 21:46:23 +0200 Subject: [PATCH] refactor: Simplify getting shared data directory URL --- src/blackcore/data/globalsetup.cpp | 20 ++------------------ src/blackcore/data/globalsetup.h | 6 +++--- src/blackcore/db/databasereader.cpp | 9 +-------- src/blackcore/db/databasereader.h | 3 --- 4 files changed, 6 insertions(+), 32 deletions(-) diff --git a/src/blackcore/data/globalsetup.cpp b/src/blackcore/data/globalsetup.cpp index ad5d9b879..fb68fe034 100644 --- a/src/blackcore/data/globalsetup.cpp +++ b/src/blackcore/data/globalsetup.cpp @@ -97,25 +97,9 @@ namespace BlackCore::Data m_dbDebugFlag = debug; } - CUrl CGlobalSetup::buildDbDataDirectoryUrl(const CUrl &candidate) + CUrl CGlobalSetup::getSharedDbDataDirectoryUrl() { - if (candidate.isEmpty()) return CUrl(); // not possible - static const QString version(QString(schemaVersionString()).append("/")); - if (candidate.pathEndsWith("dbdata") || candidate.pathEndsWith("dbdata/")) { return candidate; } - CUrl url(candidate); - if (candidate.pathEndsWith(schemaVersionString()) || candidate.pathEndsWith(version)) - { - url.appendPath("/dbdata"); - } - else if (candidate.pathEndsWith("shared") || candidate.pathEndsWith("shared/")) - { - url.appendPath(CGlobalSetup::schemaVersionString() + "/dbdata/"); - } - else - { - url.appendPath("shared/" + CGlobalSetup::schemaVersionString() + "/dbdata/"); - } - return url; + return m_sharedUrl.withAppendedPath(CGlobalSetup::schemaVersionString() + "/dbdata/"); } CServerList CGlobalSetup::getPredefinedServersPlusHardcodedServers() const diff --git a/src/blackcore/data/globalsetup.h b/src/blackcore/data/globalsetup.h index 3e830c0be..9e912366d 100644 --- a/src/blackcore/data/globalsetup.h +++ b/src/blackcore/data/globalsetup.h @@ -152,6 +152,9 @@ namespace BlackCore::Data //! To string with separator QString convertToQString(const QString &separator, bool i18n = false) const; + //! Get shared DB data directory URL + BlackMisc::Network::CUrl getSharedDbDataDirectoryUrl(); + //! \copydoc BlackMisc::Mixin::Index::propertyByIndex QVariant propertyByIndex(BlackMisc::CPropertyIndexRef index) const; @@ -161,9 +164,6 @@ namespace BlackCore::Data //! Schema version (shared files, bootstrap file) static const QString &schemaVersionString(); - //! Build the full dbdata directory URL from shared URL - static BlackMisc::Network::CUrl buildDbDataDirectoryUrl(const BlackMisc::Network::CUrl &candidate); - private: int m_dbHttpPort = 80; //!< port int m_dbHttpsPort = 443; //!< SSL port diff --git a/src/blackcore/db/databasereader.cpp b/src/blackcore/db/databasereader.cpp index 6fe6df4ab..be3165caa 100644 --- a/src/blackcore/db/databasereader.cpp +++ b/src/blackcore/db/databasereader.cpp @@ -478,7 +478,7 @@ namespace BlackCore::Db return this->getDbServiceBaseUrl().withAppendedPath("/service"); case CDbFlags::SharedInfoOnly: case CDbFlags::Shared: - return CDatabaseReader::getSharedDbdataDirectoryUrl(); + return sApp->getGlobalSetup().getSharedDbDataDirectoryUrl(); default: qFatal("Wrong mode"); break; @@ -693,13 +693,6 @@ namespace BlackCore::Db return dbUrl; } - CUrl CDatabaseReader::getSharedDbdataDirectoryUrl() - { - const CUrlList sharedUrls = sApp->getGlobalSetup().getSwiftSharedUrls(); - Q_ASSERT_X(!sharedUrls.empty(), Q_FUNC_INFO, "Need at least one shared URL"); - return CGlobalSetup::buildDbDataDirectoryUrl(sharedUrls[0]); - } - void CDatabaseReader::cacheHasChanged(CEntityFlags::Entity entities) { this->emitReadSignalPerSingleCachedEntity(entities, false); diff --git a/src/blackcore/db/databasereader.h b/src/blackcore/db/databasereader.h index 5e1a90850..86d7d825a 100644 --- a/src/blackcore/db/databasereader.h +++ b/src/blackcore/db/databasereader.h @@ -343,9 +343,6 @@ namespace BlackCore::Db //! DB base URL static const BlackMisc::Network::CUrl &getDbUrl(); - //! shared "dbdata" directory URL - static BlackMisc::Network::CUrl getSharedDbdataDirectoryUrl(); - //! File name for given mode, either php service or shared file name static QString fileNameForMode(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Db::CDbFlags::DataRetrievalModeFlag mode);