import org.apache.log4j.Logger;
import org.apache.log4j.varia.NullAppender;
-import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.tracecompass.tmf.ctf.core.tests.shared.CtfTmfTestTrace;
import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace;
import org.eclipse.tracecompass.tmf.ui.editors.TmfEventsEditor;
-import org.eclipse.tracecompass.tmf.ui.project.model.TmfTracesFolder;
import org.eclipse.tracecompass.tmf.ui.swtbot.tests.SWTBotUtil;
import org.eclipse.tracecompass.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
import org.eclipse.tracecompass.tmf.ui.views.histogram.HistogramView;
import org.eclipse.tracecompass.tmf.ui.views.statistics.TmfStatisticsView;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IViewReference;
import org.eclipse.ui.PlatformUI;
SWTBotUtil.waitForJobs();
}
- /**
- * Opens and get the TmfEventsEditor
- *
- * @param elementPath
- * the trace element path (relative to Traces folder)
- * @return TmfEventsEditor
- */
- protected TmfEventsEditor openEditor(IPath elementPath) {
- final SWTBotView projectExplorerBot = fBot.viewById(IPageLayout.ID_PROJECT_EXPLORER);
- projectExplorerBot.setFocus();
-
- final SWTBotTree tree = fBot.tree();
- final SWTBotTreeItem treeItem = tree.getTreeItem(getProjectName());
- treeItem.expand();
-
- String nodeName = getFullNodeName(treeItem, TmfTracesFolder.TRACES_FOLDER_NAME);
- fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(nodeName, treeItem));
- SWTBotTreeItem tracesNode = treeItem.getNode(nodeName);
- tracesNode.expand();
-
- SWTBotTreeItem currentNode = tracesNode;
- for (String segment : elementPath.segments()) {
- String fullNodeName = getFullNodeName(currentNode, segment);
- fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(fullNodeName, currentNode));
- SWTBotTreeItem newNode = currentNode.getNode(fullNodeName);
- newNode.select();
- newNode.doubleClick();
- currentNode = newNode;
- }
-
- SWTBotUtil.delay(1000);
- SWTBotUtil.waitForJobs();
- final String expectedTitle = elementPath.toString();
-
- final IEditorPart iep[] = new IEditorPart[1];
- UIThreadRunnable.syncExec(new VoidResult() {
- @Override
- public void run() {
- IEditorReference[] ieds = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
- assertNotNull(ieds);
- iep[0] = null;
- for (IEditorReference ied : ieds) {
- if (ied.getTitle().equals(expectedTitle)) {
- iep[0] = ied.getEditor(true);
- break;
- }
- }
- }
- });
- assertNotNull(iep[0]);
- return (TmfEventsEditor) iep[0];
- }
-
- private static String getFullNodeName(final SWTBotTreeItem treeItem, String prefix) {
- List<String> nodes = treeItem.getNodes();
- String nodeName = "";
- for (String node : nodes) {
- if (node.startsWith(prefix)) {
- nodeName = node;
- }
- }
- return nodeName;
- }
-
/**
* Finishes the wizard
*/
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.swt.widgets.Display;
import org.eclipse.tracecompass.tmf.ui.project.model.TmfOpenTraceHelper;
import org.eclipse.tracecompass.tmf.ui.project.model.TmfProjectRegistry;
import org.eclipse.tracecompass.tmf.ui.project.model.TmfTraceFolder;
+import org.eclipse.tracecompass.tmf.ui.project.model.TmfTracesFolder;
import org.eclipse.tracecompass.tmf.ui.swtbot.tests.conditions.ConditionHelpers;
import org.eclipse.tracecompass.tmf.ui.views.TracingPerspectiveFactory;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.WorkbenchException;
import org.hamcrest.Matcher;
+
/**
* SWTBot Helper functions
*
}
/**
- * Opens an editor and sets focus to the editor
+ * Finds an editor and sets focus to the editor
*
* @param bot
* the workbench bot
* the editor name
* @return the corresponding SWTBotEditor
*/
- public static SWTBotEditor openEditor(SWTWorkbenchBot bot, String editorName) {
+ public static SWTBotEditor activateEditor(SWTWorkbenchBot bot, String editorName) {
Matcher<IEditorReference> matcher = WidgetMatcherFactory.withPartName(editorName);
final SWTBotEditor editorBot = bot.editor(matcher);
IEditorPart iep = editorBot.getReference().getEditor(true);
assertNotNull(tmfEd);
return editorBot;
}
+
+ /**
+ * Opens a trace in an editor and get the TmfEventsEditor
+ *
+ * @param bot
+ * the workbench bot
+ * @param projectName
+ * the name of the project that contains the trace
+ * @param elementPath
+ * the trace element path (relative to Traces folder)
+ * @return TmfEventsEditor the opened editor
+ */
+ public static TmfEventsEditor openEditor(SWTWorkbenchBot bot, String projectName, IPath elementPath) {
+ final SWTBotView projectExplorerBot = bot.viewById(IPageLayout.ID_PROJECT_EXPLORER);
+ projectExplorerBot.setFocus();
+
+ final SWTBotTree tree = bot.tree();
+ final SWTBotTreeItem treeItem = tree.getTreeItem(projectName);
+ treeItem.expand();
+
+ String nodeName = getFullNodeName(treeItem, TmfTracesFolder.TRACES_FOLDER_NAME);
+ bot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(nodeName, treeItem));
+ SWTBotTreeItem tracesNode = treeItem.getNode(nodeName);
+ tracesNode.expand();
+
+ SWTBotTreeItem currentNode = tracesNode;
+ for (String segment : elementPath.segments()) {
+ String fullNodeName = getFullNodeName(currentNode, segment);
+ bot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(fullNodeName, currentNode));
+ SWTBotTreeItem newNode = currentNode.getNode(fullNodeName);
+ newNode.select();
+ newNode.doubleClick();
+ currentNode = newNode;
+ }
+
+ SWTBotUtil.delay(1000);
+ SWTBotUtil.waitForJobs();
+ final String expectedTitle = elementPath.toString();
+
+ final IEditorPart iep[] = new IEditorPart[1];
+ UIThreadRunnable.syncExec(new VoidResult() {
+ @Override
+ public void run() {
+ IEditorReference[] ieds = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
+ assertNotNull(ieds);
+ iep[0] = null;
+ for (IEditorReference ied : ieds) {
+ if (ied.getTitle().equals(expectedTitle)) {
+ iep[0] = ied.getEditor(true);
+ break;
+ }
+ }
+ }
+ });
+ assertNotNull(iep[0]);
+ return (TmfEventsEditor) iep[0];
+ }
+
+ private static String getFullNodeName(final SWTBotTreeItem treeItem, String prefix) {
+ List<String> nodes = treeItem.getNodes();
+ String nodeName = "";
+ for (String node : nodes) {
+ if (node.startsWith(prefix)) {
+ nodeName = node;
+ }
+ }
+ return nodeName;
+ }
}