Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-Andre Laperle2015-01-27 00:30:53 +0000
committerMarc-Andre Laperle2015-01-28 20:43:07 +0000
commit58ffe0790a0327c0b6d58b026fafeae8fbd7abc8 (patch)
tree2c25b0601038ce670a83c3bdd4ff527a3cdc4c20 /org.eclipse.tracecompass.tmf.ui
parentc9151600aa015195fefc6588d56b46c4cd90a569 (diff)
downloadorg.eclipse.tracecompass-58ffe0790a0327c0b6d58b026fafeae8fbd7abc8.tar.gz
org.eclipse.tracecompass-58ffe0790a0327c0b6d58b026fafeae8fbd7abc8.tar.xz
org.eclipse.tracecompass-58ffe0790a0327c0b6d58b026fafeae8fbd7abc8.zip
Bug 448502 - Problem opening experiments and CTF traces after restart
Change-Id: I5ff2aaf0335626eef1f1fc60b22737eb7f974d59 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com> Reviewed-on: https://git.eclipse.org/r/40414 Reviewed-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
Diffstat (limited to 'org.eclipse.tracecompass.tmf.ui')
-rw-r--r--org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/editors/ITmfEventsEditorConstants.java30
-rw-r--r--org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/editors/TmfEventsEditor.java17
-rw-r--r--org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfCommonProjectElement.java10
-rw-r--r--org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfExperimentElement.java5
-rw-r--r--org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfTraceElement.java6
5 files changed, 54 insertions, 14 deletions
diff --git a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/editors/ITmfEventsEditorConstants.java b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/editors/ITmfEventsEditorConstants.java
new file mode 100644
index 0000000000..3ad68c9394
--- /dev/null
+++ b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/editors/ITmfEventsEditorConstants.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Ericsson.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Marc-Andre Laperle - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.internal.tmf.ui.editors;
+
+
+/**
+ * Constants for the TMF UI components
+ *
+ * @noimplement
+ */
+public interface ITmfEventsEditorConstants {
+ /**
+ * The trace editor input type.
+ */
+ String TRACE_EDITOR_INPUT_TYPE = "editorInputType.trace"; //$NON-NLS-1$
+
+ /**
+ * The trace editor input type.
+ */
+ String EXPERIMENT_EDITOR_INPUT_TYPE = "editorInputType.experiment"; //$NON-NLS-1$
+}
diff --git a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/editors/TmfEventsEditor.java b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/editors/TmfEventsEditor.java
index 5d40407023..a2c284a723 100644
--- a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/editors/TmfEventsEditor.java
+++ b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/editors/TmfEventsEditor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
+ * Copyright (c) 2010, 2015 Ericsson, École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -41,6 +41,7 @@ import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
+import org.eclipse.tracecompass.internal.tmf.ui.editors.ITmfEventsEditorConstants;
import org.eclipse.tracecompass.tmf.core.TmfCommonConstants;
import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
@@ -50,7 +51,6 @@ import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal;
import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal;
import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment;
import org.eclipse.tracecompass.tmf.ui.project.model.Messages;
import org.eclipse.tracecompass.tmf.ui.project.model.TmfExperimentElement;
@@ -88,6 +88,15 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
/** ID for this class */
public static final String ID = "org.eclipse.linuxtools.tmf.ui.editors.events"; //$NON-NLS-1$
+ /**
+ * Expected editor input type constants for a resource (trace or
+ * experiment). Some constants are there to make it possible to reopen
+ * traces that were opened using Linux Tools and early Trace Compass
+ * versions.
+ */
+ private static final ImmutableSet<String> traceInputTypeConstants = ImmutableSet.of(ITmfEventsEditorConstants.TRACE_EDITOR_INPUT_TYPE, "org.eclipse.linuxtools.tmf.core.trace.TmfTrace", "org.eclipse.tracecompass.tmf.core.trace.TmfTrace"); //$NON-NLS-1$//$NON-NLS-2$
+ private static final ImmutableSet<String> experimentInputTypeConstants = ImmutableSet.of(ITmfEventsEditorConstants.EXPERIMENT_EDITOR_INPUT_TYPE, "org.eclipse.linuxtools.tmf.core.trace.TmfExperiment", "org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment"); //$NON-NLS-1$ //$NON-NLS-2$
+
private TmfEventsTable fEventsTable;
private IFile fFile;
private ITmfTrace fTrace;
@@ -123,7 +132,7 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
if (traceTypeId == null) {
throw new PartInitException(Messages.TmfOpenTraceHelper_NoTraceType);
}
- if (traceTypeId.equals(TmfExperiment.class.getCanonicalName())) {
+ if (experimentInputTypeConstants.contains(traceTypeId)) {
// Special case: experiment bookmark resource
final TmfProjectElement project = TmfProjectRegistry.getProject(fFile.getProject(), true);
if (project == null) {
@@ -138,7 +147,7 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
return;
}
}
- } else if (traceTypeId.equals(TmfTrace.class.getCanonicalName())) {
+ } else if (traceInputTypeConstants.contains(traceTypeId)) {
// Special case: trace bookmark resource
final TmfProjectElement project = TmfProjectRegistry.getProject(fFile.getProject(), true);
for (final TmfTraceElement traceElement : project.getTracesFolder().getTraces()) {
diff --git a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfCommonProjectElement.java b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfCommonProjectElement.java
index 1b797a5412..48ba368449 100644
--- a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfCommonProjectElement.java
+++ b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfCommonProjectElement.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
+ * Copyright (c) 2010, 2015 Ericsson, École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -253,13 +253,13 @@ public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
*
* @param bookmarksFolder
* Folder where to put the bookmark file
- * @param traceType
- * The canonical name to set as tracetype
+ * @param editorInputType
+ * The editor input type to set (trace or experiment)
* @return The bookmark file
* @throws CoreException
* if the bookmarks file cannot be created
*/
- protected IFile createBookmarksFile(IFolder bookmarksFolder, String traceType) throws CoreException {
+ protected IFile createBookmarksFile(IFolder bookmarksFolder, String editorInputType) throws CoreException {
IFile file = getBookmarksFile();
if (!file.exists()) {
final IFile bookmarksFile = bookmarksFolder.getFile(BOOKMARKS_HIDDEN_FILE);
@@ -270,7 +270,7 @@ public abstract class TmfCommonProjectElement extends TmfProjectModelElement {
bookmarksFile.setHidden(true);
file.createLink(bookmarksFile.getLocation(), IResource.REPLACE, null);
file.setHidden(true);
- file.setPersistentProperty(TmfCommonConstants.TRACETYPE, traceType);
+ file.setPersistentProperty(TmfCommonConstants.TRACETYPE, editorInputType);
}
return file;
}
diff --git a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfExperimentElement.java b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfExperimentElement.java
index a744202c08..4928d309a5 100644
--- a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfExperimentElement.java
+++ b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfExperimentElement.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
+ * Copyright (c) 2010, 2015 Ericsson, École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -38,6 +38,7 @@ import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.osgi.util.NLS;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
+import org.eclipse.tracecompass.internal.tmf.ui.editors.ITmfEventsEditorConstants;
import org.eclipse.tracecompass.tmf.core.TmfCommonConstants;
import org.eclipse.tracecompass.tmf.core.project.model.TmfTraceType;
import org.eclipse.tracecompass.tmf.core.project.model.TraceTypeHelper;
@@ -332,7 +333,7 @@ public class TmfExperimentElement extends TmfCommonProjectElement implements IPr
@Override
public IFile createBookmarksFile() throws CoreException {
- return createBookmarksFile(getProject().getExperimentsFolder().getResource(), TmfExperiment.class.getCanonicalName());
+ return createBookmarksFile(getProject().getExperimentsFolder().getResource(), ITmfEventsEditorConstants.EXPERIMENT_EDITOR_INPUT_TYPE);
}
@Override
diff --git a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfTraceElement.java b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfTraceElement.java
index 00180c9fe9..4de73ea566 100644
--- a/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfTraceElement.java
+++ b/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfTraceElement.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2014 Ericsson, École Polytechnique de Montréal
+ * Copyright (c) 2010, 2015 Ericsson, École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -40,6 +40,7 @@ import org.eclipse.core.runtime.URIUtil;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Display;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
+import org.eclipse.tracecompass.internal.tmf.ui.editors.ITmfEventsEditorConstants;
import org.eclipse.tracecompass.tmf.core.TmfCommonConstants;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtEvent;
@@ -54,7 +55,6 @@ import org.eclipse.tracecompass.tmf.core.synchronization.TimestampTransformFacto
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestampFormat;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
-import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
import org.eclipse.tracecompass.tmf.ui.editors.TmfEventsEditor;
import org.eclipse.tracecompass.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
@@ -342,7 +342,7 @@ public class TmfTraceElement extends TmfCommonProjectElement implements IActionF
public IFile createBookmarksFile() throws CoreException {
IFile file = getBookmarksFile();
if (fResource instanceof IFolder) {
- return createBookmarksFile(getProject().getTracesFolder().getResource(), TmfTrace.class.getCanonicalName());
+ return createBookmarksFile(getProject().getTracesFolder().getResource(), ITmfEventsEditorConstants.TRACE_EDITOR_INPUT_TYPE);
}
return file;
}

Back to the top