From b3d3b3351c3552180044fa7c17378e79fb1fc706 Mon Sep 17 00:00:00 2001 From: Marcin Masternak Date: Thu, 4 Aug 2016 11:03:50 +0200 Subject: [PATCH] [my-place] DatabaseManager usage refactoring. Change-Id: If5a72b53d053882277866989502d5c96d24924f5 Signed-off-by: Marcin Masternak --- src/my-place/facade/UserPlaces.cpp | 7 ++++-- src/my-place/facade/UserPlaces.h | 2 -- src/my-place/place/PlacesDetector.cpp | 22 ++++++++++++------- src/my-place/place/PlacesDetector.h | 2 -- .../visit-detector/LocationLogger.cpp | 4 ++-- src/my-place/visit-detector/VisitDetector.cpp | 13 ++++++----- src/my-place/visit-detector/VisitDetector.h | 2 -- src/my-place/visit-detector/WifiLogger.cpp | 4 ++-- 8 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/my-place/facade/UserPlaces.cpp b/src/my-place/facade/UserPlaces.cpp index f29da9a..8ce7617 100755 --- a/src/my-place/facade/UserPlaces.cpp +++ b/src/my-place/facade/UserPlaces.cpp @@ -21,6 +21,7 @@ #include "UserPlaces.h" #include #include +#include #define SO_PATH "/usr/lib/context-service/libctx-prvd-my-place-places-detector.so" @@ -144,7 +145,8 @@ bool ctx::UserPlaces::onTimerExpired(int timerId) std::vector ctx::UserPlaces::__dbGetPlaces() { std::vector records; - bool ret = __dbManager->executeSync(__GET_PLACES_QUERY, &records); + DatabaseManager dbManager; + bool ret = dbManager.executeSync(__GET_PLACES_QUERY, &records); _D("load places execute query result: %s", ret ? "SUCCESS" : "FAIL"); return records; } @@ -153,7 +155,8 @@ std::map ctx::UserPlaces::__dbGetWifiAPsMap() { std::vector records; std::map wifiAPsMap; - bool ret = __dbManager->executeSync(__GET_WIFI_APS_MAP_QUERY, &records); + DatabaseManager dbManager; + bool ret = dbManager.executeSync(__GET_WIFI_APS_MAP_QUERY, &records); // TODO: add return statements if db fail _D("load Wifi APs map (size = %d), result: %s", records.size(), ret ? "SUCCESS" : "FAIL"); std::string mac = ""; diff --git a/src/my-place/facade/UserPlaces.h b/src/my-place/facade/UserPlaces.h index 3ed19d3..179fc93 100644 --- a/src/my-place/facade/UserPlaces.h +++ b/src/my-place/facade/UserPlaces.h @@ -23,7 +23,6 @@ #include #include #include -#include #include "../visit-detector/VisitDetector.h" #include "../place/PlacesDetector.h" #include "UserPlacesTypes.h" @@ -34,7 +33,6 @@ namespace ctx { private: VisitDetector *__visitDetector; - DatabaseManager *__dbManager; int __timerId; TimerManager __timerManager; std::vector __dbGetPlaces(); diff --git a/src/my-place/place/PlacesDetector.cpp b/src/my-place/place/PlacesDetector.cpp index d43b86e..e66c5ee 100644 --- a/src/my-place/place/PlacesDetector.cpp +++ b/src/my-place/place/PlacesDetector.cpp @@ -29,6 +29,7 @@ #include #include "../facade/UserPlacesParams.h" #include "../utils/DebugUtils.h" +#include #define __DELETE_PLACES_QUERY "DELETE FROM " PLACE_TABLE @@ -78,7 +79,8 @@ void ctx::PlacesDetector::detectPlaces() std::vector ctx::PlacesDetector::__dbGetVisits() { std::vector records; - bool ret = __dbManager->executeSync(__GET_VISITS_QUERY, &records); + DatabaseManager dbManager; + bool ret = dbManager.executeSync(__GET_VISITS_QUERY, &records); _D("load visits execute query result: %s", ret ? "SUCCESS" : "FAIL"); return records; } @@ -302,7 +304,8 @@ std::shared_ptr ctx::PlacesDetector::__graphFromVisits(const void ctx::PlacesDetector::__dbDeletePlaces() { std::vector records; - bool ret = __dbManager->executeSync(__DELETE_PLACES_QUERY, &records); + DatabaseManager dbManager; + bool ret = dbManager.executeSync(__DELETE_PLACES_QUERY, &records); _D("delete places execute query result: %s", ret ? "SUCCESS" : "FAIL"); } @@ -322,7 +325,8 @@ void ctx::PlacesDetector::__dbDeleteOlderVisitsThan(time_t threshold) query << " WHERE " << VISIT_COLUMN_END_TIME << " < " << threshold; // query << " AND 0"; // XXX: Always false condition. Uncomment it for not deleting any visit during development. std::vector records; - bool ret = __dbManager->executeSync(query.str().c_str(), &records); + DatabaseManager dbManager; + bool ret = dbManager.executeSync(query.str().c_str(), &records); _D("deleting visits older than: %d, result: %s", threshold, ret ? "SUCCESS" : "FAIL"); } @@ -332,13 +336,13 @@ void ctx::PlacesDetector::__dbDeleteOlderWifiAPsThan(time_t threshold) query << "DELETE FROM " << WIFI_APS_MAP_TABLE; query << " WHERE " << WIFI_APS_MAP_COLUMN_INSERT_TIME << " < " << threshold; std::vector records; - bool ret = __dbManager->executeSync(query.str().c_str(), &records); + DatabaseManager dbManager; + bool ret = dbManager.executeSync(query.str().c_str(), &records); _D("deleting Wifi APs older than: %d, result: %s", threshold, ret ? "SUCCESS" : "FAIL"); } ctx::PlacesDetector::PlacesDetector(bool testMode): - __testMode(testMode), - __dbManager(testMode ? nullptr : new DatabaseManager()) + __testMode(testMode) { if (testMode) return; @@ -347,7 +351,8 @@ ctx::PlacesDetector::PlacesDetector(bool testMode): void ctx::PlacesDetector::__dbCreateTable() { - bool ret = __dbManager->createTable(0, PLACE_TABLE, __PLACE_TABLE_COLUMNS); + DatabaseManager dbManager; + bool ret = dbManager.createTable(0, PLACE_TABLE, __PLACE_TABLE_COLUMNS); _D("db: place Table Creation Result: %s", ret ? "SUCCESS" : "FAIL"); } @@ -372,7 +377,8 @@ void ctx::PlacesDetector::__dbInsertPlace(const Place &place) data.set(NULL, PLACE_COLUMN_CREATE_DATE, static_cast(place.createDate)); int64_t rowId; - bool ret = __dbManager->insertSync(PLACE_TABLE, data, &rowId); + DatabaseManager dbManager; + bool ret = dbManager.insertSync(PLACE_TABLE, data, &rowId); _D("insert place execute query result: %s", ret ? "SUCCESS" : "FAIL"); } diff --git a/src/my-place/place/PlacesDetector.h b/src/my-place/place/PlacesDetector.h index 86b3860..d9c47cb 100644 --- a/src/my-place/place/PlacesDetector.h +++ b/src/my-place/place/PlacesDetector.h @@ -20,7 +20,6 @@ #include #include #include -#include #include "../facade/UserPlacesTypes.h" #include #include "Graph.h" @@ -31,7 +30,6 @@ namespace ctx { private: bool __testMode; - DatabaseManager *__dbManager; double __doubleValueFromJson(Json &row, const char* key); Categs __visitCategsFromJson(Json &row); diff --git a/src/my-place/visit-detector/LocationLogger.cpp b/src/my-place/visit-detector/LocationLogger.cpp index bce6ca4..cc725a7 100644 --- a/src/my-place/visit-detector/LocationLogger.cpp +++ b/src/my-place/visit-detector/LocationLogger.cpp @@ -175,7 +175,7 @@ void ctx::LocationLogger::__log(location_accessibility_state_e state) int ctx::LocationLogger::__dbCreateTable() { - ctx::DatabaseManager dbManager; + DatabaseManager dbManager; bool ret = dbManager.createTable(0, LOCATION_TABLE_NAME, __LOCATION_CREATE_TABLE_COLUMNS, NULL, NULL); _D("%s -> Table Creation Request", ret ? "SUCCESS" : "FAIL"); return 0; @@ -194,7 +194,7 @@ int ctx::LocationLogger::__dbInsertLog(LocationEvent locationEvent) data.set(NULL, LOCATION_COLUMN_METHOD, static_cast(locationEvent.method)); #endif /* TIZEN_ENGINEER_MODE */ - ctx::DatabaseManager dbManager; + DatabaseManager dbManager; int64_t rowId; bool ret = dbManager.insertSync(LOCATION_TABLE_NAME, data, &rowId); _D("%s -> DB: location table insert result", ret ? "SUCCESS" : "FAIL"); diff --git a/src/my-place/visit-detector/VisitDetector.cpp b/src/my-place/visit-detector/VisitDetector.cpp index 26353b8..a7bae95 100644 --- a/src/my-place/visit-detector/VisitDetector.cpp +++ b/src/my-place/visit-detector/VisitDetector.cpp @@ -27,6 +27,7 @@ #include "../utils/Median.h" #include "../utils/DebugUtils.h" #include +#include #define SO_PATH "/usr/lib/context-service/libctx-prvd-my-place-visit-categer.so" @@ -74,7 +75,6 @@ ctx::VisitDetector::VisitDetector(time_t startScan, PlaceRecogMode energyMode, b __tolerance(VISIT_DETECTOR_TOLERANCE_DEPTH), __entranceToPlace(false), __periodSeconds(VISIT_DETECTOR_PERIOD_SECONDS_HIGH_ACCURACY), - __dbManager(testMode ? nullptr : new DatabaseManager()), __entranceTime(0), __departureTime(0) { @@ -380,10 +380,11 @@ std::shared_ptr ctx::VisitDetector::__getVisits() void ctx::VisitDetector::__dbCreateTables() { - bool ret = __dbManager->createTable(0, VISIT_TABLE, __VISIT_TABLE_COLUMNS); + DatabaseManager dbManager; + bool ret = dbManager.createTable(0, VISIT_TABLE, __VISIT_TABLE_COLUMNS); _D("db: Visit Table Creation Result: %s", ret ? "SUCCESS" : "FAIL"); - ret = __dbManager->createTable(0, WIFI_APS_MAP_TABLE, __WIFI_APS_MAP_TABLE_COLUMNS); + ret = dbManager.createTable(0, WIFI_APS_MAP_TABLE, __WIFI_APS_MAP_TABLE_COLUMNS); _D("db: Wifi AP Map Table Creation Result: %s", ret ? "SUCCESS" : "FAIL"); } @@ -434,7 +435,8 @@ int ctx::VisitDetector::__dbInsertVisit(Visit visit) __putVisitCategsToJson(visit.categs, data); int64_t rowId; - bool ret = __dbManager->insertSync(VISIT_TABLE, data, &rowId); + DatabaseManager dbManager; + bool ret = dbManager.insertSync(VISIT_TABLE, data, &rowId); _D("db: visit table insert result: %s", ret ? "SUCCESS" : "FAIL"); return ret; } @@ -456,7 +458,8 @@ int ctx::VisitDetector::__dbInsertWifiAPsMap(Visit visit) __wifiAPsMap.clear(); query << "; \ END TRANSACTION;"; - bool ret = __dbManager->execute(0, query.str().c_str(), NULL); + DatabaseManager dbManager; + bool ret = dbManager.execute(0, query.str().c_str(), NULL); _D("DB Wifi APs map insert request: %s", ret ? "SUCCESS" : "FAIL"); return ret; } diff --git a/src/my-place/visit-detector/VisitDetector.h b/src/my-place/visit-detector/VisitDetector.h index a35ebc5..33faacb 100644 --- a/src/my-place/visit-detector/VisitDetector.h +++ b/src/my-place/visit-detector/VisitDetector.h @@ -24,7 +24,6 @@ #include #include "../facade/UserPlacesTypes.h" #include -#include #include "VisitListenerIface.h" #include "LocationLogger.h" #include "LocationListenerIface.h" @@ -51,7 +50,6 @@ namespace ctx { int __tolerance; bool __entranceToPlace; int __periodSeconds; - DatabaseManager *__dbManager; // fields that are used only in case of entrance detection std::shared_ptr __representativesMacs; // macs that represent the current place diff --git a/src/my-place/visit-detector/WifiLogger.cpp b/src/my-place/visit-detector/WifiLogger.cpp index 601d4aa..be8dfd0 100644 --- a/src/my-place/visit-detector/WifiLogger.cpp +++ b/src/my-place/visit-detector/WifiLogger.cpp @@ -36,7 +36,7 @@ int ctx::WifiLogger::__dbCreateTable() { - ctx::DatabaseManager dbManager; + DatabaseManager dbManager; bool ret = dbManager.createTable(0, WIFI_TABLE_NAME, __WIFI_CREATE_TABLE_COLUMNS, NULL, NULL); _D("Table Creation Request: %s", ret ? "SUCCESS" : "FAIL"); return ret; @@ -45,7 +45,6 @@ int ctx::WifiLogger::__dbCreateTable() int ctx::WifiLogger::__dbInsertLogs() { if (__logs.size() > 0) { - ctx::DatabaseManager dbManager; std::stringstream query; const char* separator = " "; query << "BEGIN TRANSACTION; \ @@ -59,6 +58,7 @@ int ctx::WifiLogger::__dbInsertLogs() __logs.clear(); query << "; \ END TRANSACTION;"; + DatabaseManager dbManager; bool ret = dbManager.execute(0, query.str().c_str(), NULL); _D("DB insert request: %s", ret ? "SUCCESS" : "FAIL"); return ret; -- 2.34.1