From 7d65c2b56db8f9e2b0913873b8c71ea40328daf6 Mon Sep 17 00:00:00 2001 From: Matthew Khouzam Date: Fri, 23 Sep 2016 14:57:21 -0400 Subject: [PATCH] tmf.ui: Make TmfTimeViewer handlers parameters nullable The signal could be null if used otherwise. This handles those cases gracefully. Change-Id: I97abf9edafa37412d8eb990c58e7413551b37616 Signed-off-by: Matthew Khouzam Reviewed-on: https://git.eclipse.org/r/81823 Reviewed-by: Hudson CI Reviewed-by: Bernd Hufmann Tested-by: Bernd Hufmann --- .../tmf/ui/viewers/TmfTimeViewer.java | 31 ++++++++++--------- .../viewers/tree/AbstractTmfTreeViewer.java | 2 +- .../ui/viewers/xycharts/TmfXYChartViewer.java | 2 +- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/TmfTimeViewer.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/TmfTimeViewer.java index 08d0bf567b..8b7d00c371 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/TmfTimeViewer.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/TmfTimeViewer.java @@ -13,6 +13,7 @@ package org.eclipse.tracecompass.tmf.ui.viewers; +import org.eclipse.jdt.annotation.Nullable; import org.eclipse.swt.widgets.Composite; import org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal; import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler; @@ -289,7 +290,10 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * The trace opened signal {@link TmfTraceOpenedSignal} */ @TmfSignalHandler - public void traceOpened(TmfTraceOpenedSignal signal) { + public void traceOpened(@Nullable TmfTraceOpenedSignal signal) { + if (signal == null) { + return; + } fTrace = signal.getTrace(); loadTrace(getTrace()); } @@ -301,8 +305,8 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * The trace selected signal {@link TmfTraceSelectedSignal} */ @TmfSignalHandler - public void traceSelected(TmfTraceSelectedSignal signal) { - if (fTrace != signal.getTrace()) { + public void traceSelected(@Nullable TmfTraceSelectedSignal signal) { + if (signal != null && fTrace != signal.getTrace()) { fTrace = signal.getTrace(); loadTrace(getTrace()); } @@ -315,9 +319,9 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * The trace closed signal {@link TmfTraceClosedSignal} */ @TmfSignalHandler - public void traceClosed(TmfTraceClosedSignal signal) { + public void traceClosed(@Nullable TmfTraceClosedSignal signal) { - if (signal.getTrace() != fTrace) { + if (signal == null || signal.getTrace() != fTrace) { return; } @@ -334,8 +338,8 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * @since 1.0 */ @TmfSignalHandler - public void selectionRangeUpdated(TmfSelectionRangeUpdatedSignal signal) { - if ((signal.getSource() != this) && (fTrace != null)) { + public void selectionRangeUpdated(@Nullable TmfSelectionRangeUpdatedSignal signal) { + if (signal != null && (signal.getSource() != this) && (fTrace != null)) { long selectedTime = signal.getBeginTime().toNanos(); long selectedEndTime = signal.getEndTime().toNanos(); setSelectionRange(selectedTime, selectedEndTime); @@ -350,9 +354,9 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * @since 1.0 */ @TmfSignalHandler - public void windowRangeUpdated(TmfWindowRangeUpdatedSignal signal) { + public void windowRangeUpdated(@Nullable TmfWindowRangeUpdatedSignal signal) { - if (fTrace != null) { + if (signal != null && fTrace != null) { // Validate the time range TmfTimeRange range = signal.getCurrentRange().getIntersection(fTrace.getTimeRange()); if (range == null) { @@ -376,9 +380,8 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * The trace range signal {@link TmfTraceRangeUpdatedSignal} */ @TmfSignalHandler - public void traceRangeUpdated(TmfTraceRangeUpdatedSignal signal) { - - if (signal.getTrace() != fTrace) { + public void traceRangeUpdated(@Nullable TmfTraceRangeUpdatedSignal signal) { + if (signal == null || signal.getTrace() != fTrace) { return; } @@ -398,8 +401,8 @@ public abstract class TmfTimeViewer extends TmfViewer implements ITmfTimeProvide * The trace updated signal {@link TmfTraceUpdatedSignal} */ @TmfSignalHandler - public void traceUpdated(TmfTraceUpdatedSignal signal) { - if (signal.getTrace() != fTrace) { + public void traceUpdated(@Nullable TmfTraceUpdatedSignal signal) { + if (signal == null || signal.getTrace() != fTrace) { return; } TmfTimeRange fullRange = signal.getTrace().getTimeRange(); diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java index 3c78e7951b..77002a3cf6 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/tree/AbstractTmfTreeViewer.java @@ -489,7 +489,7 @@ public abstract class AbstractTmfTreeViewer extends TmfTimeViewer { @TmfSignalHandler public void selectionRangeUpdated(TmfSelectionRangeUpdatedSignal signal) { super.selectionRangeUpdated(signal); - if ((signal.getSource() != this) && (getTrace() != null)) { + if (signal != null && (signal.getSource() != this) && (getTrace() != null)) { updateContent(this.getSelectionBeginTime(), this.getSelectionEndTime(), true); } } diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/TmfXYChartViewer.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/TmfXYChartViewer.java index b9baefac3e..29ca3f9809 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/TmfXYChartViewer.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/TmfXYChartViewer.java @@ -319,7 +319,7 @@ public abstract class TmfXYChartViewer extends TmfTimeViewer implements ITmfChar @TmfSignalHandler public void selectionRangeUpdated(TmfSelectionRangeUpdatedSignal signal) { super.selectionRangeUpdated(signal); - if ((signal.getSource() != this) && (getTrace() != null)) { + if (signal != null && (signal.getSource() != this) && (getTrace() != null)) { if (fMouseSelectionProvider != null) { fMouseSelectionProvider.refresh(); } -- 2.34.1