tmf: Log the exception when error occurs while opening a trace
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / project / model / TmfOpenTraceHelper.java
index 38d37be11422b05e333dcde161c600ce4cf6ae94..cb644509be9ec93d8f5e1429cb85c87c606cdf40 100644 (file)
@@ -16,6 +16,7 @@
 package org.eclipse.tracecompass.tmf.ui.project.model;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.List;
 
 import org.eclipse.core.resources.IFile;
@@ -185,7 +186,12 @@ public class TmfOpenTraceHelper {
         final IResource candidate = folder.findMember(name);
         if (candidate != null) {
             final IPath rawLocation = candidate.getRawLocation();
-            final File file = rawLocation.toFile();
+            File file = rawLocation.toFile();
+            try {
+                file = file.getCanonicalFile();
+            } catch (IOException e) {
+                /* just use original file path */
+            }
             return !file.equals(traceFile);
         }
         return false;
@@ -204,7 +210,12 @@ public class TmfOpenTraceHelper {
      */
     private static String getTraceName(String path, IFolder folder) {
         String name;
-        final File traceFile = new File(path);
+        File traceFile = new File(path);
+        try {
+            traceFile = traceFile.getCanonicalFile();
+        } catch (IOException e) {
+            /* just use original file path */
+        }
         name = traceFile.getName();
         for (int i = 2; isWrongMember(folder, name, traceFile); i++) {
             name = traceFile.getName() + '(' + i + ')';
@@ -252,7 +263,7 @@ public class TmfOpenTraceHelper {
             trace.initTrace(traceElement.getResource(), traceElement.getResource().getLocation().toOSString(), traceEvent.getClass(), traceElement.getElementPath(), traceElement.getTraceType());
         } catch (final TmfTraceException e) {
             TraceUtils.displayErrorMsg(NLS.bind(Messages.TmfOpenTraceHelper_OpenElement, traceElement.getTypeName()),
-                    Messages.TmfOpenTraceHelper_InitError + ENDL + ENDL + e);
+                    Messages.TmfOpenTraceHelper_InitError + ENDL + ENDL + e, e);
             trace.dispose();
             return null;
         }
This page took 0.026473 seconds and 5 git commands to generate.