[TMF] NPE in BatchImportTraceWizard.recurse
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / wizards / importtrace / BatchImportTraceWizard.java
index 98048a9c52b4cbbab7e42f0f1eae1defbb79c75e..d5d98cfdf02822832061bf99837f4d69c90975da 100644 (file)
@@ -166,9 +166,10 @@ public class BatchImportTraceWizard extends ImportTraceWizard {
      *            the file to scan
      */
     public void addFileToScan(final String fileName) {
-        if (!fParentFiles.containsKey(fileName)) {
-            fParentFiles.put(fileName, new HashSet<String>());
-            startUpdateTask(Messages.BatchImportTraceWizardAdd + ' ' + fileName, fileName);
+        String absolutePath = new File(fileName).getAbsolutePath();
+        if (!fParentFiles.containsKey(absolutePath)) {
+            fParentFiles.put(absolutePath, new HashSet<String>());
+            startUpdateTask(Messages.BatchImportTraceWizardAdd + ' ' + absolutePath, absolutePath);
 
         }
 
@@ -186,7 +187,7 @@ public class BatchImportTraceWizard extends ImportTraceWizard {
         startUpdateTask(Messages.BatchImportTraceWizardRemove + ' ' + fileName, null);
     }
 
-    private void startUpdateTask(final String taskName, final String fileName) {
+    private void startUpdateTask(final String taskName, final String fileAbsolutePath) {
         try {
             this.getContainer().run(true, true, new IRunnableWithProgress() {
 
@@ -199,7 +200,7 @@ public class BatchImportTraceWizard extends ImportTraceWizard {
                         sm = SubMonitor.convert(monitor);
                         sm.setTaskName(taskName);
                         sm.setWorkRemaining(TOTALWORK);
-                        updateFiles(sm, fileName);
+                        updateFiles(sm, fileAbsolutePath);
                         sm.done();
                     }
                 }
@@ -592,7 +593,7 @@ public class BatchImportTraceWizard extends ImportTraceWizard {
     /*
      * I am a job. Make me work
      */
-    private synchronized IStatus updateFiles(IProgressMonitor monitor, String traceToScan) {
+    private synchronized IStatus updateFiles(IProgressMonitor monitor, String traceToScanAbsPath) {
         final Set<String> filesToScan = new TreeSet<String>();
 
         int workToDo = 1;
@@ -611,8 +612,8 @@ public class BatchImportTraceWizard extends ImportTraceWizard {
                 final Set<String> parentFilesToScan = fParentFiles.get(fileToAdd.getAbsolutePath());
                 recurse(parentFilesToScan, fileToAdd, monitor, step);
                 if (monitor.isCanceled()) {
-                    fParentFilesToScan.remove(traceToScan);
-                    fParentFiles.remove(traceToScan);
+                    fParentFilesToScan.remove(traceToScanAbsPath);
+                    fParentFiles.remove(traceToScanAbsPath);
                     return CANCEL_STATUS;
                 }
             }
@@ -623,8 +624,8 @@ public class BatchImportTraceWizard extends ImportTraceWizard {
             }
             IStatus cancelled = updateScanQueue(monitor, filesToScan, fTraceTypesToScan);
             if (cancelled.matches(IStatus.CANCEL)) {
-                fParentFilesToScan.remove(traceToScan);
-                fParentFiles.remove(traceToScan);
+                fParentFilesToScan.remove(traceToScanAbsPath);
+                fParentFiles.remove(traceToScanAbsPath);
             }
         } catch (InterruptedException e) {
             monitor.done();
This page took 0.029805 seconds and 5 git commands to generate.