From 609b7c87f756e0f6724cd4991cea72877c4cf886 Mon Sep 17 00:00:00 2001 From: emeric Date: Tue, 30 Jul 2019 13:34:53 +0200 Subject: [PATCH] Fix tools/checks builds --- test/database/DatabaseTest.cpp | 9 ++++---- tools/similarity/LmsSimilarity.cpp | 34 +++++++++++++----------------- tools/similarity/Makefile.am | 4 +++- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/test/database/DatabaseTest.cpp b/test/database/DatabaseTest.cpp index ed2945c7..159ee65e 100644 --- a/test/database/DatabaseTest.cpp +++ b/test/database/DatabaseTest.cpp @@ -27,6 +27,7 @@ #include "database/TrackList.hpp" #include "database/Release.hpp" #include "database/Track.hpp" +#include "database/User.hpp" using namespace Database; @@ -1041,7 +1042,7 @@ testSingleUser(Session& session) { auto transaction {session.createUniqueTransaction()}; - auto user {User::create(session)}; + auto user {User::create(session, "", {})}; CHECK(user); userId = user.id(); @@ -1079,7 +1080,7 @@ testSingleStarredArtist(Session& session) auto artist {Artist::create(session, "MyArtist")}; CHECK(artist); - auto user {User::create(session)}; + auto user {User::create(session, "", {})}; CHECK(user); artistId = artist.id(); @@ -1134,7 +1135,7 @@ testSingleStarredRelease(Session& session) auto release {Release::create(session, "MyRelease")}; CHECK(release); - auto user {User::create(session)}; + auto user {User::create(session, "", {})}; CHECK(user); releaseId = release.id(); @@ -1189,7 +1190,7 @@ testSingleStarredTrack(Session& session) auto track {Track::create(session, "MyTrackFile")}; CHECK(track); - auto user {User::create(session)}; + auto user {User::create(session, "", {})}; CHECK(user); trackId = track.id(); diff --git a/tools/similarity/LmsSimilarity.cpp b/tools/similarity/LmsSimilarity.cpp index 4100eeca..ceb24c3f 100644 --- a/tools/similarity/LmsSimilarity.cpp +++ b/tools/similarity/LmsSimilarity.cpp @@ -5,12 +5,14 @@ #include #include -#include "database/DatabaseHandler.hpp" +#include "database/Database.hpp" +#include "database/Session.hpp" #include "database/Track.hpp" #include "database/Artist.hpp" #include "database/Cluster.hpp" #include "database/Release.hpp" #include "database/TrackFeatures.hpp" +#include "main/Service.hpp" #include "utils/Config.hpp" #include "similarity/features/som/DataNormalizer.hpp" #include "similarity/features/som/Network.hpp" @@ -18,12 +20,7 @@ static std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track) { - auto genreClusterType = Database::ClusterType::getByName(*track->session(), "GENRE"); - os << "["; - auto genreClusters = track->getClusterGroups({genreClusterType}, 1); - for (auto genreCluster : genreClusters) - os << genreCluster.front()->getName() << " - "; for (auto artist : track->getArtists()) os << artist->getName() << " - "; if (track->getRelease()) @@ -35,7 +32,7 @@ std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track static bool -getTrackFeatures(Wt::Dbo::Session &session, const Database::Track::pointer& track, const std::map& featuresSettings, SOM::InputVector& res) +getTrackFeatures(Database::Session &session, const Database::Track::pointer& track, const std::map& featuresSettings, SOM::InputVector& res) { std::map> features; for (const auto& featureSettings : featuresSettings) @@ -91,16 +88,15 @@ int main(int argc, char *argv[]) if (argc >= 2) configFilePath = std::string(argv[1], 0, 256); - Config::instance().setFile(configFilePath); + ServiceProvider::create(configFilePath); - Database::Handler::configureAuth(); - auto connectionPool = Database::Handler::createConnectionPool(Config::instance().getPath("working-dir") / "lms.db"); - Database::Handler db(*connectionPool); + Database::Database db {getService()->getPath("working-dir") / "lms.db"}; + auto session {db.createSession()}; std::cout << "Getting all features..." << std::endl; - Wt::Dbo::Transaction transaction(db.getSession()); + auto transaction {session->createUniqueTransaction()}; - std::vector trackIds {Database::Track::getAllIdsWithFeatures(db.getSession(), nbTracks)}; + std::vector trackIds {Database::Track::getAllIdsWithFeatures(*session, nbTracks)}; nbTracks = trackIds.size(); std::cout << "Getting features DONE (" << nbTracks << " tracks)" << std::endl; @@ -110,12 +106,12 @@ int main(int argc, char *argv[]) for (Database::IdType trackId : trackIds) { - Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)}; + Database::Track::pointer track {Database::Track::getById(*session, trackId)}; if (!track) continue; SOM::InputVector features {nbDims}; - if (!getTrackFeatures(db.getSession(), track, featuresSettings, features)) + if (!getTrackFeatures(*session, track, featuresSettings, features)) continue; tracksFeatures.emplace_back(std::move(features)); @@ -169,12 +165,12 @@ int main(int argc, char *argv[]) SOM::Matrix< std::vector > tracksMap(width, height); for (Database::IdType trackId : trackIds) { - Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)}; + Database::Track::pointer track {Database::Track::getById(*session, trackId)}; if (!track) continue; SOM::InputVector features {nbDims}; - if (!getTrackFeatures(db.getSession(), track, featuresSettings, features)) + if (!getTrackFeatures(*session, track, featuresSettings, features)) continue; normalizer.normalizeData(features); @@ -204,12 +200,12 @@ int main(int argc, char *argv[]) // For each track, get the nearest tracks for (Database::IdType trackId : trackIds) { - Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)}; + Database::Track::pointer track {Database::Track::getById(*session, trackId)}; if (!track) continue; SOM::InputVector features {nbDims}; - if (!getTrackFeatures(db.getSession(), track, featuresSettings, features)) + if (!getTrackFeatures(*session, track, featuresSettings, features)) continue; normalizer.normalizeData(features); diff --git a/tools/similarity/Makefile.am b/tools/similarity/Makefile.am index ee51c219..e4f578e2 100644 --- a/tools/similarity/Makefile.am +++ b/tools/similarity/Makefile.am @@ -4,11 +4,13 @@ lms_similarity_SOURCES = \ $(srcdir)/LmsSimilarity.cpp \ $(top_srcdir)/src/database/Artist.cpp \ $(top_srcdir)/src/database/Cluster.cpp \ - $(top_srcdir)/src/database/DatabaseHandler.cpp \ + $(top_srcdir)/src/database/Database.cpp \ $(top_srcdir)/src/database/TrackFeatures.cpp \ $(top_srcdir)/src/database/TrackList.cpp \ $(top_srcdir)/src/database/Release.cpp \ $(top_srcdir)/src/database/ScanSettings.cpp \ + $(top_srcdir)/src/database/Session.cpp \ + $(top_srcdir)/src/database/SimilaritySettings.cpp \ $(top_srcdir)/src/database/SqlQuery.cpp \ $(top_srcdir)/src/database/Track.cpp \ $(top_srcdir)/src/database/User.cpp \