tmf: Unify import and validate methods
authorBernd Hufmann <Bernd.Hufmann@ericsson.com>
Fri, 7 Feb 2014 13:10:27 +0000 (08:10 -0500)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Fri, 14 Feb 2014 17:54:58 +0000 (12:54 -0500)
There is less duplicate code now.

Change-Id: If7941bc2b812d421a4b17ca6fa872ba424b1c614
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/21840
Tested-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/importtrace/ImportTraceWizardPage.java

index ae62c07c36b85da64e748a6ab651c46a9ac8af1f..d7e69d0af11f728d6a92ad89fd986bc39f7845a3 100644 (file)
@@ -744,7 +744,7 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
                         if (!folderElements.containsKey(resourcePath)) {
                             if (isDirectoryTrace(element)) {
                                 folderElements.put(resourcePath, element);
-                                validateAndImportDirectoryTrace(element, sub);
+                                validateAndImportTrace(element, sub);
                             }
                         }
                     } else {
@@ -755,10 +755,10 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
                         if (!folderElements.containsKey(parentPath)) {
                             if (isDirectoryTrace(parentElement)) {
                                 folderElements.put(parentPath, parentElement);
-                                validateAndImportDirectoryTrace(parentElement, sub);
+                                validateAndImportTrace(parentElement, sub);
                             } else {
                                 if (fileResource.exists()) {
-                                    validateAndImportFileTrace(element, sub);
+                                    validateAndImportTrace(element, sub);
                                 }
                             }
                         }
@@ -773,13 +773,14 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
             }
         }
 
-        private void validateAndImportDirectoryTrace(TraceFileSystemElement fileSystemElement, IProgressMonitor monitor)
+        private void validateAndImportTrace(TraceFileSystemElement fileSystemElement, IProgressMonitor monitor)
                 throws TmfTraceImportException, CoreException, InvocationTargetException, InterruptedException {
             File file = (File) fileSystemElement.getFileSystemObject();
             String path = file.getAbsolutePath();
             TraceTypeHelper traceTypeHelper = null;
-            boolean sendValidationError = true;
+
             if (fTraceType == null) {
+                // Auto Detection
                 try {
                     traceTypeHelper = TmfTraceTypeUIUtils.selectTraceType(path, null, null);
                 } catch (TmfTraceImportException e) {
@@ -792,67 +793,29 @@ public class ImportTraceWizardPage extends WizardResourceImportPage {
                     return;
                 }
             } else {
-                if (!TmfTraceType.getInstance().isDirectoryTraceType(fTraceType)) {
+                boolean isDirectoryTraceType = TmfTraceType.getInstance().isDirectoryTraceType(fTraceType);
+                if (fileSystemElement.isDirectory() != isDirectoryTraceType) {
                     return;
                 }
-                sendValidationError = false;
                 traceTypeHelper = TmfTraceType.getInstance().getTraceType(fTraceType);
-            }
-            validateAndImportTrace(fileSystemElement, traceTypeHelper, sendValidationError, monitor);
-        }
-
-        private void validateAndImportFileTrace(TraceFileSystemElement fileSystemElement, IProgressMonitor monitor)
-                throws TmfTraceImportException, CoreException, InvocationTargetException, InterruptedException {
-
-
-            File file = (File) fileSystemElement.getFileSystemObject();
-            String path = file.getAbsolutePath();
-            TraceTypeHelper traceTypeHelper = null;
-            boolean sendValidationError = true;
 
-            if (fTraceType == null) {
-                try {
-                    traceTypeHelper = TmfTraceTypeUIUtils.selectTraceType(path, null, null);
-                } catch (TmfTraceImportException e) {
-                    // the trace did not match any trace type
-                }
                 if (traceTypeHelper == null) {
-                    if (fImportUnrecognizedTraces) {
-                        importResource(fileSystemElement, monitor);
-                    }
-                    return;
+                    // Trace type not found
+                    throw new TmfTraceImportException(Messages.ImportTraceWizard_TraceTypeNotFound);
                 }
-            } else {
-                if (TmfTraceType.getInstance().isDirectoryTraceType(fTraceType)) {
+
+                if (!traceTypeHelper.validate(path)) {
+                    // Trace type exist but doesn't validate for given trace.
                     return;
                 }
-                sendValidationError = false;
-                traceTypeHelper = TmfTraceType.getInstance().getTraceType(fTraceType);
             }
 
-            validateAndImportTrace(fileSystemElement, traceTypeHelper, sendValidationError, monitor);
-            return;
-        }
-
-        private void validateAndImportTrace(TraceFileSystemElement fileSystemElement, TraceTypeHelper traceTypeHelper, boolean sendValidationError, IProgressMonitor monitor)
-                throws InvocationTargetException, InterruptedException, CoreException, TmfTraceImportException {
-
-            if (traceTypeHelper == null) {
-                throw new TmfTraceImportException(Messages.ImportTraceWizard_TraceTypeNotFound);
+            // Finally import trace
+            if (importResource(fileSystemElement, monitor)) {
+                IResource eclipseResource = fTargetFolder.findMember(fileSystemElement.getLabel());
+                TmfTraceTypeUIUtils.setTraceType(eclipseResource.getFullPath(), traceTypeHelper);
             }
-            File file = (File) fileSystemElement.getFileSystemObject();
-            String path = file.getAbsolutePath();
 
-            if (TmfTraceType.getInstance().validate(traceTypeHelper.getCanonicalName(), path)) {
-                if (importResource(fileSystemElement, monitor)) {
-                    IResource eclipseResource = fTargetFolder.findMember(fileSystemElement.getLabel());
-                    TmfTraceTypeUIUtils.setTraceType(eclipseResource.getFullPath(), traceTypeHelper);
-                }
-                return;
-            }
-            if (sendValidationError) {
-                throw new TmfTraceImportException(NLS.bind(Messages.ImportTraceWizard_TraceValidationFailed, path));
-            }
         }
 
         /**
This page took 0.026544 seconds and 5 git commands to generate.