From 5a84cd4700b2c5bc72f64a62ab7984a03c9cccae Mon Sep 17 00:00:00 2001 From: Janusz Majnert Date: Tue, 4 Dec 2012 13:53:21 +0100 Subject: [PATCH] Replacing DbWidgetHandle with WidgetPkgName in SecurityOriginDAO [Issue#] LINUXNGWAP-577 [Feature] Remove DbWidgetHandle from usage in SecurityOriginDAO [Cause] N/A [Solution] Replace widget handle with package name (Tizen ID) [Verification] Build, run DAO and DPL tests. Change-Id: I5943b2ef0f157be8fceb1b3a64851187a09a204a --- .../dao/security_origin_dao.cpp | 38 ++++++++-------------- .../security-origin-dao/security_origin_dao.h | 6 ++-- modules/widget_dao/dao/widget_dao_read_only.cpp | 2 +- 3 files changed, 18 insertions(+), 28 deletions(-) diff --git a/modules/security_origin_dao/dao/security_origin_dao.cpp b/modules/security_origin_dao/dao/security_origin_dao.cpp index 7c1334c..377358c 100644 --- a/modules/security_origin_dao/dao/security_origin_dao.cpp +++ b/modules/security_origin_dao/dao/security_origin_dao.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -55,43 +56,32 @@ const char* const SECURITY_ORIGIN_DB_NAME = ".security_origin.db"; const char* const SECURITY_ORIGIN_DB_SQL_PATH = "/usr/share/wrt-engine/security_origin_db.sql"; -std::string createDatabasePath(int widgetHandle) +std::string createDatabasePath(const WrtDB::WidgetPkgName &pkgName) { - using namespace DPL::DB::ORM; - using namespace WrtDB::WidgetConfig; - using namespace WrtDB::GlobalConfig; - - SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN - { std::stringstream filename; - WrtDB::WidgetDAOReadOnly widgetDAO(widgetHandle); - WrtDB::WidgetPkgName pkgname = widgetDAO.getPkgname_TEMPORARY_API(); - filename << GetWidgetPersistentStoragePath(pkgname) + filename << WrtDB::WidgetConfig::GetWidgetPersistentStoragePath(pkgName) << "/" << SECURITY_ORIGIN_DB_NAME; return filename.str(); - } - SQL_CONNECTION_EXCEPTION_HANDLER_END("Fail to get database Path") - } -std::string createDatabasePath(const DPL::String& tizenId) +std::string createDatabasePath(int widgetHandle) { using namespace DPL::DB::ORM; using namespace WrtDB::WidgetConfig; using namespace WrtDB::GlobalConfig; - SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN + WrtDB::WidgetPkgName pkgname; + + Try { - std::stringstream filename; - filename << GetWidgetPersistentStoragePath(tizenId) - << "/" - << SECURITY_ORIGIN_DB_NAME; - return filename.str(); + pkgname = WrtDB::WidgetDAOReadOnly::getPkgName(widgetHandle); } - SQL_CONNECTION_EXCEPTION_HANDLER_END("Fail to get database Path") - + Catch(DPL::DB::SqlConnection::Exception::Base) { + LogError("Failed to get database Path"); + } + return createDatabasePath(pkgname); } void checkDatabase(std::string databasePath) @@ -139,8 +129,8 @@ SecurityOriginDAO::SecurityOriginDAO(int handle) : m_securityOriginDBInterface.AttachToThread(SECURITY_ORIGIN_DB_OPTION); } -SecurityOriginDAO::SecurityOriginDAO(const DPL::String& tizenId): - m_securityOriginDBPath(createDatabasePath(tizenId)), +SecurityOriginDAO::SecurityOriginDAO(const WrtDB::WidgetPkgName &pkgName) : + m_securityOriginDBPath(createDatabasePath(pkgName)), m_securityOriginDBInterface(m_securityOriginDBPath, SECURITY_ORIGIN_DB_TYPE) { checkDatabase(m_securityOriginDBPath); diff --git a/modules/security_origin_dao/include/wrt-commons/security-origin-dao/security_origin_dao.h b/modules/security_origin_dao/include/wrt-commons/security-origin-dao/security_origin_dao.h index 3d6a6f3..9dc7d9c 100644 --- a/modules/security_origin_dao/include/wrt-commons/security-origin-dao/security_origin_dao.h +++ b/modules/security_origin_dao/include/wrt-commons/security-origin-dao/security_origin_dao.h @@ -24,7 +24,7 @@ #include #include -#include +#include namespace SecurityOriginDB { @@ -39,8 +39,8 @@ class SecurityOriginDAO DECLARE_EXCEPTION_TYPE(Base, DataNotExist) }; - explicit SecurityOriginDAO(int handle); - explicit SecurityOriginDAO(const DPL::String& tizenId); + explicit SecurityOriginDAO(int handle) __attribute__((deprecated)); + explicit SecurityOriginDAO(const WrtDB::WidgetPkgName &pkgName); virtual ~SecurityOriginDAO(); SecurityOriginDataList getSecurityOriginDataList(); Result getResult(const SecurityOriginData &securityOriginData); diff --git a/modules/widget_dao/dao/widget_dao_read_only.cpp b/modules/widget_dao/dao/widget_dao_read_only.cpp index 3fb817a..750d258 100644 --- a/modules/widget_dao/dao/widget_dao_read_only.cpp +++ b/modules/widget_dao/dao/widget_dao_read_only.cpp @@ -125,7 +125,7 @@ WidgetPkgName getPkgNameByHandle(const DbWidgetHandle handle) if (rowList.empty()) { ThrowMsg(WidgetDAOReadOnly::Exception::WidgetNotExist, - "Failed to get widget by package name"); + "Failed to get widget by handle"); } DPL::OptionalString pkgname = rowList.front().Get_pkgname(); if(pkgname.IsNull()){ -- 2.7.4