Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics')
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/ITmfExtraEventInfo.java3
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java2
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java163
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/AbsTmfStatisticsTree.java74
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfColumnDataProvider.java16
-rw-r--r--lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfStatisticsColumnData.java44
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/Messages.java5
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnData.java11
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnDataProvider.java12
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseStatisticsTree.java26
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatistics.java14
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeNode.java215
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeRootFactory.java13
-rwxr-xr-xlttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfTreeContentProvider.java20
14 files changed, 360 insertions, 258 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/ITmfExtraEventInfo.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/ITmfExtraEventInfo.java
index a8cd5640ae..0ebc8c3783 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/ITmfExtraEventInfo.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/ITmfExtraEventInfo.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial design and implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial design and implementation
* Bernd Hufmann - Changed interface and class name
*******************************************************************************/
@@ -24,6 +24,7 @@ public interface ITmfExtraEventInfo {
/**
* Returns the trace name.
+ *
* @return the name of the trace.
*/
public String getTraceName();
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java
index 62656f827a..2fd8caecde 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/Messages.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API and Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics;
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java
index e9f3950452..73d8eb6416 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011, 20112 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Generalized version based on LTTng
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Generalized version based on LTTng
* Bernd Hufmann - Updated to use trace reference in TmfEvent and streaming
*
*******************************************************************************/
@@ -56,66 +56,84 @@ import org.eclipse.swt.widgets.Listener;
/**
* The generic Statistics View displays statistics for any kind of traces.
*
- * It is implemented according to the MVC pattern. - The model is a TmfStatisticsTreeNode built by the State Manager. - The view is built with a
- * TreeViewer. - The controller that keeps model and view synchronized is an observer of the model.
- * </p>
+ * It is implemented according to the MVC pattern. - The model is a
+ * TmfStatisticsTreeNode built by the State Manager. - The view is built with a
+ * TreeViewer. - The controller that keeps model and view synchronized is an
+ * observer of the model.
*
* @version 1.0
- * @author @author Mathieu Denis
+ * @author Mathieu Denis
*/
public class TmfStatisticsView extends TmfView {
+
/**
* The ID correspond to the package in which this class is embedded
*/
public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.statistics"; //$NON-NLS-1$
+
/**
- * The view name.
+ * The view name.
*/
public static final String TMF_STATISTICS_VIEW = "StatisticsView"; //$NON-NLS-1$
+
/**
- * Refresh frequency
+ * Refresh frequency
*/
protected static final Long STATS_INPUT_CHANGED_REFRESH = 5000L;
+
/**
- * Default PAGE_SIZE for background requests
+ * Default PAGE_SIZE for background requests
*/
protected static final int PAGE_SIZE = 50000;
+
/**
- * The actual tree viewer to display
+ * The actual tree viewer to display
*/
protected TreeViewer fTreeViewer;
+
/**
- * Stores the request to the experiment
+ * Stores the global request to the experiment
*/
protected ITmfEventRequest fRequest = null;
+
/**
- * Update synchronization parameter (used for streaming): Update busy indicator
+ * Update synchronization parameter (used for streaming): Update busy
+ * indicator
*/
protected boolean fStatisticsUpdateBusy = false;
+
/**
- * Update synchronization parameter (used for streaming): Update pending indicator
+ * Update synchronization parameter (used for streaming): Update pending
+ * indicator
*/
protected boolean fStatisticsUpdatePending = false;
+
/**
- * Update synchronization parameter (used for streaming): Pending Update time range
+ * Update synchronization parameter (used for streaming): Pending Update
+ * time range
*/
protected TmfTimeRange fStatisticsUpdateRange = null;
+
/**
* Update synchronization object.
*/
protected final Object fStatisticsUpdateSyncObj = new Object();
+
/**
- * Flag to force request the data from trace
+ * Flag to force request the data from trace
*/
protected boolean fRequestData = false;
+
/**
- * Object to store the cursor while waiting for the experiment to load
+ * Object to store the cursor while waiting for the experiment to load
*/
private Cursor fWaitCursor = null;
+
/**
- * View instance counter (for multiple statistic views)
+ * View instance counter (for multiple statistic views)
*/
private static int fCountInstance = 0;
+
/**
* Number of this instance. Used as an instance ID.
*/
@@ -142,7 +160,9 @@ public class TmfStatisticsView extends TmfView {
/*
* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
+ *
+ * @see
+ * org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
@Override
public void createPartControl(Composite parent) {
@@ -231,11 +251,12 @@ public class TmfStatisticsView extends TmfView {
// Insert the statistics data into the tree
TmfExperimentSelectedSignal signal = new TmfExperimentSelectedSignal(this, experiment);
experimentSelected(signal);
- }
+ }
}
/*
* (non-Javadoc)
+ *
* @see org.eclipse.linuxtools.tmf.ui.views.TmfView#dispose()
*/
@Override
@@ -245,7 +266,10 @@ public class TmfStatisticsView extends TmfView {
fWaitCursor.dispose();
}
- // Make sure there is no request running before removing the statistics tree
+ /*
+ * Make sure there is no request running before removing the statistics
+ * tree
+ */
cancelOngoingRequest();
// clean the model
TmfStatisticsTreeRootFactory.removeAll();
@@ -253,6 +277,7 @@ public class TmfStatisticsView extends TmfView {
/*
* (non-Javadoc)
+ *
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
@Override
@@ -290,13 +315,16 @@ public class TmfStatisticsView extends TmfView {
* Called when an experiment request has failed or has been cancelled.
* Remove the data retrieved from the experiment from the statistics tree.
*
- * @param name The experiment name
+ * @param name
+ * The experiment name
*/
public void modelIncomplete(String name) {
Object input = fTreeViewer.getInput();
if (input != null && input instanceof TmfStatisticsTreeNode) {
- // The data from this experiment is invalid and shall be removed to
- // refresh upon next selection
+ /*
+ * The data from this experiment is invalid and shall be removed to
+ * refresh upon next selection
+ */
TmfStatisticsTreeRootFactory.removeStatTreeRoot(getTreeID(name));
// Reset synchronization information
@@ -309,7 +337,8 @@ public class TmfStatisticsView extends TmfView {
/**
* Handles the signal about disposal of the current experiment.
*
- * @param signal The disposed signal
+ * @param signal
+ * The disposed signal
*/
@TmfSignalHandler
public void experimentDisposed(TmfExperimentDisposedSignal signal) {
@@ -320,10 +349,12 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * Handler called when an experiment is selected. Checks if the experiment has changed
- * and requests the selected experiment if it has not yet been cached.
+ * Handler called when an experiment is selected. Checks if the experiment
+ * has changed and requests the selected experiment if it has not yet been
+ * cached.
*
- * @param signal Contains the information about the selection.
+ * @param signal
+ * Contains the information about the selection.
*/
@TmfSignalHandler
public void experimentSelected(TmfExperimentSelectedSignal signal) {
@@ -343,8 +374,10 @@ public class TmfStatisticsView extends TmfView {
if (numTraces == numNodeTraces) {
boolean same = true;
- // Detect if the experiment contains the same traces as when
- // previously selected
+ /*
+ * Detect if the experiment contains the same traces as when
+ * previously selected
+ */
for (int i = 0; i < numTraces; i++) {
String traceName = traces[i].getName();
if (!experimentTreeNode.containsChild(traceName)) {
@@ -388,13 +421,15 @@ public class TmfStatisticsView extends TmfView {
/**
* Handles the signal about new experiment range.
- * @param signal The experiment range updated signal
+ *
+ * @param signal
+ * The experiment range updated signal
*/
@TmfSignalHandler
public void experimentRangeUpdated(TmfExperimentRangeUpdatedSignal signal) {
TmfExperiment experiment = signal.getExperiment();
// validate
- if (! experiment.equals(TmfExperiment.getCurrentExperiment())) {
+ if (!experiment.equals(TmfExperiment.getCurrentExperiment())) {
return;
}
@@ -402,16 +437,18 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * Handles the experiment updated signal. This will detect new events
- * in case the indexing is not coalesced with a statistics request.
- * @param signal The experiment updated signal
+ * Handles the experiment updated signal. This will detect new events in
+ * case the indexing is not coalesced with a statistics request.
+ *
+ * @param signal
+ * The experiment updated signal
*
* @since 1.1
*/
@TmfSignalHandler
public void experimentUpdated(TmfExperimentUpdatedSignal signal) {
TmfExperiment experiment = signal.getExperiment();
- if (! experiment.equals(TmfExperiment.getCurrentExperiment())) {
+ if (!experiment.equals(TmfExperiment.getCurrentExperiment())) {
return;
}
@@ -420,9 +457,11 @@ public class TmfStatisticsView extends TmfView {
nbEvents += (int) node.getValue().nbEvents;
}
- // In the normal case, the statistics request is coalesced with indexing
- // and the number of events are the same, there is nothing to do.
- // But if its not the case, trigger a new request to count the new events.
+ /*
+ * In the normal case, the statistics request is coalesced with indexing
+ * and the number of events are the same, there is nothing to do. But if
+ * it's not the case, trigger a new request to count the new events.
+ */
if (nbEvents < experiment.getNbEvents()) {
requestData(experiment, experiment.getTimeRange());
}
@@ -438,16 +477,19 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * Returns the quantity of data to retrieve before a refresh of the view is performed
+ * Returns the quantity of data to retrieve before a refresh of the view is
+ * performed
*
- * @return the quantity of data to retrieve before a refresh of the view is performed.
+ * @return the quantity of data to retrieve before a refresh of the view is
+ * performed.
*/
protected long getInputChangedRefresh() {
return STATS_INPUT_CHANGED_REFRESH;
}
/**
- * This method can be overridden to implement another way to represent the statistics data and to retrieve the information for display.
+ * This method can be overridden to implement another way to represent the
+ * statistics data and to retrieve the information for display.
*
* @return a TmfStatisticsData object.
*/
@@ -456,7 +498,8 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * This method can be overridden to change the representation of the data in the columns.
+ * This method can be overridden to change the representation of the data in
+ * the columns.
*
* @return an object implementing ITmfBaseColumnDataProvider.
*/
@@ -465,9 +508,11 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * Constructs the ID based on the experiment name and <code>fInstanceNb</code>
+ * Constructs the ID based on the experiment name and
+ * <code>fInstanceNb</code>
*
- * @param experimentName the name of the trace name to show in the view
+ * @param experimentName
+ * the name of the trace name to show in the view
* @return a view ID
*/
protected String getTreeID(String experimentName) {
@@ -475,9 +520,12 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * When the experiment is loading the cursor will be different so the user know the processing is not finished yet.
+ * When the experiment is loading the cursor will be different so the user
+ * knows the processing is not finished yet.
*
- * @param waitInd Indicates if we need to show the waiting cursor, or the default one
+ * @param waitInd
+ * Indicates if we need to show the waiting cursor, or the
+ * default one
*/
protected void waitCursor(final boolean waitInd) {
if ((fTreeViewer == null) || (fTreeViewer.getTree().isDisposed())) {
@@ -493,7 +541,8 @@ public class TmfStatisticsView extends TmfView {
display.asyncExec(new Runnable() {
@Override
public void run() {
- if ((fTreeViewer != null) && (!fTreeViewer.getTree().isDisposed())) {
+ if ((fTreeViewer != null)
+ && (!fTreeViewer.getTree().isDisposed())) {
Cursor cursor = null; /* indicates default */
if (waitInd) {
cursor = fWaitCursor;
@@ -505,15 +554,18 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * Perform the request for an experiment and populates the statistics tree with event.
+ * Perform the request for an experiment and populates the statistics tree
+ * with events.
*
- * @param experiment experiment for which we need the statistics data.
- * @param timeRange to request
+ * @param experiment
+ * Experiment for which we need the statistics data.
+ * @param timeRange
+ * to request
*/
protected void requestData(final TmfExperiment experiment, TmfTimeRange timeRange) {
if (experiment != null) {
- // Check if update is already ongoing
+ // Check if an update is already ongoing
if (checkUpdateBusy(timeRange)) {
return;
}
@@ -596,16 +648,19 @@ public class TmfStatisticsView extends TmfView {
}
/**
- * Checks if statistic update is ongoing. If it is ongoing the new time range is stored as pending
+ * Checks if statistic update is ongoing. If it is ongoing the new time
+ * range is stored as pending
*
- * @param timeRange - new time range
+ * @param timeRange
+ * - new time range
* @return true if statistic update is ongoing else false
*/
protected boolean checkUpdateBusy(TmfTimeRange timeRange) {
synchronized (fStatisticsUpdateSyncObj) {
if (fStatisticsUpdateBusy) {
fStatisticsUpdatePending = true;
- if (fStatisticsUpdateRange == null || timeRange.getEndTime().compareTo(fStatisticsUpdateRange.getEndTime()) > 0) {
+ if (fStatisticsUpdateRange == null
+ || timeRange.getEndTime().compareTo(fStatisticsUpdateRange.getEndTime()) > 0) {
fStatisticsUpdateRange = timeRange;
}
return true;
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/AbsTmfStatisticsTree.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/AbsTmfStatisticsTree.java
index 79efa68d18..e268f3c6e0 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/AbsTmfStatisticsTree.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/AbsTmfStatisticsTree.java
@@ -23,28 +23,27 @@ import org.eclipse.linuxtools.tmf.core.util.TmfFixedArray;
import org.eclipse.linuxtools.tmf.ui.views.statistics.ITmfExtraEventInfo;
/**
- * <h4>Base class for the statistics storage.</h4>
- * <p>
- * It allow to implement a tree structure while avoiding the need to run through
- * the tree each time you need to add a node at a given place.
- * </p>
+ * Base class for the statistics storage. It allow to implement a tree structure
+ * while avoiding the need to run through the tree each time you need to add a
+ * node at a given place.
*
- * @version 1.0
- * @author Mathieu Denis
+ * @version 1.0
+ * @author Mathieu Denis
*/
public abstract class AbsTmfStatisticsTree {
/**
- * <h4>String builder used to merge string with more efficacy.</h4>
+ * String builder used to merge string with more efficiency.
*/
protected static final StringBuilder fBuilder = new StringBuilder();
+
/**
- * <h4>Identification of the root.</h4>
+ * Identification of the root.
*/
public static final TmfFixedArray<String> ROOT = new TmfFixedArray<String>("root"); //$NON-NLS-1$
/**
- * <h4>Function to merge many string with more efficacy.</h4>
+ * Function to merge many string with more efficiency.
*
* @param strings
* Strings to merge.
@@ -55,26 +54,22 @@ public abstract class AbsTmfStatisticsTree {
for (String s : strings) {
fBuilder.append(s);
}
- return fBuilder.toString();
+ return fBuilder.toString();
}
/**
- * <h4>Define what child a node can have.</h4>
- * <p>
- * The management and usage of this map is done by subclass.
- * </p>
- * <p>
- * HashSet are always faster than TreeSet.
- * </p>
+ * Define what children a node can have. The management and usage of this map
+ * is done by subclasses. HashSet are always faster than TreeSet for String keys.
*/
protected Map<String, Set<String>> fKeys;
+
/**
- * <h4>The nodes in the tree.</f4>
+ * The nodes in the tree.
*/
protected HashMap<TmfFixedArray<String>, TmfStatisticsTreeNode> fNodes;
/**
- * <h4>Constructor.</h4>
+ * Constructor.
*/
public AbsTmfStatisticsTree() {
fNodes = new HashMap<TmfFixedArray<String>, TmfStatisticsTreeNode>();
@@ -82,7 +77,7 @@ public abstract class AbsTmfStatisticsTree {
}
/**
- * <h4>Get a node.</h4>
+ * Get a node.
*
* @param path
* Path to the node.
@@ -93,7 +88,7 @@ public abstract class AbsTmfStatisticsTree {
}
/**
- * <h4>Get the children of a node.</h4>
+ * Get the children of a node.
*
* @param path
* Path to the node.
@@ -102,7 +97,8 @@ public abstract class AbsTmfStatisticsTree {
public abstract Collection<TmfStatisticsTreeNode> getChildren(final TmfFixedArray<String> path);
/**
- * <h4>Get every children of a node, even if it doesn't have any registered events, as opposed to getChildren</h4>
+ * Get every children of a node, even if it doesn't have any registered
+ * events, as opposed to getChildren
*
* @param path
* Path to the node.
@@ -111,7 +107,7 @@ public abstract class AbsTmfStatisticsTree {
public abstract Collection<TmfStatisticsTreeNode> getAllChildren(final TmfFixedArray<String> path);
/**
- * <h4>Get the map of existing elements of path classified by parent.</h4>
+ * Get the map of existing elements of path classified by parent.
*
* @return The map.
*/
@@ -120,7 +116,7 @@ public abstract class AbsTmfStatisticsTree {
}
/**
- * <h4>Get or create a node.</h4>
+ * Get or create a node.
*
* @param path
* Path to the node.
@@ -137,7 +133,7 @@ public abstract class AbsTmfStatisticsTree {
}
/**
- * <h4>Get the parent of a node.</h4>
+ * Get the parent of a node.
*
* @param path
* Path to the node.
@@ -154,10 +150,10 @@ public abstract class AbsTmfStatisticsTree {
}
/**
- * <h4>Increase any kind of counter.</h4>
- * <p>
- * This method must be implemented by subclass.
- * </p>
+ * Increase any kind of counter.
+ *
+ * This method must be implemented by subclasses.
+ *
* @param event
* Current event.
* @param extraInfo
@@ -168,10 +164,10 @@ public abstract class AbsTmfStatisticsTree {
public abstract void increase(ITmfEvent event, ITmfExtraEventInfo extraInfo, int values);
/**
- * <h4>Register an event.</h4>
- * <p>
- * This method must be implemented by subclass.
- * </p>
+ * Register an event.
+ *
+ * This method must be implemented by subclasses.
+ *
* @param event
* Current event.
* @param extraInfo
@@ -180,11 +176,10 @@ public abstract class AbsTmfStatisticsTree {
public abstract void registerEvent(ITmfEvent event, ITmfExtraEventInfo extraInfo);
/**
- * <h4>Register that a new node was created.</h4>
- * <p>
+ * Register that a new node was created.
+ *
* Must make sure the {@link #getChildren(TmfFixedArray)} on the parent node
* will return the newly created node.
- * </p>
*
* @param path
* Path of the new node.
@@ -192,10 +187,9 @@ public abstract class AbsTmfStatisticsTree {
protected abstract void registerName(final TmfFixedArray<String> path);
/**
- * <h4>Reset a node.</h4>
- * <p>
+ * Reset a node.
+ *
* Work recursively.
- * </p>
*
* @param path
* Path to the node.
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfColumnDataProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfColumnDataProvider.java
index 6e06be4179..35cd206dfe 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfColumnDataProvider.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfColumnDataProvider.java
@@ -1,13 +1,13 @@
/*******************************************************************************
* Copyright (c) 2011, 2012 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:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API and Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -15,16 +15,18 @@ package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
import java.util.List;
/**
- * Basic methods that must be implemented in a column data provider.
- * The <code>TmfStatisticsView</code> uses classes implementing this
- * interface to define the columns in the statistics tree viewer.
- *
+ * Basic methods that must be implemented in a column data provider. The
+ * <code>TmfStatisticsView</code> uses classes implementing this interface to
+ * define the columns in the statistics tree viewer.
+ *
* @version 1.0
* @author Mathieu Denis
*/
public interface ITmfColumnDataProvider {
+
/**
* Return a list of the column created for the view
+ *
* @return columns list
*/
public List<TmfBaseColumnData> getColumnData();
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfStatisticsColumnData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfStatisticsColumnData.java
index 59043d8d3d..236423aab0 100644
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfStatisticsColumnData.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/ITmfStatisticsColumnData.java
@@ -1,13 +1,13 @@
/*******************************************************************************
* Copyright (c) 2011, 2012 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:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API and Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -17,53 +17,63 @@ import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfBaseColumnData.ITmfColumnPercentageProvider;
/**
- * Provide the basic interface to create a statistics column for the statistics table tree.
- *
- * @version 1.0
- * @author Mathieu Denis
+ * Provide the basic interface to create a statistics column for the statistics
+ * table tree.
+ *
+ * @version 1.0
+ * @author Mathieu Denis
*/
public interface ITmfStatisticsColumnData {
/**
* Return the column name.
+ *
* @return the name of the column.
*/
public String getHeader();
-
+
/**
* Return the width of the column at the creation.
+ *
* @return the width of the column.
*/
public int getWidth();
-
+
/**
* Return the alignment of the column.
+ *
* @see org.eclipse.swt.SWT
* @return an integer representing the alignment inside the column.
*/
public int getAlignment();
-
+
/**
- * Provide the text to show in the tooltip when the cursor comes over the column header.
+ * Provide the text to show in the tooltip when the cursor comes over the
+ * column header.
+ *
* @return text to show in the tooltip
*/
public String getTooltip();
-
+
/**
- * Return the labelProvider which provides the information to put in column cells.
+ * Return the labelProvider which provides the information to put in column
+ * cells.
+ *
* @return a ColumnLabelProvider.
*/
public ColumnLabelProvider getLabelProvider();
-
+
/**
* Return a ViewerComparator used to sort viewer's contents.
+ *
* @return the comparator.
*/
public ViewerComparator getComparator();
-
+
/**
- * Return the provider of the percentage.
- * Used to draw bar charts in columns.
+ * Return the provider of the percentage. Used to draw bar charts in
+ * columns.
+ *
* @return the percentageProvider.
*/
public ITmfColumnPercentageProvider getPercentageProvider();
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/Messages.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/Messages.java
index 8811eaae1c..18e9ebed7c 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/Messages.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/Messages.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API and Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -21,11 +21,14 @@ import org.eclipse.osgi.util.NLS;
* @author Mathieu Denis
*/
public class Messages extends NLS {
+
private static final String BUNDLE_NAME = "org.eclipse.linuxtools.tmf.ui.views.statistics.model.messages"; //$NON-NLS-1$
+
/**
* CPU statistic name.
*/
public static String TmfStatisticsData_CPUs;
+
/**
* Event type statistic name.
*/
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnData.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnData.java
index 2600102e46..7d9662a513 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnData.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnData.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial Implementation
* Bernd Hufmann - Added Annotations
*******************************************************************************/
@@ -28,26 +28,33 @@ public class TmfBaseColumnData implements ITmfStatisticsColumnData {
* Name of the column.
*/
protected final String fHeader;
+
/**
* Width of the column.
*/
protected final int fWidth;
+
/**
* Alignment of the column.
*/
protected final int fAlignment;
+
/**
* Tooltip of the column.
*/
protected final String fTooltip;
+
/**
- * Adapts a StatisticsTreeNode into the content of it's corresponding cell for that column.
+ * Adapts a StatisticsTreeNode into the content of it's corresponding cell
+ * for that column.
*/
protected final ColumnLabelProvider fLabelProvider;
+
/**
* Used to sort elements of this column. Can be null.
*/
protected final ViewerComparator fComparator;
+
/**
* Used to draw bar charts in this column. Can be null.
*/
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnDataProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnDataProvider.java
index d0dc21e729..7bc3ac3bf9 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnDataProvider.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseColumnDataProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011, 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis <mathieu.denis@polymtl.ca> - Implementation and Initial API
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Implementation and Initial API
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -40,31 +40,37 @@ public class TmfBaseColumnDataProvider implements ITmfColumnDataProvider {
* Contains the list of the columns
*/
protected List<TmfBaseColumnData> fColumnData = null;
+
/**
* Level column names
*/
protected final static String LEVEL_COLUMN = Messages.TmfStatisticsView_LevelColumn;
+
/**
* Number of events column names
*/
protected final static String EVENTS_COUNT_COLUMN = Messages.TmfStatisticsView_NbEventsColumn;
+
/**
* Level column tooltips
*/
protected final static String LEVEL_COLUMN_TIP = Messages.TmfStatisticsView_LevelColumnTip;
+
/**
* Number of events column tooltips
*/
protected final static String EVENTS_COUNT_COLUMN_TIP = Messages.TmfStatisticsView_NbEventsTip;
+
/**
* Level for which statistics should not be displayed.
*/
protected Set<String> fFolderLevels = new HashSet<String>(Arrays.asList(new String[] { "Event Types" })); //$NON-NLS-1$
+
/**
* Create basic columns to represent the statistics data
*/
public TmfBaseColumnDataProvider() {
- // List that will be used to create the table.
+ /* List that will be used to create the table. */
fColumnData = new Vector<TmfBaseColumnData>();
fColumnData.add(new TmfBaseColumnData(LEVEL_COLUMN, 200, SWT.LEFT, LEVEL_COLUMN_TIP, new ColumnLabelProvider() {
@Override
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseStatisticsTree.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseStatisticsTree.java
index 10803abb08..5e835a49d1 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseStatisticsTree.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfBaseStatisticsTree.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API and Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API and Implementation
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -34,21 +34,19 @@ import org.eclipse.linuxtools.tmf.ui.views.statistics.ITmfExtraEventInfo;
public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
/**
- * <h4>Header for the event types categories.</h4>
+ * Header for the event types categories.
*/
public static final String HEADER_EVENT_TYPES = Messages.TmfStatisticsData_EventTypes;
/**
- * <h4>Indicate that it's a value.</h4>
- * <p>
+ * Indicate that it's a value.
+ *
* Used when checking the possible child node for a node.
- * </p>
- * *
- * <p>
+ *
* It differentiate a category of a value by being appended to a value.
- * </p>
*/
protected static final String NODE = "z"; //$NON-NLS-1$
+
/**
* Root node key.
*/
@@ -82,6 +80,7 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
/*
* (non-Javadoc)
+ *
* @see org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfStatisticsData#getChildren(org.eclipse.linuxtools.tmf.util.TmfFixedArray)
*/
@Override
@@ -119,6 +118,7 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
/*
* (non-Javadoc)
+ *
* @see org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfStatisticsData#getAllChildren(org.eclipse.linuxtools.tmf.util.TmfFixedArray)
*/
@Override
@@ -154,7 +154,7 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
}
/**
- * <h4>Get the event types paths.</h4>
+ * Get the event types paths.
*
* @param event
* Event to get the path for.
@@ -175,7 +175,7 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
}
/**
- * <h4>Get the standard paths for an event.</h4>
+ * Get the standard paths for an event.
*
* @param event
* Event to get the path for.
@@ -193,6 +193,7 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
/*
* (non-Javadoc)
+ *
* @see org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfStatisticsData#increase(org.eclipse.linuxtools.tmf.event.TmfEvent, org.eclipse.linuxtools.tmf.ui.views.statistics.ITmfEventInfo, int)
*/
@Override
@@ -202,6 +203,7 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
/*
* (non-Javadoc)
+ *
* @see org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfStatisticsData#registerEvent(org.eclipse.linuxtools.tmf.event.TmfEvent, org.eclipse.linuxtools.tmf.ui.views.statistics.ITmfEventInfo)
*/
@Override
@@ -219,8 +221,8 @@ public class TmfBaseStatisticsTree extends AbsTmfStatisticsTree {
/*
* (non-Javadoc)
- * @see org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfStatisticsData#registerName
- * (org.eclipse.linuxtools.tmf.ui.views.statistics.model.TmfFixedArray)
+ *
+ * @see org.eclipse.linuxtools.tmf.ui.views.statistics.model.AbsTmfStatisticsTree#registerName(org.eclipse.linuxtools.tmf.core.util.TmfFixedArray)
*/
@Override
protected void registerName(TmfFixedArray<String> path) {
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatistics.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatistics.java
index 52aa1a2716..b5d0f284a1 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatistics.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatistics.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Intial API and Implementation
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Intial API and Implementation
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -15,15 +15,15 @@ package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
/**
* Primitive container for Statistics data
*
- * Contains information about statistics that can be retrieved with any type
- * of traces
+ * Contains information about statistics that can be retrieved with any type of
+ * traces
*
* @version 1.0
* @author Mathieu Denis
*/
public class TmfStatistics {
- /**
- * <h4>Number of event</h4>
- */
- public long nbEvents = 0;
+ /**
+ * Number of events.
+ */
+ public long nbEvents = 0;
}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeNode.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeNode.java
index f56e6a7d9d..bfc1de29f7 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeNode.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeNode.java
@@ -7,9 +7,9 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Yann N. Dauphin (dhaemon@gmail.com) - Implementation for stats
- * Francois Godin (copelnug@gmail.com) - Re-design for new stats structure
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Re-design for new stats structure (2)
+ * Yann N. Dauphin <dhaemon@gmail.com> - Implementation for stats
+ * Francois Godin <copelnug@gmail.com> - Re-design for new stats structure
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Re-design for new stats structure (2)
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -21,108 +21,137 @@ import org.eclipse.linuxtools.tmf.core.util.TmfFixedArray;
/**
* A tree where nodes can be accessed efficiently using paths.
*
- * It works like file systems. Each node is identified by a key. A path is
- * an array ({@link TmfFixedArray}) of String. The elements of the array
- * represent the path from the root to this node.
+ * It works like file systems. Each node is identified by a key. A path is an
+ * array ({@link TmfFixedArray}) of String. The elements of the array represent
+ * the path from the root to this node.
*
* @version 1.0
* @author Mathieu Denis
*/
public class TmfStatisticsTreeNode {
- /**
- * <h4>Value of the node.</h4>
- */
+
+ /**
+ * Value of the node.
+ */
protected TmfStatistics fValue;
- /**
- * <h4>Path of the node.</h4>
- */
+
+ /**
+ * Path of the node.
+ */
protected TmfFixedArray<String> fPath;
- /**
- * <h2>Corresponding StatisticsData.</h2>
- */
+
+ /**
+ * Corresponding StatisticsData.
+ */
protected AbsTmfStatisticsTree fNodes;
- /**
- * <h4>Constructor.</h4>
- * @param path Path to the node.
- * @param nodes Corresponding StatisticsData.
- */
- public TmfStatisticsTreeNode(final TmfFixedArray<String> path, AbsTmfStatisticsTree nodes) {
- fPath = path;
- fNodes = nodes;
- fValue = new TmfStatistics();
- }
- /**
- * <h4>Test if a node contain the specified child.</h4>
- * @param key Name of the child.
- * @return true: if child with given key is present, false: if no child exists with given key name
- */
- public boolean containsChild(String key) {
- if(AbsTmfStatisticsTree.ROOT.equals(fPath)) {
+
+ /**
+ * Constructor.
+ *
+ * @param path
+ * Path to the node.
+ * @param nodes
+ * Corresponding StatisticsData.
+ */
+ public TmfStatisticsTreeNode(final TmfFixedArray<String> path, AbsTmfStatisticsTree nodes) {
+ fPath = path;
+ fNodes = nodes;
+ fValue = new TmfStatistics();
+ }
+
+ /**
+ * Test if a node contain the specified child.
+ *
+ * @param key
+ * Name of the child.
+ * @return true: if child with given key is present, false: if no child
+ * exists with given key name
+ */
+ public boolean containsChild(String key) {
+ if (AbsTmfStatisticsTree.ROOT.equals(fPath)) {
return fNodes.get(new TmfFixedArray<String>(key)) != null;
}
- return (fNodes.get(fPath.append(key)) != null);
- }
- /**
- * <h4>Get the children of this node.</h4>
- * @return Direct children of this node.
- */
- public Collection<TmfStatisticsTreeNode> getChildren() {
- return fNodes.getChildren(fPath);
- }
- /**
- * <h4>Get the children of this node.</h4>
+ return (fNodes.get(fPath.append(key)) != null);
+ }
+
+ /**
+ * Get the children of this node.
+ *
+ * @return Direct children of this node.
+ */
+ public Collection<TmfStatisticsTreeNode> getChildren() {
+ return fNodes.getChildren(fPath);
+ }
+
+ /**
+ * Get the children of this node.
+ *
* @return Direct children of this node.
*/
public Collection<TmfStatisticsTreeNode> getAllChildren() {
return fNodes.getAllChildren(fPath);
}
- /**
- * <h4>Get the key for this node.</h4>
- * @return Key associated with this node.
- */
- public String getKey() {
- return fPath.get(fPath.size() - 1);
- }
- /**
- * <h4>Get the number of children this node have.</h4>
- * @return Number of direct children of this node.
- */
- public int getNbChildren() {
- return fNodes.getChildren(fPath).size();
- }
- /**
- * <h4>Return the parent node.</h4>
- * @return Parent node.
- */
- public TmfStatisticsTreeNode getParent() {
- return fNodes.getParent(fPath);
- }
- /**
- * <h4>Get the path of the node.</h4>
- * @return The path of the node.
- */
- public TmfFixedArray<String> getPath() {
- return fPath;
- }
- /**
- * <h4>Get the value of this node.</h4>
- * @return Value associated with this node.
- */
- public TmfStatistics getValue() {
- return fValue;
- }
- /**
- * <h4>Indicate if the node have children.</h4>
- * @return True if the node has children.
- */
- public boolean hasChildren() {
- return !fNodes.getChildren(fPath).isEmpty();
- }
- /**
- * <h4>Start from creation time i.e. keep key and parent but new statistics and no children.</h4>
- */
- public void reset() {
- fValue = new TmfStatistics();
- fNodes.reset(fPath);
- }
-} \ No newline at end of file
+
+ /**
+ * Get the key for this node.
+ *
+ * @return Key associated with this node.
+ */
+ public String getKey() {
+ return fPath.get(fPath.size() - 1);
+ }
+
+ /**
+ * Get the number of children this node have.
+ *
+ * @return Number of direct children of this node.
+ */
+ public int getNbChildren() {
+ return fNodes.getChildren(fPath).size();
+ }
+
+ /**
+ * Return the parent node.
+ *
+ * @return Parent node.
+ */
+ public TmfStatisticsTreeNode getParent() {
+ return fNodes.getParent(fPath);
+ }
+
+ /**
+ * Get the path of the node.
+ *
+ * @return The path of the node.
+ */
+ public TmfFixedArray<String> getPath() {
+ return fPath;
+ }
+
+ /**
+ * Get the value of this node.
+ *
+ * @return Value associated with this node.
+ */
+ public TmfStatistics getValue() {
+ return fValue;
+ }
+
+ /**
+ * Indicate if the node have children.
+ *
+ * @return True if the node has children.
+ */
+ public boolean hasChildren() {
+ return !fNodes.getChildren(fPath).isEmpty();
+ }
+
+ /**
+ * Start from creation time i.e. keep key and parent but new statistics and
+ * no children.
+ */
+ public void reset() {
+ fValue = new TmfStatistics();
+ fNodes.reset(fPath);
+ }
+}
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeRootFactory.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeRootFactory.java
index 1c90f0c5bc..ff8d2f49e1 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeRootFactory.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfStatisticsTreeRootFactory.java
@@ -7,7 +7,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -18,8 +18,8 @@ import java.util.Map;
/**
* Factory class to create and store TMF statistic trees.
*
- * Based on a given tree node ID a TMF statistic tree is stored internally.
- * A root node is created for each tree. Using the tree node ID the statistics
+ * Based on a given tree node ID a TMF statistic tree is stored internally. A
+ * root node is created for each tree. Using the tree node ID the statistics
* tree can be retrieved.
*
* @version 1.0
@@ -28,18 +28,11 @@ import java.util.Map;
*/
public class TmfStatisticsTreeRootFactory {
- // -----------------------------------------------------------------------
- // Data
- // -----------------------------------------------------------------------
/**
* Contains the experiment name as the key and the traces data
*/
private static final Map<String, AbsTmfStatisticsTree> fTreeInstances = new HashMap<String, AbsTmfStatisticsTree>();
- // -----------------------------------------------------------------------
- // Methods
- // -----------------------------------------------------------------------
-
/**
* Provide a statisticsTree instance per trace
*
diff --git a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfTreeContentProvider.java b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfTreeContentProvider.java
index 7174b3c914..614be4fcee 100755
--- a/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfTreeContentProvider.java
+++ b/lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/model/TmfTreeContentProvider.java
@@ -1,13 +1,13 @@
/*******************************************************************************
* Copyright (c) 2011, 2012 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:
- * Mathieu Denis (mathieu.denis@polymtl.ca) - Initial API
+ * Mathieu Denis <mathieu.denis@polymtl.ca> - Initial API
*******************************************************************************/
package org.eclipse.linuxtools.tmf.ui.views.statistics.model;
@@ -17,7 +17,7 @@ import org.eclipse.jface.viewers.Viewer;
/**
* Adapter TreeViewers can use to interact with StatisticsTreeNode objects.
- *
+ *
* @version 1.0
* @author Mathieu Denis
* @see org.eclipse.jface.viewers.ITreeContentProvider
@@ -25,7 +25,7 @@ import org.eclipse.jface.viewers.Viewer;
public class TmfTreeContentProvider implements ITreeContentProvider {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
*/
@Override
@@ -35,7 +35,7 @@ public class TmfTreeContentProvider implements ITreeContentProvider {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
*/
@Override
@@ -45,7 +45,7 @@ public class TmfTreeContentProvider implements ITreeContentProvider {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
*/
@Override
@@ -55,7 +55,7 @@ public class TmfTreeContentProvider implements ITreeContentProvider {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
@Override
@@ -65,7 +65,7 @@ public class TmfTreeContentProvider implements ITreeContentProvider {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
@Override
@@ -74,7 +74,7 @@ public class TmfTreeContentProvider implements ITreeContentProvider {
/*
* (non-Javadoc)
- *
+ *
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
*/
@Override

Back to the top