tmf: Have TmfTrace implement ITmfEventParser
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Tue, 16 Dec 2014 22:24:18 +0000 (17:24 -0500)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Wed, 28 Jan 2015 20:12:57 +0000 (15:12 -0500)
All implementations already do (and are expected to) implement
ITmfEventParser. With a little rework/cleanup, we can put this
dependency directly in TmfTrace.

Change-Id: I436806ec78d8fd1126874e3453ef67acef5c31cc
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/38391
Reviewed-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
Tested-by: Patrick Tasse <patrick.tasse@gmail.com>
12 files changed:
org.eclipse.tracecompass.btf.core/src/org/eclipse/tracecompass/btf/core/trace/BtfTrace.java
org.eclipse.tracecompass.gdbtrace.core/src/org/eclipse/tracecompass/internal/gdbtrace/core/trace/GdbTrace.java
org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/trace/TmfEmptyTraceStub.java
org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/trace/TmfTraceStub.java
org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/trace/xml/TmfXmlTraceStub.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/parsers/custom/CustomTxtTrace.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/parsers/custom/CustomXmlTrace.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/TmfTrace.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/experiment/TmfExperiment.java
org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/trace/text/TextTrace.java
org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/trace/CtfTmfTrace.java
org.eclipse.tracecompass.tmf.pcap.core/src/org/eclipse/tracecompass/internal/tmf/pcap/core/trace/PcapTrace.java

index 90e326aa3b7769650829b8b89eeccbbf03e8c9d6..030af10dd5b87c190c6304db97373ff5c236090b 100644 (file)
@@ -39,7 +39,6 @@ import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTraceContext;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
@@ -59,7 +58,7 @@ import com.google.common.collect.ImmutableMap;
  *
  * @author Matthew Khouzam
  */
