From: Changgyu Choi Date: Mon, 24 Aug 2020 04:28:32 +0000 (+0900) Subject: Add exception handling X-Git-Tag: accepted/tizen/unified/20200827.105730~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fdbc14a3d4ffa1ccf333bb449b277f0f9b021f4a;p=platform%2Fcore%2Fappfw%2Faul-1.git Add exception handling Change-Id: If10942309d555809833b28441ed6ff24994e1635 Signed-off-by: Changgyu Choi --- diff --git a/parser/metadata/alias-appid/plugin_manager.cc b/parser/metadata/alias-appid/plugin_manager.cc index 65dc817..44e13df 100644 --- a/parser/metadata/alias-appid/plugin_manager.cc +++ b/parser/metadata/alias-appid/plugin_manager.cc @@ -35,6 +35,11 @@ PluginManager& PluginManager::GetInst() { bool PluginManager::StepInstall(const std::unique_ptr& args) { auto* db = dynamic_cast(GetDB()); + + if (db == nullptr) { + _E("MetadataPlugin is not prepared"); + return false; + } for (auto& metadata : args->GetMetadataList()) { try { db->Insert(metadata->GetValue(), args->GetAppId()); @@ -46,9 +51,14 @@ bool PluginManager::StepInstall(const std::unique_ptr& args) { } bool PluginManager::StepUninstall(const std::unique_ptr& args) { + auto* db = dynamic_cast(GetDB()); + + if (db == nullptr) { + _E("MetadataPlugin is not prepared"); + return false; + } if (args->GetMetadataList().empty()) { try { - auto* db = dynamic_cast(GetDB()); db->Delete(args->GetAppId()); } catch (Exception& e) { _W("Failed to delete alias info. appid(%s)", args->GetAppId().c_str()); @@ -58,7 +68,6 @@ bool PluginManager::StepUninstall(const std::unique_ptr& args) { for (auto& metadata : args->GetMetadataList()) { try { - auto* db = dynamic_cast(GetDB()); db->Delete(metadata->GetValue(), args->GetAppId()); } catch (Exception& e) { return false; @@ -68,8 +77,13 @@ bool PluginManager::StepUninstall(const std::unique_ptr& args) { } bool PluginManager::StepUpgrade(const std::unique_ptr& args) { + auto* db = dynamic_cast(GetDB()); + + if (db == nullptr) { + _E("MetadataPlugin is not prepared"); + return false; + } try { - auto* db = dynamic_cast(GetDB()); db->Delete(args->GetAppId()); } catch (Exception& e) { _W("Failed to delete alias info. appid(%s)", args->GetAppId().c_str());