import org.tizen.dynamicanalyzer.communicator.DeviceInfo;
import org.tizen.dynamicanalyzer.communicator.DeviceManager;
import org.tizen.dynamicanalyzer.handlers.CommandAction;
+import org.tizen.dynamicanalyzer.handlers.UIActionHolder;
import org.tizen.dynamicanalyzer.project.PackageInfo;
import org.tizen.dynamicanalyzer.setting.SettingDataManager;
import org.tizen.dynamicanalyzer.setting.TargetData;
}
Logger.debug("Set current template: " + args.getTemplate());
+ // Create all needed data managers before
+ UIActionHolder.getUIAction().setUIElementsBySetting();
CommandAction.startTrace(false);
Logger.debug("Tracing started");
import org.tizen.dynamicanalyzer.setting.SettingDataManager;
import org.tizen.dynamicanalyzer.setting.TargetData;
import org.tizen.dynamicanalyzer.swap.logparser.DataManagerRegistry;
+import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackInserter;
+import org.tizen.dynamicanalyzer.util.Logger;
public class CLIAction implements UIAction {
@Override
public void setUIElementsBySetting() {
setPageBySetting();
+ // In case of GUI CallStackInserter is created in CallstackView class.
+ // TODO Generalize this step for GUI and CLI
+ CallStackInserter inserter = CallStackInserter.getInstance();
+ if (inserter == null) {
+ Logger.warning("Could not create CallStackInserter");
+ }
}
@Override
PageInfo timelinePageInfo = new PageInfo(TimelinePage.class,
SettingConstants.PAGE_NAME_TIME_LINE, true);
- timelinePageInfo.addDataManager(TimelineChartManager.class);
+ // FIXME TimelineChartManager is not supported for CLI mode as it
+ // involves GUI interactions. So it's disabled for CLI until fixed.
+ if (Global.isGUIMode())
+ timelinePageInfo.addDataManager(TimelineChartManager.class);
timelinePageInfo.addDataManager(ReplayDataManager.class);
timelinePageInfo.addDataManager(CallTraceDataManager.class);
+ // InteractiveDataManager is not supported in CLI mode
if (Global.isGUIMode()) {
timelinePageInfo.addDataManager(InteractiveDataManager.class);
// Screenshots are not tested in CLI mode yet
PageInfo interactivePageInfo = new PageInfo(InteractivePage.class,
SettingConstants.PAGE_NAME_INTERACTIVE);
- interactivePageInfo.addDataManager(InteractiveDataManager.class);
+ // InteractiveDataManager is not supported in CLI mode
+ if (Global.isGUIMode())
+ interactivePageInfo.addDataManager(InteractiveDataManager.class);
PageInfo hierarchyPageInfo = new PageInfo(HierarchyPage.class,
SettingConstants.PAGE_NAME_HIERARCHY);
// add default pages
selectedPageSet.addAll(defaultPages);
// Add interactive page when needed
- if (!InteractiveDataManager.getInstance().getVariableInfoList().isEmpty()) {
+ if (Global.isGUIMode() && !InteractiveDataManager.getInstance().getVariableInfoList().isEmpty()) {
selectedPageSet.add(SettingConstants.PAGE_NAME_INTERACTIVE);
}
return selectedPageSet;