summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Klotz <uklotz@mixxx.org>2020-08-22 15:23:13 +0200
committerUwe Klotz <uklotz@mixxx.org>2020-08-23 12:09:01 +0200
commita1ee9b6084ce59f691b3c5a0a99e8d03d9433f64 (patch)
tree0374f77555fff7434ff5c9d34c3c001458ab1c1d
parent3f1ac3b786ed1bcf80f6764c3c9a9722f3003059 (diff)
Remove redundant code from DAO base and derived classes
-rw-r--r--src/library/dao/analysisdao.cpp18
-rw-r--r--src/library/dao/analysisdao.h5
-rw-r--r--src/library/dao/cuedao.h6
-rw-r--r--src/library/dao/dao.h17
-rw-r--r--src/library/dao/directorydao.h7
-rw-r--r--src/library/dao/libraryhashdao.h9
-rw-r--r--src/library/dao/playlistdao.cpp2
-rw-r--r--src/library/dao/playlistdao.h3
-rw-r--r--src/library/dao/trackdao.h6
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