tmf: Fix Select Traces command does not refresh trace type
authorPatrick Tasse <patrick.tasse@gmail.com>
Fri, 11 Apr 2014 21:01:56 +0000 (17:01 -0400)
committerPatrick Tasse <patrick.tasse@gmail.com>
Tue, 22 Apr 2014 13:28:29 +0000 (09:28 -0400)
The trace type for an experiment trace in the Properties view did not
appear until restart.

Change-Id: I426403cca68ad650637c9d625198ce80948fb977
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/24883
Tested-by: Hudson CI
Reviewed-by: 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/model/TmfExperimentElement.java

index e9edcff9597c58f402ec52f4d75fc4da00df6aef..5b8fd4390136e28f2cbbf332c5bfa48be9ddcbea 100644 (file)
@@ -35,6 +35,7 @@ import org.eclipse.core.runtime.QualifiedName;
 import org.eclipse.linuxtools.internal.tmf.ui.Activator;
 import org.eclipse.linuxtools.tmf.core.TmfCommonConstants;
 import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType;
+import org.eclipse.linuxtools.tmf.core.project.model.TraceTypeHelper;
 import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
 import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
 import org.eclipse.linuxtools.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
@@ -242,13 +243,15 @@ public class TmfExperimentElement extends TmfCommonProjectElement implements IPr
         IWorkspace workspace = ResourcesPlugin.getWorkspace();
         try {
             Map<QualifiedName, String> properties = trace.getResource().getPersistentProperties();
-            String traceType = properties.get(TmfCommonConstants.TRACETYPE);
+            TraceTypeHelper traceType = TmfTraceType.getInstance().getTraceType(properties.get(TmfCommonConstants.TRACETYPE));
 
             if (resource instanceof IFolder) {
                 IFolder folder = experiment.getFolder(trace.getName());
                 if (workspace.validateLinkLocation(folder, location).isOK()) {
                     folder.createLink(location, IResource.REPLACE, null);
-                    setProperties(folder, traceType);
+                    if (traceType != null) {
+                        TmfTraceTypeUIUtils.setTraceType(folder, traceType);
+                    }
 
                 } else {
                     Activator.getDefault().logError("Error creating link. Invalid trace location " + location); //$NON-NLS-1$
@@ -257,7 +260,9 @@ public class TmfExperimentElement extends TmfCommonProjectElement implements IPr
                 IFile file = experiment.getFile(trace.getName());
                 if (workspace.validateLinkLocation(file, location).isOK()) {
                     file.createLink(location, IResource.REPLACE, null);
-                    setProperties(file, traceType);
+                    if (traceType != null) {
+                        TmfTraceTypeUIUtils.setTraceType(file, traceType);
+                    }
                 } else {
                     Activator.getDefault().logError("Error creating link. Invalid trace location " + location); //$NON-NLS-1$
                 }
@@ -286,10 +291,6 @@ public class TmfExperimentElement extends TmfCommonProjectElement implements IPr
         deleteSupplementaryResources();
     }
 
-    private static void setProperties(IResource resource, String traceType) throws CoreException {
-        resource.setPersistentProperty(TmfCommonConstants.TRACETYPE, traceType);
-    }
-
     @Override
     public IFile createBookmarksFile() throws CoreException {
         return createBookmarksFile(getProject().getExperimentsFolder().getResource(), TmfExperiment.class.getCanonicalName());
This page took 0.029268 seconds and 5 git commands to generate.