SRADA-407: Introduce createDataManagers*() methods and use them for CLI.
authorMaria Guseva <m.guseva@samsung.com>
Mon, 16 May 2016 11:31:16 +0000 (14:31 +0300)
committerMaria Guseva <m.guseva@samsung.com>
Thu, 30 Jun 2016 05:53:39 +0000 (14:53 +0900)
Introduce new methods createDataManagers*() in DataManagerRegistry class and
use them for implementation of setUIElements* methods of CLIAction.

* DataManagerRegistry.createDataManagers(), .createDataManagersByTarget() - new
methods.
* CLIAction.setUIElements(), .setUIElementsBySetting(), .setPageBySetting() -
implemented.

Change-Id: I7cae4fdec33c4411d1dff825ce9e9e512f67ac41

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/CLIAction.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/DataManagerRegistry.java

index 664056a..67330fb 100644 (file)
@@ -1,10 +1,16 @@
 package org.tizen.dynamicanalyzer.handlers;
 
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.eclipse.swt.widgets.Shell;
 import org.tizen.dynamicanalyzer.common.DAResult;
 import org.tizen.dynamicanalyzer.project.Project;
+import org.tizen.dynamicanalyzer.setting.SettingDataManager;
+import org.tizen.dynamicanalyzer.setting.TargetData;
+import org.tizen.dynamicanalyzer.swap.logparser.DataManagerRegistry;
 
 public class CLIAction implements UIAction {
 
@@ -82,18 +88,22 @@ public class CLIAction implements UIAction {
 
        @Override
        public void setUIElements(Project project) {
-               // TODO Auto-generated method stub
+               String[] pageNames = project.getPageTabList();
+               final Set<String> pageNameSet = new HashSet<String>(
+                               Arrays.asList(pageNames));
+               DataManagerRegistry.createDataManagers(pageNameSet);
        }
 
        @Override
        public void setUIElementsBySetting() {
-               // TODO Auto-generated method stub
+               setPageBySetting();
        }
 
        @Override
        public void setPageBySetting() {
-               // TODO Auto-generated method stub
-
+               TargetData target = SettingDataManager.INSTANCE.getConnectedTarget();
+               final String targetName = target.getTargetName();
+               DataManagerRegistry.createDataManagersByTarget(targetName);
        }
 
 }
index c0a1dee..ce9adce 100644 (file)
@@ -62,6 +62,27 @@ public class DataManagerRegistry {
                }
        }
 
+       /**
+        * Register PageDataManager objects required for given set of pages.
+        *
+        * @param pageNames set of pages names according to settings
+        */
+       public static void createDataManagers(Set<String> pageNames) {
+               for (String pageName : pageNames) {
+                       createDataManagers(pageName);
+               }
+       }
+
+       /**
+        * Register PageDataManager objects required for given target based on
+        * current settings.
+        *
+        * @param targetName target name
+        */
+       public static void createDataManagersByTarget(String targetName) {
+               createDataManagers(PageInfoRegistry.getPageNamesByTarget(targetName));
+       }
+
        public static Set<Entry<String, PageDataManager>> getEntrySet() {
                return dataManagers.entrySet();
        }