tmf: Clean up tmf.core.trace package
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / tmf / core / trace / TmfExperiment.java
index 674b3dc9097e551d1ab41e08823b0b75ecba6649..8ecd7ed5da814b10788fa385d808c6b37ae6626b 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2010, 2012, 2013 Ericsson
+ * Copyright (c) 2009, 2013 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,20 +18,23 @@ package org.eclipse.linuxtools.tmf.core.trace;
 import org.eclipse.core.resources.IFile;
 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.linuxtools.internal.tmf.core.trace.TmfExperimentContext;
 import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentLocation;
 import org.eclipse.linuxtools.internal.tmf.core.trace.TmfLocationArray;
 import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
-import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp;
-import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
-import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
 import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
 import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfClearExperimentSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
+import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
+import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
+import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
+import org.eclipse.linuxtools.tmf.core.trace.indexer.checkpoint.TmfCheckpointIndexer;
+import org.eclipse.linuxtools.tmf.core.trace.location.ITmfLocation;
 
 /**
  * TmfExperiment presents a time-ordered, unified view of a set of ITmfTrace:s
@@ -80,9 +83,26 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
      * @param traces the experiment set of traces
      */
     public TmfExperiment(final Class<? extends ITmfEvent> type, final String id, final ITmfTrace[] traces) {
-        this(type, id, traces, DEFAULT_INDEX_PAGE_SIZE);
+        this(type, id, traces, DEFAULT_INDEX_PAGE_SIZE, null);
     }
 
+    /**
+     * Constructor of experiment taking type, path, traces and resource
+     *
+     * @param type
+     *            the event type
+     * @param id
+     *            the experiment id
+     * @param traces
+     *            the experiment set of traces
+     * @param resource
+     *            the resource associated to the experiment
+     */
+    public TmfExperiment(final Class<? extends ITmfEvent> type, final String id, final ITmfTrace[] traces, IResource resource) {
+        this(type, id, traces, DEFAULT_INDEX_PAGE_SIZE, resource);
+    }
+
+
     /**
      * @param type the event type
      * @param path the experiment path
@@ -90,12 +110,31 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
      * @param indexPageSize the experiment index page size
      */
     public TmfExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize) {
+        this(type, path, traces, indexPageSize, null);
+    }
+
+    /**
+     * Full constructor of an experiment, taking the type, path, traces,
+     * indexPageSize and resource
+     *
+     * @param type
+     *            the event type
+     * @param path
+     *            the experiment path
+     * @param traces
+     *            the experiment set of traces
+     * @param indexPageSize
+     *            the experiment index page size
+     * @param resource
+     *            the resource associated to the experiment
+     */
+    public TmfExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize, IResource resource) {
         setCacheSize(indexPageSize);
         setStreamingInterval(0);
         setIndexer(new TmfCheckpointIndexer(this, indexPageSize));
         setParser(this);
         try {
-            super.initialize(null, path, type);
+            super.initialize(resource, path, type);
         } catch (TmfTraceException e) {
             e.printStackTrace();
         }
@@ -123,32 +162,20 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
         super.dispose();
     }
 
-    /**
-     * @param signal the clear view signal
-     * @since 2.0
-     */
-    @TmfSignalHandler
-    public void handleClearExperimentSignal(TmfClearExperimentSignal signal) {
-        dispose();
-    }
-
     // ------------------------------------------------------------------------
     // ITmfTrace - Initializers
     // ------------------------------------------------------------------------
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.TmfTrace#initTrace(org.eclipse.core.resources.IResource, java.lang.String, java.lang.Class)
-     */
     @Override
     public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> type) {
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#validate(org.eclipse.core.resources.IProject, java.lang.String)
+    /**
+     * @since 2.0
      */
     @Override
-    public boolean validate(final IProject project, final String path) {
-        return true;
+    public IStatus validate(final IProject project, final String path) {
+        return Status.OK_STATUS;
     }
 
     // ------------------------------------------------------------------------
@@ -156,9 +183,9 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
     // ------------------------------------------------------------------------
 
     /**
-     * Get the list of traces. Handle with care...
+     * Get the traces contained in this experiment.
      *
-     * @return the experiment traces
+     * @return The array of contained traces
      */
     public ITmfTrace[] getTraces() {
         return fTraces;
@@ -170,6 +197,7 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
      *
      * @param index the event index (rank)
      * @return the corresponding event timestamp
+     * @since 2.0
      */
     public ITmfTimestamp getTimestamp(final int index) {
         final ITmfContext context = seekEvent(index);
@@ -228,12 +256,8 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
     // ITmfTrace trace positioning
     // ------------------------------------------------------------------------
 
-    /* (non-Javadoc)
-     *
-     * Returns a brand new context based on the location provided and
-     * initializes the event queues
-     *
-     * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#seekEvent(org.eclipse.linuxtools.tmf.core.trace.ITmfLocation)
+    /**
+     * @since 3.0
      */
     @Override
     public synchronized ITmfContext seekEvent(final ITmfLocation location) {
@@ -281,17 +305,14 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
     // ITmfTrace - SeekEvent operations (returning a trace context)
     // ------------------------------------------------------------------------
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#seekEvent(double)
-     */
     @Override
     public ITmfContext seekEvent(final double ratio) {
         final ITmfContext context = seekEvent(Math.round(ratio * getNbEvents()));
         return context;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getLocationRatio(org.eclipse.linuxtools.tmf.core.trace.ITmfLocation)
+    /**
+     * @since 3.0
      */
     @Override
     public double getLocationRatio(final ITmfLocation location) {
@@ -306,8 +327,8 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
         return 0.0;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getCurrentLocation()
+    /**
+     * @since 3.0
      */
     @Override
     public ITmfLocation getCurrentLocation() {
@@ -319,9 +340,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
     // ITmfTrace trace positioning
     // ------------------------------------------------------------------------
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser#parseEvent(org.eclipse.linuxtools.tmf.core.trace.ITmfContext)
-     */
     @Override
     public synchronized ITmfEvent parseEvent(final ITmfContext context) {
         final ITmfContext tmpContext = seekEvent(context.getLocation());
@@ -329,9 +347,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
         return event;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.TmfTrace#getNext(org.eclipse.linuxtools.tmf.core.trace.ITmfContext)
-     */
     @Override
     public synchronized ITmfEvent getNext(ITmfContext context) {
 
@@ -391,9 +406,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
         return event;
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.TmfTrace#getInitialRangeOffset()
-     */
     /**
      * @since 2.0
      */
@@ -413,9 +425,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
         return initTs;
     }
 
-    /* (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
     @Override
     @SuppressWarnings("nls")
     public synchronized String toString() {
@@ -496,9 +505,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
         thread.start();
     }
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.trace.ITmfTrace#getStreamingInterval()
-     */
     @Override
     public long getStreamingInterval() {
         long interval = 0;
@@ -512,9 +518,6 @@ public class TmfExperiment extends TmfTrace implements ITmfEventParser {
     // Signal handlers
     // ------------------------------------------------------------------------
 
-    /* (non-Javadoc)
-     * @see org.eclipse.linuxtools.tmf.core.trace.TmfTrace#traceOpened(org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal)
-     */
     @Override
     @TmfSignalHandler
     public void traceOpened(TmfTraceOpenedSignal signal) {
This page took 0.027105 seconds and 5 git commands to generate.