Make getPkgName() return package name instead of full application id.
authorZbigniew Kostrzewa <z.kostrzewa@samsung.com>
Fri, 12 Apr 2013 12:39:04 +0000 (14:39 +0200)
committerGerrit Code Review <gerrit2@kim11>
Mon, 15 Apr 2013 12:37:00 +0000 (21:37 +0900)
[Issue#] N/A
[Problem] WidgetDAOReadOnly::getPkgName() returns full id of the widget
instead of only its package name.
[Cause] N/A
[Solution] Return only package name from getPkgName().
[SCMRequest] N/A

[Verification]
1. Build respository.
2. Run `wrt-commons-tests-dao --output=text`.

Change-Id: I9f7ca02c255081e57f05e40b79cf7fd93968f647

modules/widget_dao/dao/widget_dao_read_only.cpp

index 960a32247bcec5f4ed083ff4f9b94da7d3e52faa..2afc1b9a63237464a08a45ad4690f92dc3812f19 100755 (executable)
@@ -155,6 +155,27 @@ TizenAppId getTizenAppIdByPkgId(const TizenPkgId tzPkgid)
     }
     SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed in getHandle")
 }
+
+WidgetPkgName getTizenPkgIdByHandle(const DbWidgetHandle handle)
+{
+    LogDebug("Getting TizenPkgId by DbWidgetHandle: " << handle);
+
+    SQL_CONNECTION_EXCEPTION_HANDLER_BEGIN
+    {
+        WRT_DB_SELECT(select, WidgetInfo, &WrtDatabase::interface())
+        select->Where(Equals<WidgetInfo::app_id>(handle));
+        WidgetInfo::Select::RowList rowList = select->GetRowList();
+
+        if (rowList.empty()) {
+            ThrowMsg(WidgetDAOReadOnly::Exception::WidgetNotExist,
+                     "Failed to get widget by handle");
+        }
+        WidgetPkgName tzPkgid = rowList.front().Get_tizen_pkgid();
+
+        return tzPkgid;
+    }
+    SQL_CONNECTION_EXCEPTION_HANDLER_END("Failed in getHandle")
+}
 } // namespace
 
 IWacSecurity::~IWacSecurity()
@@ -220,17 +241,17 @@ DbWidgetHandle WidgetDAOReadOnly::getHandle(const DPL::String tzAppId)
 
 WidgetPkgName WidgetDAOReadOnly::getPkgName() const
 {
-    return getTzAppId();
+    return getTizenPkgIdByHandle(m_widgetHandle);
 }
 
 WidgetPkgName WidgetDAOReadOnly::getPkgName(const WidgetGUID GUID)
 {
-    return getTzAppId(GUID);
+    return getTizenPkgIdByHandle(getHandle(GUID));
 }
 
 WidgetPkgName WidgetDAOReadOnly::getPkgName(const DbWidgetHandle handle)
 {
-    return getTzAppId(handle);
+    return getTizenPkgIdByHandle(handle);
 }
 
 TizenAppId WidgetDAOReadOnly::getTzAppId() const