tmf: change ITmfTraceProperties to a more generic ITmfPropertiesProvider
authorGeneviève Bastien <gbastien+lttng@versatic.net>
Wed, 27 Jan 2016 20:31:24 +0000 (15:31 -0500)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Tue, 2 Feb 2016 19:26:03 +0000 (14:26 -0500)
This allow other elements than traces to implement this interface and also
provide properties to display in the UI.

Change-Id: I11fe5bdc4825e2cc548f1d683b21a90e5fd2f3ae
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/65323
Reviewed-by: Hudson CI
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
btf/org.eclipse.tracecompass.btf.core.tests/src/org/eclipse/tracecompass/btf/core/tests/trace/BtfTraceTest.java
btf/org.eclipse.tracecompass.btf.core/src/org/eclipse/tracecompass/btf/core/trace/BtfTrace.java
ctf/org.eclipse.tracecompass.tmf.ctf.core.tests/src/org/eclipse/tracecompass/tmf/ctf/core/tests/trace/CtfTmfTraceTest.java
ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/trace/CtfTmfTrace.java
pcap/org.eclipse.tracecompass.tmf.pcap.core.tests/src/org/eclipse/tracecompass/tmf/pcap/core/tests/trace/PcapTraceTest.java
pcap/org.eclipse.tracecompass.tmf.pcap.core/src/org/eclipse/tracecompass/internal/tmf/pcap/core/trace/PcapTrace.java
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/project/model/ITmfPropertiesProvider.java [new file with mode: 0644]
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/ITmfTraceProperties.java [deleted file]
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfTraceElement.java

