From: Patrick Tasse Date: Mon, 30 May 2016 18:52:44 +0000 (-0400) Subject: tmf: Bug 494767: Events in selection not updated in Statistics view X-Git-Url: http://git.efficios.com/?p=deliverable%2Ftracecompass.git;a=commitdiff_plain;h=60d2a3aa3ae77d481b159894e54df98b5cbf1a3c tmf: Bug 494767: Events in selection not updated in Statistics view - Make sure the time range created from TmfSelectionRangeUpdatedSignal always has the earliest time as start time. - If the events per type map is empty for a time range stats update, reset all time range event counts. Change-Id: I2c860bdd0dd9e033933c690f230aaf79e6f60b5e Signed-off-by: Patrick Tasse Reviewed-on: https://git.eclipse.org/r/73973 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann Tested-by: Bernd Hufmann --- diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/StatisticsUpdateJob.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/StatisticsUpdateJob.java index 31c6480ef9..ed2e010a55 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/StatisticsUpdateJob.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/StatisticsUpdateJob.java @@ -22,6 +22,7 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.tracecompass.internal.tmf.ui.viewers.piecharts.model.TmfPieChartStatisticsModel; import org.eclipse.tracecompass.internal.tmf.ui.viewers.statistics.model.TmfStatisticsTree; import org.eclipse.tracecompass.internal.tmf.ui.viewers.statistics.model.TmfStatisticsTreeManager; +import org.eclipse.tracecompass.internal.tmf.ui.viewers.statistics.model.TmfStatisticsTreeNode; import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem; import org.eclipse.tracecompass.tmf.core.statistics.ITmfStatistics; import org.eclipse.tracecompass.tmf.core.statistics.TmfStatisticsEventTypesModule; @@ -175,9 +176,17 @@ class StatisticsUpdateJob extends Job { * */ - /* Fill in an the event counts (either cells C or D) */ - for (Map.Entry entry : map.entrySet()) { - statsData.setTypeCount(name, entry.getKey(), fIsGlobal, entry.getValue()); + if (map.isEmpty() && !fIsGlobal) { + /* Reset all time range event counts (cells D) */ + TmfStatisticsTreeNode eventTypeNode = statsData.getNode(name, TmfStatisticsTree.HEADER_EVENT_TYPES); + if (eventTypeNode != null) { + eventTypeNode.resetTimeRangeValue(); + } + } else { + /* Fill in the event counts (either cells C or D) */ + for (Map.Entry entry : map.entrySet()) { + statsData.setTypeCount(name, entry.getKey(), fIsGlobal, entry.getValue()); + } } /* diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/TmfStatisticsViewer.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/TmfStatisticsViewer.java index ac89d9bb9b..1369baccfd 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/TmfStatisticsViewer.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/viewers/statistics/TmfStatisticsViewer.java @@ -229,7 +229,12 @@ public class TmfStatisticsViewer extends TmfViewer { } ITmfTimestamp begin = signal.getBeginTime(); ITmfTimestamp end = signal.getEndTime(); - TmfTimeRange timeRange = new TmfTimeRange(begin, end); + TmfTimeRange timeRange; + if (begin.compareTo(end) <= 0) { + timeRange = new TmfTimeRange(begin, end); + } else { + timeRange = new TmfTimeRange(end, begin); + } requestTimeRangeData(fTrace, timeRange); }