From: Wonki Kim Date: Mon, 23 Mar 2020 12:06:17 +0000 (+0900) Subject: bootstrap: findelement refactoring X-Git-Tag: accepted/tizen/unified/20200325.055659^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=662ff59b099edf62e987e19cbe66fec14e27fa3e;p=platform%2Fcore%2Fuifw%2Faurum.git bootstrap: findelement refactoring Change-Id: If1ecec77bb8cdaf415ef89cf0b7b470437871037 --- diff --git a/bootstrap/server/inc/Commands/FindElementCommand.h b/bootstrap/server/inc/Commands/FindElementCommand.h index 989ad81..488e321 100644 --- a/bootstrap/server/inc/Commands/FindElementCommand.h +++ b/bootstrap/server/inc/Commands/FindElementCommand.h @@ -9,17 +9,19 @@ #include "config.h" class FindElementCommand : public Command { -private: +protected: const ::aurum::ReqFindElement* mRequest; ::aurum::RspFindElement* mResponse; -private: +protected: ObjectMapper* mObjMap; public: FindElementCommand(const ::aurum::ReqFindElement* request, ::aurum::RspFindElement* response); ::grpc::Status execute() override; +protected: + virtual ISearchable* getSearchableTop(void); + virtual std::shared_ptr getSelector(void); }; - #endif \ No newline at end of file diff --git a/bootstrap/server/src/Commands/FindElementCommand.cc b/bootstrap/server/src/Commands/FindElementCommand.cc index 22e950a..cc9912e 100644 --- a/bootstrap/server/src/Commands/FindElementCommand.cc +++ b/bootstrap/server/src/Commands/FindElementCommand.cc @@ -15,27 +15,28 @@ FindElementCommand::FindElementCommand(const ::aurum::ReqFindElement* request, { mObjMap = ObjectMapper::getInstance(); } - -::grpc::Status FindElementCommand::execute() +ISearchable* FindElementCommand::getSearchableTop(void) { - LOG_SCOPE_F(INFO, "findElement --------------- "); - - bool fromObject = mRequest->elementid().empty() == false; ISearchable* searchableObj = nullptr; - - LOG_SCOPE_F(INFO, "fromObject:%d ei:%s tf:%s", fromObject, - mRequest->elementid().c_str(), mRequest->textfield().c_str()); + bool fromObject = mRequest->elementid().empty() == false; if (fromObject) searchableObj = mObjMap->getElement(mRequest->elementid()); + if (!searchableObj) searchableObj = UiDevice::getInstance(DeviceType::DEFAULT); - if (searchableObj == nullptr) - searchableObj = UiDevice::getInstance(DeviceType::DEFAULT); + return searchableObj; +} +std::shared_ptr FindElementCommand::getSelector(void) +{ + return Sel::text(mRequest->textfield()); +} - std::unique_ptr sel = Sel::text(mRequest->textfield()); - sel->type(mRequest->widgettype()); +::grpc::Status FindElementCommand::execute() +{ + LOG_SCOPE_F(INFO, "findElement --------------- "); + auto searchableObj = getSearchableTop(); + auto sel = getSelector(); - std::vector> founds = - searchableObj->findObjects(sel.get()); + std::vector> founds = searchableObj->findObjects(sel); if (founds.size() > 0) { for (auto& found : founds) {