-public class BtfTrace extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable, ITmfTraceProperties, AutoCloseable {
+public class BtfTrace extends TmfTrace implements ITmfPersistentlyIndexable, ITmfTraceProperties, AutoCloseable {
 
     private static final int TIMESTAMP_NUM = 0;
     private static final int SOURCE_NUM = 1;
index 3c0b78cf82479dae4adbb9515a9a847b989a1adf..8b11485519c1e1594f3cefba7f07d0b92380f4d2 100644 (file)
@@ -40,7 +40,6 @@ import org.eclipse.tracecompass.tmf.core.event.aspect.ITmfEventAspect;
 import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
@@ -58,7 +57,7 @@ import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
  * @author Matthew Khouzam
  */
 @SuppressWarnings("restriction")
-public class GdbTrace extends TmfTrace implements ITmfEventParser {
+public class GdbTrace extends TmfTrace {
 
     // ------------------------------------------------------------------------
     // Constants
index 8e84e3fd27a68e2653c60f427bde89ff052c6ddf..a59f6a96e7634ef627df81cca298a44d8d8125df 100644 (file)
@@ -36,7 +36,6 @@ public class TmfEmptyTraceStub extends TmfTraceStub {
      */
     public TmfEmptyTraceStub() {
         super();
-        setParser(new TmfEventParserStub(this));
     }
 
     // ------------------------------------------------------------------------
index 68cc6027b4a2927520a5ec94dc90e41e7d46acfc..a3e4d47e56adc1fb66b142aa6571f9677432a411 100644 (file)
@@ -26,6 +26,7 @@ import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.tracecompass.internal.tmf.core.Activator;
 import org.eclipse.tracecompass.internal.tmf.core.request.TmfCoalescedEventRequest;
 import org.eclipse.tracecompass.tmf.core.component.TmfEventProvider;
@@ -52,7 +53,7 @@ import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
  * <p>
  * Dummy test trace. Use in conjunction with TmfEventParserStub.
  */
-public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
+public class TmfTraceStub extends TmfTrace implements ITmfPersistentlyIndexable {
 
     // ------------------------------------------------------------------------
     // Attributes
@@ -61,8 +62,8 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
     // The actual stream
     private RandomAccessFile fTrace;
 
-//    // The associated event parser
-//    private ITmfEventParser<TmfEvent> fParser;
+    // The associated event parser
+    private final @NonNull ITmfEventParser fParser;
 
     // The synchronization lock
     private final ReentrantLock fLock = new ReentrantLock();
@@ -78,7 +79,7 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
      */
     public TmfTraceStub() {
         super();
-        setParser(new TmfEventParserStub(this));
+        fParser = new TmfEventParserStub(this);
     }
 
     /**
@@ -97,9 +98,9 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
     public TmfTraceStub(final String path,
             final int cacheSize,
             final long interval) throws TmfTraceException {
-        super(null, ITmfEvent.class, path, cacheSize, interval, null);
+        super(null, ITmfEvent.class, path, cacheSize, interval);
         setupTrace(path);
-        setParser(new TmfEventParserStub(this));
+        fParser = new TmfEventParserStub(this);
     }
 
     /**
@@ -122,9 +123,9 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
             final int cacheSize,
             final boolean waitForCompletion,
             final ITmfEventParser parser) throws TmfTraceException {
-        super(null, ITmfEvent.class, path, cacheSize, 0, null);
+        super(null, ITmfEvent.class, path, cacheSize, 0);
         setupTrace(path);
-        setParser((parser != null) ? parser : new TmfEventParserStub(this));
+        fParser = ((parser != null) ? parser : new TmfEventParserStub(this));
         if (waitForCompletion) {
             indexTrace(true);
         }
@@ -153,9 +154,9 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
             final int cacheSize,
             final boolean waitForCompletion,
             final ITmfEventParser parser) throws TmfTraceException {
-        super(resource, ITmfEvent.class, path, cacheSize, 0, null);
+        super(resource, ITmfEvent.class, path, cacheSize, 0);
         setupTrace(path);
-        setParser((parser != null) ? parser : new TmfEventParserStub(this));
+        fParser = ((parser != null) ? parser : new TmfEventParserStub(this));
         if (waitForCompletion) {
             indexTrace(true);
         }
@@ -172,7 +173,7 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
     public TmfTraceStub(final TmfTraceStub trace) throws TmfTraceException {
         super(trace);
         setupTrace(getPath()); // fPath will be set by the super-constructor
-        setParser(new TmfEventParserStub(this));
+        fParser = new TmfEventParserStub(this);
     }
 
 
@@ -195,7 +196,6 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
         } catch (FileNotFoundException e) {
             throw new TmfTraceException(e.getMessage());
         }
-        setParser(new TmfEventParserStub(this));
         super.initTrace(resource, path, type);
     }
 
@@ -328,8 +328,8 @@ public class TmfTraceStub extends TmfTrace implements ITmfEventParser, ITmfPersi
         fLock.lock();
         try {
             // parseNextEvent will update the context
-            if (fTrace != null && getParser() != null && context != null) {
-                final ITmfEvent event = getParser().parseEvent(context);
+            if (fTrace != null && context != null) {
+                final ITmfEvent event = fParser.parseEvent(context);
                 return event;
             }
         } finally {
index d2d1614ae9b0b689d05f78fa1c8d8e70aebfe320..03b8e81ad6581f31835d8f85f35e392a8aa6bed7 100644 (file)
@@ -112,7 +112,6 @@ public class TmfXmlTraceStub extends TmfTrace {
             fTrace = new CustomXmlTrace(definitions[0]);
             /* Deregister the custom XML trace */
             TmfSignalManager.deregister(fTrace);
-            this.setParser(fTrace);
 
             Collection<ITmfEventAspect> aspects = TmfTrace.BASE_ASPECTS;
             fAspects = aspects;
@@ -140,6 +139,11 @@ public class TmfXmlTraceStub extends TmfTrace {
         }
     }
 
+    @Override
+    public @Nullable ITmfEvent parseEvent(@Nullable ITmfContext context) {
+        return fTrace.parseEvent(context);
+    }
+
     @Override
     public @Nullable ITmfLocation getCurrentLocation() {
         return fTrace.getCurrentLocation();
index 4d44aca0c3c6a71e10cee0c432ac4363750a1623..83fbc52134035c01f0d57b4fb1a5592d2edcf68a 100644 (file)
@@ -35,7 +35,6 @@ import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTraceDefinition.InputLine;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
@@ -53,7 +52,7 @@ import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
  * @author Patrick Tassé
  * @since 3.0
  */
-public class CustomTxtTrace extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
+public class CustomTxtTrace extends TmfTrace implements ITmfPersistentlyIndexable {
 
     private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
     private static final int DEFAULT_CACHE_SIZE = 100;
index 2add4825e4e54b6ba84c66e841c617d280bf219b..5c296ad0fb7991b3f49f1f87fb06cdd9badcd5bc 100644 (file)
@@ -34,7 +34,6 @@ import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
@@ -61,7 +60,7 @@ import org.xml.sax.SAXParseException;
  * @author Patrick Tassé
  * @since 3.0
  */
-public class CustomXmlTrace extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
+public class CustomXmlTrace extends TmfTrace implements ITmfPersistentlyIndexable {
 
     private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
     private static final int DEFAULT_CACHE_SIZE = 100;
index 2993db25aecb52ff29f9379c8fe5d1edafa3f60c..125e94c4e5cea6cebd9f700b8e459a42292596ec 100644 (file)
@@ -71,9 +71,6 @@ import com.google.common.collect.ImmutableList;
  * <li> public ITmfContext seekEvent(double ratio)
  * <li> public IStatus validate(IProject project, String path)
  * </ul>
- * A concrete trace must provide its corresponding parser. A common way to
- * accomplish this is by making the concrete class extend TmfTrace and
- * implement ITmfEventParser.
  * <p>
  * When constructing an event, the concrete trace should use the trace's
  * timestamp transform to create the timestamp, by either transforming the
@@ -90,7 +87,7 @@ import com.google.common.collect.ImmutableList;
  * @see ITmfTraceIndexer
  * @see ITmfEventParser
  */
-public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, ITmfTraceCompleteness {
+public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, ITmfEventParser, ITmfTraceCompleteness {
 
     // ------------------------------------------------------------------------
     // Class attributes
@@ -132,9 +129,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
     // The trace indexer
     private ITmfTraceIndexer fIndexer;
 
-    // The trace parser
-    private ITmfEventParser fParser;
-
     private ITmfTimestampTransform fTsTransform;
 
     private final Map<String, IAnalysisModule> fAnalysisModules =
@@ -167,9 +161,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
      * @param interval
      *            The trace streaming interval. You can use '0' for post-mortem
      *            traces.
-     * @param parser
-     *            The trace event parser. Use 'null' if (and only if) the trace
-     *            object itself is also the ITmfEventParser to be used.
      * @throws TmfTraceException
      *             If something failed during the opening
      */
@@ -177,13 +168,11 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
             final Class<? extends ITmfEvent> type,
             final String path,
             final int cacheSize,
-            final long interval,
-            final ITmfEventParser parser)
-                    throws TmfTraceException {
+            final long interval)
+            throws TmfTraceException {
         super();
         fCacheSize = (cacheSize > 0) ? cacheSize : ITmfTrace.DEFAULT_TRACE_CACHE_SIZE;
         fStreamingInterval = interval;
-        fParser = parser;
         initialize(resource, path, type);
     }
 
@@ -200,7 +189,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
         }
         fCacheSize = trace.getCacheSize();
         fStreamingInterval = trace.getStreamingInterval();
-        fParser = trace.fParser;
         initialize(trace.getResource(), trace.getPath(), trace.getEventType());
     }
 
@@ -257,13 +245,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
         if (traceName.isEmpty()) {
             traceName = (resource != null) ? resource.getName() : new Path(path).lastSegment();
         }
-        if (fParser == null) {
-            if (this instanceof ITmfEventParser) {
-                fParser = (ITmfEventParser) this;
-            } else {
-                throw new TmfTraceException("Invalid trace parser"); //$NON-NLS-1$
-            }
-        }
         super.init(traceName, type);
         // register as VIP after super.init() because TmfComponent registers to signal manager there
         TmfSignalManager.registerVIP(this);
@@ -403,13 +384,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
         return fIndexer;
     }
 
-    /**
-     * @return the trace parser
-     */
-    protected ITmfEventParser getParser() {
-        return fParser;
-    }
-
     // ------------------------------------------------------------------------
     // ITmfTrace - Trace characteristics getters
     // ------------------------------------------------------------------------
@@ -523,15 +497,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
         fStreamingInterval = (interval > 0) ? interval : 0;
     }
 
-    /**
-     * Set the trace parser. Must be done at initialization time.
-     *
-     * @param parser the new trace parser
-     */
-    protected void setParser(final ITmfEventParser parser) {
-        fParser = parser;
-    }
-
     // ------------------------------------------------------------------------
     // ITmfTrace - SeekEvent operations (returning a trace context)
     // ------------------------------------------------------------------------
@@ -597,13 +562,16 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace, IT
     }
 
     // ------------------------------------------------------------------------
-    // ITmfTrace - Read operations (returning an actual event)
+    // Read operations (returning an actual event)
     // ------------------------------------------------------------------------
 
+    @Override
+    public abstract ITmfEvent parseEvent(ITmfContext context);
+
     @Override
     public synchronized ITmfEvent getNext(final ITmfContext context) {
         // parseEvent() does not update the context
-        final ITmfEvent event = fParser.parseEvent(context);
+        final ITmfEvent event = parseEvent(context);
         if (event != null) {
             updateAttributes(context, event.getTimestamp());
             context.setLocation(getCurrentLocation());
index 4817ac90a8bb5ad59d4d77f630c4cde5ff5b6ad9..3ebfbf38f76a01a4afeeb693a1694403f73e78ae 100644 (file)
@@ -50,7 +50,6 @@ import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
@@ -66,7 +65,7 @@ import org.eclipse.tracecompass.tmf.core.trace.location.ITmfLocation;
  * @version 1.0
  * @author Francois Chouinard
  */
-public class TmfExperiment extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
+public class TmfExperiment extends TmfTrace implements ITmfPersistentlyIndexable {
 
     // ------------------------------------------------------------------------
     // Constants
@@ -209,7 +208,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser, ITmfPers
 
         setCacheSize(indexPageSize);
         setStreamingInterval(0);
-        setParser(this);
 
         // traces have to be set before super.initialize()
         if (traces != null) {
index a87b447e33db9c87267c57c4775340a9ccbf4992..674b3b6a39388f37d4b0d41b98cab577ba26108a 100644 (file)
@@ -31,7 +31,6 @@ import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.io.BufferedRandomAccessFile;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TraceValidationStatus;
 import org.eclipse.tracecompass.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
@@ -53,7 +52,7 @@ import org.eclipse.tracecompass.tmf.core.trace.location.TmfLongLocation;
  *
  * @since 3.0
  */
-public abstract class TextTrace<T extends TextTraceEvent> extends TmfTrace implements ITmfEventParser, ITmfPersistentlyIndexable {
+public abstract class TextTrace<T extends TextTraceEvent> extends TmfTrace implements ITmfPersistentlyIndexable {
 
     private static final TmfLongLocation NULL_LOCATION = new TmfLongLocation(-1L);
     private static final int MAX_LINES = 100;
index 5cc679ba496163c6a4c5d0b9b06db9952e64b3fb..c4e8209216941e95130f5d57793a1fb030c26ca2 100644 (file)
@@ -46,7 +46,6 @@ import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceWithPreDefinedEvents;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
@@ -79,7 +78,7 @@ import com.google.common.collect.ImmutableSet;
  * @author Matthew khouzam
  */
 public class CtfTmfTrace extends TmfTrace
-        implements ITmfEventParser, ITmfTraceProperties, ITmfPersistentlyIndexable,
+        implements ITmfTraceProperties, ITmfPersistentlyIndexable,
         ITmfTraceWithPreDefinedEvents, AutoCloseable {
 
     // -------------------------------------------
index 72f6371351dcf9e5145f0dd4c1e7b3b2811d55fd..7bfa2ea8f34d7c3be43b2ccd42db7e99e8bf13d4 100644 (file)
@@ -43,7 +43,6 @@ 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.trace.ITmfContext;
-import org.eclipse.tracecompass.tmf.core.trace.ITmfEventParser;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTraceProperties;
 import org.eclipse.tracecompass.tmf.core.trace.TmfContext;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTrace;
@@ -62,7 +61,7 @@ import com.google.common.collect.ImmutableMap;
  *
  * @author Vincent Perot
  */
-public class PcapTrace extends TmfTrace implements ITmfEventParser, ITmfTraceProperties, AutoCloseable {
+public class PcapTrace extends TmfTrace implements ITmfTraceProperties, AutoCloseable {
 
     private static final Collection<ITmfEventAspect> PCAP_ASPECTS =
             checkNotNull(ImmutableList.of(
This page took 0.036124 seconds and 5 git commands to generate.