diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2020-08-22 15:23:13 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2020-08-23 12:09:01 +0200 |
commit | a1ee9b6084ce59f691b3c5a0a99e8d03d9433f64 (patch) | |
tree | 0374f77555fff7434ff5c9d34c3c001458ab1c1d | |
parent | 3f1ac3b786ed1bcf80f6764c3c9a9722f3003059 (diff) |
Remove redundant code from DAO base and derived classes
-rw-r--r-- | src/library/dao/analysisdao.cpp | 18 | ||||
-rw-r--r-- | src/library/dao/analysisdao.h | 5 | ||||
-rw-r--r-- | src/library/dao/cuedao.h | 6 | ||||
-rw-r--r-- | src/library/dao/dao.h | 17 | ||||
-rw-r--r-- | src/library/dao/directorydao.h | 7 | ||||
-rw-r--r-- | src/library/dao/libraryhashdao.h | 9 | ||||
-rw-r--r-- | src/library/dao/playlistdao.cpp | 2 | ||||
-rw-r--r-- | src/library/dao/playlistdao.h | 3 | ||||
-rw-r--r-- | src/library/dao/trackdao.h | 6 |
9 files changed, 23 insertions, 50 deletions
diff --git a/src/library/dao/analysisdao.cpp b/src/library/dao/analysisdao.cpp index f1a43c2810..ff7ca74783 100644 --- a/src/library/dao/analysisdao.cpp +++ b/src/library/dao/analysisdao.cpp @@ -26,11 +26,11 @@ AnalysisDao::AnalysisDao(UserSettingsPointer pConfig) } QList<AnalysisDao::AnalysisInfo> AnalysisDao::getAnalysesForTrack(TrackId trackId) { - if (!m_db.isOpen() || !trackId.isValid()) { + if (!m_database.isOpen() || !trackId.isValid()) { return QList<AnalysisInfo>(); } - QSqlQuery query(m_db); + QSqlQuery query(m_database); query.prepare(QString( "SELECT id, type, description, version, data_checksum FROM %1 " "WHERE track_id=:trackId").arg(s_analysisTableName)); @@ -41,11 +41,11 @@ QList<AnalysisDao::AnalysisInfo> AnalysisDao::getAnalysesForTrack(TrackId trackI QList<AnalysisDao::AnalysisInfo> AnalysisDao::getAnalysesForTrackByType( TrackId trackId, AnalysisType type) { - if (!m_db.isOpen() || !trackId.isValid()) { + if (!m_database.isOpen() || !trackId.isValid()) { return QList<AnalysisInfo>(); } - QSqlQuery query(m_db); + QSqlQuery query(m_database); query.prepare(QString( "SELECT id, type, description, version, data_checksum FROM %1 " "WHERE track_id=:trackId AND type=:type").arg(s_analysisTableName)); @@ -103,7 +103,7 @@ QList<AnalysisDao::AnalysisInfo> AnalysisDao::loadAnalysesFromQuery(TrackId trac } bool AnalysisDao::saveAnalysis(AnalysisDao::AnalysisInfo* info) { - if (!m_db.isOpen() || info == NULL) { + if (!m_database.isOpen() || info == NULL) { return false; } @@ -118,7 +118,7 @@ bool AnalysisDao::saveAnalysis(AnalysisDao::AnalysisInfo* info) { int checksum = qChecksum(compressedData.constData(), compressedData.length()); - QSqlQuery query(m_db); + QSqlQuery query(m_database); if (info->analysisId == -1) { query.prepare(QString( "INSERT INTO %1 (track_id, type, description, version, data_checksum) " @@ -178,7 +178,7 @@ bool AnalysisDao::deleteAnalysis(const int analysisId) { if (analysisId == -1) { return false; } - QSqlQuery query(m_db); + QSqlQuery query(m_database); query.prepare(QString( "DELETE FROM %1 WHERE id = :id").arg(s_analysisTableName)); query.bindValue(":id", analysisId); @@ -199,7 +199,7 @@ void AnalysisDao::deleteAnalyses(const QList<TrackId>& trackIds) { for (const auto& trackId: trackIds) { idList << trackId.toString(); } - QSqlQuery query(m_db); + QSqlQuery query(m_database); query.prepare(QString("SELECT track_analysis.id FROM track_analysis WHERE " "track_id in (%1)").arg(idList.join(","))); if (!query.exec()) { @@ -223,7 +223,7 @@ bool AnalysisDao::deleteAnalysesForTrack(TrackId trackId) { if (!trackId.isValid()) { return false; } - QSqlQuery query(m_db); + QSqlQuery query(m_database); query.prepare(QString( "SELECT id FROM %1 where track_id = :track_id").arg(s_analysisTableName)); query.bindValue(":track_id", trackId.toVariant()); diff --git a/src/library/dao/analysisdao.h b/src/library/dao/analysisdao.h index e5c8ef7340..3a7992832d 100644 --- a/src/library/dao/analysisdao.h +++ b/src/library/dao/analysisdao.h @@ -46,10 +46,6 @@ class AnalysisDao : public DAO { const QSqlDatabase& database, AnalysisType type) const; - void initialize(const QSqlDatabase& database) override { - m_db = database; - } - QList<AnalysisInfo> getAnalysesForTrackByType(TrackId trackId, AnalysisType type); QList<AnalysisInfo> getAnalysesForTrack(TrackId trackId); bool saveAnalysis(AnalysisInfo* analysis); @@ -70,7 +66,6 @@ class AnalysisDao : public DAO { QList<AnalysisInfo> loadAnalysesFromQuery(TrackId trackId, QSqlQuery* query); const UserSettingsPointer m_pConfig; - QSqlDatabase m_db; }; #endif // ANALYSISDAO_H diff --git a/src/library/dao/cuedao.h b/src/library/dao/cuedao.h index d912c2daa0..d38d63820a 100644 --- a/src/library/dao/cuedao.h +++ b/src/library/dao/cuedao.h @@ -13,10 +13,6 @@ class CueDAO : public DAO { public: ~CueDAO() override = default; - void initialize(const QSqlDatabase& database) override { - m_database = database; - } - QList<CuePointer> getCuesForTrack(TrackId trackId) const; void saveTrackCues(TrackId trackId, const QList<CuePointer>& cueList) const; @@ -26,6 +22,4 @@ class CueDAO : public DAO { private: bool saveCue(Cue* pCue) const; bool deleteCue(Cue* pCue) const; - - QSqlDatabase m_database; }; diff --git a/src/library/dao/dao.h b/src/library/dao/dao.h index 94bb02db4a..837cc939ef 100644 --- a/src/library/dao/dao.h +++ b/src/library/dao/dao.h @@ -1,13 +1,18 @@ -#ifndef DAO_H -#define DAO_H +#pragma once #include <QSqlDatabase> +#include "util/assert.h" + class DAO { public: - virtual ~DAO() {} + virtual ~DAO() = default; - virtual void initialize(const QSqlDatabase& database) = 0; -}; + virtual void initialize(const QSqlDatabase& database) { + DEBUG_ASSERT(!m_database.isOpen()); + m_database = database; + } -#endif /* DAO_H */ + protected: + QSqlDatabase m_database; +}; diff --git a/src/library/dao/directorydao.h b/src/library/dao/directorydao.h index cbc22674b4..5478cd699d 100644 --- a/src/library/dao/directorydao.h +++ b/src/library/dao/directorydao.h @@ -18,10 +18,6 @@ class DirectoryDAO : public DAO { public: ~DirectoryDAO() override = default; - void initialize(const QSqlDatabase& database) override { - m_database = database; - } - QStringList getDirs() const; int addDirectory(const QString& dir) const; @@ -30,7 +26,4 @@ class DirectoryDAO : public DAO { QList<RelocatedTrack> relocateDirectory( const QString& oldFolder, const QString& newFolder) const; - - private: - QSqlDatabase m_database; }; diff --git a/src/library/dao/libraryhashdao.h b/src/library/dao/libraryhashdao.h index 363c01164e..e3e4b4bf47 100644 --- a/src/library/dao/libraryhashdao.h +++ b/src/library/dao/libraryhashdao.h @@ -11,11 +11,7 @@ class LibraryHashDAO : public DAO { public: - ~LibraryHashDAO() override {} - - void initialize(const QSqlDatabase& database) override { - m_database = database; - }; + ~LibraryHashDAO() override = default; QHash<QString, mixxx::cache_key_t> getDirectoryHashes(); mixxx::cache_key_t getDirectoryHash(const QString& dirPath); @@ -29,9 +25,6 @@ class LibraryHashDAO : public DAO { void updateDirectoryStatuses(const QStringList& dirPaths, const bool deleted, const bool verified); QStringList getDeletedDirectories(); - - private: - QSqlDatabase m_database; }; #endif //LIBRARYHASHDAO_H diff --git a/src/library/dao/playlistdao.cpp b/src/library/dao/playlistdao.cpp index 282f423d36..00e22bb4c5 100644 --- a/src/library/dao/playlistdao.cpp +++ b/src/library/dao/playlistdao.cpp @@ -18,7 +18,7 @@ PlaylistDAO::PlaylistDAO() } void PlaylistDAO::initialize(const QSqlDatabase& database) { - m_database = database; + DAO::initialize(database); populatePlaylistMembershipCache(); } diff --git a/src/library/dao/playlistdao.h b/src/library/dao/playlistdao.h index 4d37fbfb5a..fba4602c3e 100644 --- a/src/library/dao/playlistdao.h +++ b/src/library/dao/playlistdao.h @@ -49,7 +49,7 @@ class PlaylistDAO : public QObject, public virtual DAO { }; PlaylistDAO(); - ~PlaylistDAO() override {} + ~PlaylistDAO() override = default; void initialize(const QSqlDatabase& database) override; @@ -142,7 +142,6 @@ class PlaylistDAO : public QObject, public virtual DAO { int* pTrackDistance); void populatePlaylistMembershipCache(); - QSqlDatabase m_database; QMultiHash<TrackId, int> m_playlistsTrackIsIn; AutoDJProcessor* m_pAutoDJProcessor; DISALLOW_COPY_AND_ASSIGN(PlaylistDAO); diff --git a/src/library/dao/trackdao.h b/src/library/dao/trackdao.h index bb2177c207..76d0721aeb 100644 --- a/src/library/dao/trackdao.h +++ b/src/library/dao/trackdao.h @@ -42,9 +42,6 @@ class TrackDAO : public QObject, public virtual DAO, public virtual GlobalTrackC UserSettingsPointer pConfig); ~TrackDAO() override; - void initialize(const QSqlDatabase& database) override { - m_database = database; - } void finish(); QList<TrackId> resolveTrackIds( @@ -158,8 +155,6 @@ class TrackDAO : public QObject, public virtual DAO, public virtual GlobalTrackC TrackId trackId, TrackFile fileInfo) override; - QSqlDatabase m_database; - CueDAO& m_cueDao; PlaylistDAO& m_playlistDao; AnalysisDao& m_analysisDao; @@ -182,7 +177,6 @@ class TrackDAO : public QObject, public virtual DAO, public virtual GlobalTrackC DISALLOW_COPY_AND_ASSIGN(TrackDAO); }; - Q_DECLARE_OPERATORS_FOR_FLAGS(TrackDAO::ResolveTrackIdFlags) #endif //TRACKDAO_H |