diff options
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics')
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 |