Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Tasse2019-06-20 21:33:10 +0000
committerPatrick Tasse2019-06-25 20:18:31 +0000
commit86bcd4b37a8673ce3a9d319ce2d4f0692c1f0f0c (patch)
treef3a2c30380e5f310abffff7e3aaf9055c5ef4b6b
parentdf1ab9fd861de386885f51f950ec55fd1368aba7 (diff)
downloadorg.eclipse.tracecompass-86bcd4b37a8673ce3a9d319ce2d4f0692c1f0f0c.tar.gz
org.eclipse.tracecompass-86bcd4b37a8673ce3a9d319ce2d4f0692c1f0f0c.tar.xz
org.eclipse.tracecompass-86bcd4b37a8673ce3a9d319ce2d4f0692c1f0f0c.zip
tmf: Validate element under trace folder in TmfOpenTraceHelper
When opening an experiment trace, if the underlying trace has been removed from the file system in the background, the call to TmfTraceElement.getElementUnderTraceFolder() will return itself, e.g. the trace under the experiment element. In that case the OpenProjectElementJob can later fail with a strange error message (e.g. 'Path must be a valid directory' for a CTF trace), because the experiment trace's resource (a dummy empty file) is being used. The code now checks for this condition early and fails with the message 'Trace <element path> not found'. Change-Id: I17b3b075355c5f972a5e5b126c92d485fc11f630 Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com> Reviewed-on: https://git.eclipse.org/r/144582 Tested-by: CI Bot Reviewed-by: Simon Delisle <simon.delisle@ericsson.com> Tested-by: Simon Delisle <simon.delisle@ericsson.com>
-rw-r--r--tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfOpenTraceHelper.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfOpenTraceHelper.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfOpenTraceHelper.java
index d0652df68e..511b17c26e 100644
--- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfOpenTraceHelper.java
+++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfOpenTraceHelper.java
@@ -311,7 +311,13 @@ public class TmfOpenTraceHelper {
// the traces folder
element = element.getElementUnderTraceFolder();
- ITmfTrace trace = openTraceElement(element);
+ ITmfTrace trace = null;
+ if (element.getParent() instanceof TmfExperimentElement) {
+ TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, element.getTypeName()),
+ NLS.bind(Messages.TmfOpenTraceHelper_TraceNotFound, element.getElementPath()));
+ } else {
+ trace = openTraceElement(element);
+ }
if (trace == null) {
for (int j = 0; j < i; j++) {

Back to the top