tmf: Deregister traces used for validation only from signal manager
authorBernd Hufmann <Bernd.Hufmann@ericsson.com>
Mon, 18 Nov 2013 19:37:41 +0000 (14:37 -0500)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Fri, 22 Nov 2013 21:57:40 +0000 (16:57 -0500)
Bug 421860

Change-Id: I885ab62960a8cfc8af50591e52c239d0ca9c2479
Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/18521
Reviewed-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
IP-Clean: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Tested-by: Hudson CI
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/model/TmfTraceType.java

index 5ab1d47b70342b36d08b81acdc77fd09d0286c53..c3dfb185d47891093de1235dba0a7db45f4f08bc 100644 (file)
@@ -39,6 +39,7 @@ import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomXmlTrace;
 import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomXmlTraceDefinition;
 import org.eclipse.linuxtools.internal.tmf.ui.project.model.TmfTraceImportException;
 import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
+import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
 import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
@@ -308,15 +309,21 @@ public final class TmfTraceType {
         // add the custom trace types
         for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {
             String traceTypeId = CustomTxtTrace.class.getCanonicalName() + SEPARATOR + def.definitionName;
-            TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, CUSTOM_TXT_CATEGORY, def.definitionName, new CustomTxtTrace(def));
+            ITmfTrace trace = new CustomTxtTrace(def);
+            TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, CUSTOM_TXT_CATEGORY, def.definitionName, trace);
             fTraceTypes.put(traceTypeId, tt);
             traceTypes.add(traceTypeId);
+            // Deregister trace as signal handler because it is only used for validation
+            TmfSignalManager.deregister(trace);
         }
         for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {
             String traceTypeId = CustomXmlTrace.class.getCanonicalName() + SEPARATOR + def.definitionName;
-            TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, CUSTOM_XML_CATEGORY, def.definitionName, new CustomXmlTrace(def));
+            ITmfTrace trace = new CustomXmlTrace(def);
+            TraceTypeHelper tt = new TraceTypeHelper(traceTypeId, CUSTOM_XML_CATEGORY, def.definitionName, trace);
             fTraceTypes.put(traceTypeId, tt);
             traceTypes.add(traceTypeId);
+            // Deregister trace as signal handler because it is only used for validation
+            TmfSignalManager.deregister(trace);
         }
         return traceTypes;
     }
@@ -356,6 +363,8 @@ public final class TmfTraceType {
                 ITmfTrace trace = null;
                 try {
                     trace = (ITmfTrace) ce.createExecutableExtension(TmfTraceType.TRACE_TYPE_ATTR);
+                    // Deregister trace as signal handler because it is only used for validation
+                    TmfSignalManager.deregister(trace);
                 } catch (CoreException e) {
                 }
                 TraceTypeHelper tt = new TraceTypeHelper(typeId, category, attribute, trace);
This page took 0.028014 seconds and 5 git commands to generate.