bootstrap: findelement refactoring accepted/tizen/unified/20200325.055659 submit/tizen/20200324.103919
authorWonki Kim <wonki_.kim@samsung.com>
Mon, 23 Mar 2020 12:06:17 +0000 (21:06 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 24 Mar 2020 09:05:56 +0000 (18:05 +0900)
Change-Id: If1ecec77bb8cdaf415ef89cf0b7b470437871037

bootstrap/server/inc/Commands/FindElementCommand.h
bootstrap/server/src/Commands/FindElementCommand.cc

index 989ad81..488e321 100644 (file)
@@ -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<UiSelector> getSelector(void);
 };
-
 #endif
\ No newline at end of file
index 22e950a..cc9912e 100644 (file)
@@ -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<UiSelector> FindElementCommand::getSelector(void)
+{
+    return Sel::text(mRequest->textfield());
+}
 
-    std::unique_ptr<UiSelector> 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<std::unique_ptr<UiObject>> founds =
-        searchableObj->findObjects(sel.get());
+    std::vector<std::unique_ptr<UiObject>> founds = searchableObj->findObjects(sel);
 
     if (founds.size() > 0) {
         for (auto& found : founds) {