index b4ec8f7b47096440b1d7fcf101cd5d5c9edfec86..f7afd0084f63abb9224f447d23eba6c8e3b3a091 100644 (file)
@@ -116,7 +116,7 @@ public class BtfTraceTest {
      */
     @Test
     public void testReadProperties() {
-        Map<String, String> data = fixture.getTraceProperties();
+        Map<String, String> data = fixture.getProperties();
         assertNotNull(data);
         assertEquals("ns", data.get("#timeScale"));
         assertEquals("2.1.0", data.get("#version"));
index fd6d55f51464cad6346d54a4086578eef180ea00..3f45414a82cdbc326b9b61f9359ea45927242347 100644 (file)
@@ -39,11 +39,11 @@ import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTraceContext;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
 import org.eclipse.tracecompass.tmf.core.signal.TmfTraceRangeUpdatedSignal;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
@@ -63,7 +63,7 @@ import com.google.common.collect.ImmutableMap;
  *
  * @author Matthew Khouzam
  */
-public class BtfTrace extends TmfTrace implements ITmfPersistentlyIndexable, ITmfTraceProperties {
+public class BtfTrace extends TmfTrace implements ITmfPersistentlyIndexable, ITmfPropertiesProvider {
 
     private static final int MAX_FIELDS = 7;
 
@@ -471,8 +471,11 @@ public class BtfTrace extends TmfTrace implements ITmfPersistentlyIndexable, ITm
         return new TmfBTreeTraceIndexer(this, interval);
     }
 
+    /**
+     * @since 2.0
+     */
     @Override
-    public Map<String, String> getTraceProperties() {
+    public Map<String, String> getProperties() {
         return ImmutableMap.copyOf(fProperties);
     }
 
index 78870e6e7a0c262c4ac249b6f01f366c5da7372b..5f079dc688abed693061978ebd2b78280ed44665 100644 (file)
@@ -181,7 +181,7 @@ public class CtfTmfTraceTest {
     @Test
     public void testGetEnvValue() {
         String key = "tracer_name";
-        String result = fixture.getTraceProperties().get(key);
+        String result = fixture.getProperties().get(key);
         assertEquals("\"lttng-modules\"", result);
     }
 
@@ -240,9 +240,9 @@ public class CtfTmfTraceTest {
      */
     @Test
     public void testGetTraceProperties() {
-        int result = fixture.getTraceProperties().size();
+        int result = fixture.getProperties().size();
         assertEquals(10, result);
-        assertEquals(String.valueOf(1332166405241713987L), fixture.getTraceProperties().get("clock_offset"));
+        assertEquals(String.valueOf(1332166405241713987L), fixture.getProperties().get("clock_offset"));
     }
 
     /**
index 2f6435cf3ef84408495389c0ee489b6079e5b545..6ad176f06b1c56d217a3c4916a21a15d8cd1c6d0 100644 (file)
@@ -47,11 +47,11 @@ import org.eclipse.tracecompass.tmf.core.event.ITmfEventField;
 import org.eclipse.tracecompass.tmf.core.event.TmfEventField;
 import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
 import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfNanoTimestamp;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceWithPreDefinedEvents;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
@@ -81,7 +81,7 @@ import com.google.common.collect.ImmutableSet;
  * @author Matthew khouzam
  */
 public class CtfTmfTrace extends TmfTrace
-        implements ITmfTraceProperties, ITmfPersistentlyIndexable,
+        implements ITmfPropertiesProvider, ITmfPersistentlyIndexable,
         ITmfTraceWithPreDefinedEvents {
 
     // -------------------------------------------
@@ -431,11 +431,14 @@ public class CtfTmfTrace extends TmfTrace
     }
 
     // -------------------------------------------
-    // ITmfTraceProperties
+    // ITmfPropertiesProvider
     // -------------------------------------------
 
+    /**
+     * @since 2.0
+     */
     @Override
-    public Map<String, String> getTraceProperties() {
+    public Map<String, String> getProperties() {
         Map<String, String> properties = new HashMap<>();
         properties.putAll(fTrace.getEnvironment());
         properties.put(CLOCK_OFFSET, Long.toUnsignedString(fTrace.getOffset()));
index 35a599ea74f0431c1eaf03a0a8ad38d99d92eb7a..2a45898df17c31ff9719d2055cf53d2889f97083 100644 (file)
@@ -190,7 +190,7 @@ public class PcapTraceTest {
      */
     @Test
     public void testGetTraceProperties() {
-        int result = fFixture.getTraceProperties().size();
+        int result = fFixture.getProperties().size();
         assertEquals(6, result);
     }
 
index f64281ecdce7925986a0986fa563556c8592fd06..c3ffe5d9542acb3df3fa8fa4dbbc80871b7ea24a 100644 (file)
@@ -45,8 +45,8 @@ import org.eclipse.tracecompass.internal.tmf.pcap.core.util.PcapEventFactory;
 import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
 import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
@@ -64,7 +64,7 @@ import com.google.common.collect.ImmutableMap;
  *
  * @author Vincent Perot
  */
-public class PcapTrace extends TmfTrace implements ITmfTraceProperties {
+public class PcapTrace extends TmfTrace implements ITmfPropertiesProvider {
 
     /** pcap trace type id as defined in plugin.xml */
     public static final String TRACE_TYPE_ID = "org.eclipse.linuxtools.tmf.pcap.core.pcaptrace"; //$NON-NLS-1$
@@ -244,7 +244,7 @@ public class PcapTrace extends TmfTrace implements ITmfTraceProperties {
     }
 
     @Override
-    public synchronized Map<String, String> getTraceProperties() {
+    public synchronized Map<String, String> getProperties() {
         PcapFile pcap = fPcapFile;
         if (pcap == null) {
             return Collections.emptyMap();
diff --git a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/project/model/ITmfPropertiesProvider.java b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/project/model/ITmfPropertiesProvider.java
new file mode 100644 (file)
index 0000000..1c805b8
--- /dev/null
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2013, 2016 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
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.tracecompass.tmf.core.project.model;
+
+import java.util.Map;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+
+/**
+ * Interface for classes to implement when they can provide additional
+ * properties.
+ *
+ * This information will be displayed in the Properties View, among other
+ * things.
+ *
+ * @author Alexandre Montplaisir
+ * @since 2.0
+ */
+@NonNullByDefault
+public interface ITmfPropertiesProvider {
+
+    /**
+     * Get the properties related to this class.
+     *
+     * @return The map of properties, <name, value>
+     */
+    public Map<String, String> getProperties();
+}
diff --git a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/ITmfTraceProperties.java b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/ITmfTraceProperties.java
deleted file mode 100644 (file)
index 998ac8b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 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:
- *   Alexandre Montplaisir - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.tracecompass.tmf.core.trace;
-
-import java.util.Map;
-
-import org.eclipse.jdt.annotation.NonNullByDefault;
-
-/**
- * Interface for trace types to implement when they can provide additional
- * trace-wide properties.
- *
- * This information will be displayed in the trace's Properties View, among
- * other things.
- *
- * @author Alexandre Montplaisir
- */
-@NonNullByDefault
-public interface ITmfTraceProperties {
-
-    /**
-     * Get the properties related to this trace.
-     *
-     * @return The map of properties, <name, value>
-     */
-    public Map<String, String> getTraceProperties();
-}
index f4de2610b48d3b01438f24768272616cfb2db3ab..c8327a0c8fdaa319777a41229e1ca84fd35b51e5 100644 (file)
@@ -49,12 +49,12 @@ import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTraceDefinition
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomXmlEvent;
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomXmlTrace;
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomXmlTraceDefinition;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
 import org.eclipse.tracecompass.tmf.core.project.model.TmfTraceType;
 import org.eclipse.tracecompass.tmf.core.project.model.TraceTypeHelper;
 import org.eclipse.tracecompass.tmf.core.synchronization.TimestampTransformFactory;
 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.TmfTraceManager;
 import org.eclipse.tracecompass.tmf.ui.editors.TmfEventsEditor;
 import org.eclipse.tracecompass.tmf.ui.properties.ReadOnlyTextPropertyDescriptor;
@@ -430,9 +430,9 @@ public class TmfTraceElement extends TmfCommonProjectElement implements IActionF
         for (ITmfTrace openedTrace : TmfTraceManager.getInstance().getOpenedTraces()) {
             for (ITmfTrace singleTrace : TmfTraceManager.getTraceSet(openedTrace)) {
                 if (getElementUnderTraceFolder().getResource().equals(singleTrace.getResource())) {
-                    if (singleTrace instanceof ITmfTraceProperties) {
-                        ITmfTraceProperties traceProperties = (ITmfTraceProperties) singleTrace;
-                        return traceProperties.getTraceProperties();
+                    if (singleTrace instanceof ITmfPropertiesProvider) {
+                        ITmfPropertiesProvider traceProperties = (ITmfPropertiesProvider) singleTrace;
+                        return traceProperties.getProperties();
                     }
                 }
             }
This page took 0.032729 seconds and 5 git commands to generate.