From fb6fc372c4b80e081889e896187823045baadee0 Mon Sep 17 00:00:00 2001 From: Dave Hladky Date: Thu, 17 Dec 2015 10:12:36 -0600 Subject: [PATCH] Omaha #3873 Abstracted dialogTime and monitor event updates to dialogTime. Change-Id: I961f92af7066bc3cd66871c1f496eb052070412a Former-commit-id: 22235c6bed9cca54f5c4c4976fe480e9f2f8ffc0 --- .../uf/viz/monitor/fog/FogMonitor.java | 23 +----------- .../fog/ui/dialogs/FogZoneTableDlg.java | 6 ++-- .../viz/monitor/safeseas/SafeSeasMonitor.java | 33 +---------------- .../safeseas/ui/dialogs/SSZoneTableDlg.java | 4 +-- .../uf/viz/monitor/snow/SnowMonitor.java | 34 ++++-------------- .../snow/ui/dialogs/SnowZoneTableDlg.java | 4 +-- .../raytheon/uf/viz/monitor/ObsMonitor.java | 36 +++++++++++++++++++ .../viz/monitor/ui/dialogs/ZoneTableDlg.java | 4 ++- 8 files changed, 51 insertions(+), 93 deletions(-) diff --git a/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/FogMonitor.java b/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/FogMonitor.java index 0567b57487..33a66a8e5a 100755 --- a/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/FogMonitor.java +++ b/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/FogMonitor.java @@ -88,6 +88,7 @@ import com.vividsolutions.jts.geom.Geometry; * Sep 23, 2014 3356 njensen Remove unnecessary import * Mar 09, 2014 3888 dhladky Stopped processing when dialogs are null or disposed. * Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -118,8 +119,6 @@ public class FogMonitor extends ObsMonitor implements IFogResourceListener { /** data holder for FOG ALG data **/ private SortedMap> algorithmData = null; - private Date dialogTime = null; - /** list of coordinates for each zone **/ private Map zoneGeometries = null; @@ -514,26 +513,6 @@ public class FogMonitor extends ObsMonitor implements IFogResourceListener { fogResources.remove(ifru); } - /** - * FogResource sets the Drawtime - * - * @param drawTime - */ - @Override - public void updateDialogTime(Date dialogTime) { - this.dialogTime = dialogTime; - fireMonitorEvent(zoneDialog.getClass().getName()); - } - - /** - * The date for the dialog to stay in step with - * - * @return - */ - public Date getDialogDate() { - return dialogTime; - } - /* * (non-Javadoc) * diff --git a/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/ui/dialogs/FogZoneTableDlg.java b/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/ui/dialogs/FogZoneTableDlg.java index 746699731d..cd7cbaa301 100755 --- a/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/ui/dialogs/FogZoneTableDlg.java +++ b/cave/com.raytheon.uf.viz.monitor.fog/src/com/raytheon/uf/viz/monitor/fog/ui/dialogs/FogZoneTableDlg.java @@ -61,6 +61,7 @@ import com.raytheon.uf.viz.monitor.ui.dialogs.ZoneTableDlg; * Apr 28, 2014 3086 skorolev Updated getConfigMgr method. * Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose. * Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -148,13 +149,10 @@ public class FogZoneTableDlg extends ZoneTableDlg { if (me.getSource() instanceof FogMonitor) { FogMonitor fog = (FogMonitor) me.getSource(); - Date date = fog.getDialogDate(); + Date date = fog.getDialogTime(); if (date != null) { Date nominalTime = date; ObMultiHrsReports obData = fog.getObData(); - if (!isLinkedToFrame()) { - nominalTime = obData.getLatestNominalTime(); - } FogDataGenerator fdg = new FogDataGenerator(); Map fogAlgCellType = fdg.getAlgCellTypes(fog .getAlgorithmData(nominalTime)); diff --git a/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/SafeSeasMonitor.java b/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/SafeSeasMonitor.java index 56fa74a66a..1a0c4af6d3 100755 --- a/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/SafeSeasMonitor.java +++ b/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/SafeSeasMonitor.java @@ -85,6 +85,7 @@ import com.vividsolutions.jts.geom.Geometry; * Sep 04, 2014 3220 skorolev Updated configUpdate method and added updateMonitoringArea. * Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage. * Oct 21, 2015 3873 dhladky Get Obs load off UI thread. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -127,9 +128,6 @@ public class SafeSeasMonitor extends ObsMonitor implements ISSResourceListener { /** List of SAFESEAS resource listeners **/ private final List safeSeasResources = new ArrayList(); - /** Time which Zone/County dialog shows. **/ - private Date dialogTime = null; - /** list of coordinates for each zone **/ private Map zoneGeometries = null; @@ -398,35 +396,6 @@ public class SafeSeasMonitor extends ObsMonitor implements ISSResourceListener { fireMonitorEvent(this); } - /** - * SSResource updates the dialogTime - * - * @param dialogTime - */ - @Override - public void updateDialogTime(Date dialogTime) { - this.dialogTime = dialogTime; - fireMonitorEvent(zoneDialog.getClass().getName()); - } - - /** - * Gets Dialog Time. - * - * @return dialogTime - */ - public Date getDialogTime() { - return dialogTime; - } - - /** - * Sets the dialogTime - * - * @param dialogTime - */ - public void setDialogTime(Date dialogTime) { - this.dialogTime = dialogTime; - } - /** * Adds recourse listener * diff --git a/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/ui/dialogs/SSZoneTableDlg.java b/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/ui/dialogs/SSZoneTableDlg.java index 38688ea42f..adc9cc68c5 100755 --- a/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/ui/dialogs/SSZoneTableDlg.java +++ b/cave/com.raytheon.uf.viz.monitor.safeseas/src/com/raytheon/uf/viz/monitor/safeseas/ui/dialogs/SSZoneTableDlg.java @@ -59,6 +59,7 @@ import com.raytheon.uf.viz.monitor.util.MonitorConfigConstants; * Apr 28, 2014 3086 skorolev Updated getConfigMgr method. * Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose. * Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -155,9 +156,6 @@ public class SSZoneTableDlg extends ZoneTableDlg { if (date != null) { Date nominalTime = date; ObMultiHrsReports obData = monitor.getObData(); - if (!isLinkedToFrame()) { - nominalTime = obData.getLatestNominalTime(); - } Map fogAlgThreats = monitor .getAlgorithmData(nominalTime); obData.setFogAlgCellType(monitor.getAlgCellTypes(fogAlgThreats)); diff --git a/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/SnowMonitor.java b/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/SnowMonitor.java index d52cdfcb77..2b54320588 100755 --- a/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/SnowMonitor.java +++ b/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/SnowMonitor.java @@ -32,8 +32,6 @@ import com.raytheon.uf.common.jms.notification.NotificationMessage; import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager; import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager.MonName; import com.raytheon.uf.common.monitor.data.CommonConfig; -import com.raytheon.uf.common.status.IUFStatusHandler; -import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.viz.core.alerts.AlertMessage; import com.raytheon.uf.viz.monitor.IMonitor; import com.raytheon.uf.viz.monitor.Monitor; @@ -73,6 +71,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * Apr 28, 2014 3086 skorolev Removed local getMonitorAreaConfig method. * Sep 04, 2014 3220 skorolev Updated configUpdate method and added updateMonitoringArea. * Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -83,9 +82,6 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; public class SnowMonitor extends ObsMonitor implements ISnowResourceListener { - private final IUFStatusHandler statusHandler = UFStatus - .getHandler(SnowMonitor.class); - /** Singleton instance of this class */ private static SnowMonitor monitor = null; @@ -104,9 +100,6 @@ public class SnowMonitor extends ObsMonitor implements ISnowResourceListener { */ private ObMultiHrsReports obData; - /** Time which Zone/County dialog shows. **/ - private Date dialogTime = null; - /** Array of snow listeners **/ private final List snowResources = new ArrayList(); @@ -329,24 +322,6 @@ public class SnowMonitor extends ObsMonitor implements ISnowResourceListener { fireMonitorEvent(this); } - /** - * Gets Dialog Time. - * - * @return dialogTime - */ - public Date getDialogTime() { - return dialogTime; - } - - /** - * Sets dialog time. - * - * @param dialogTime - */ - public void setDialogTime(Date dialogTime) { - this.dialogTime = dialogTime; - } - /** * Adds a listener. * @@ -368,13 +343,16 @@ public class SnowMonitor extends ObsMonitor implements ISnowResourceListener { } /** + * Event fire is different, Override. * SnowResource sets the Drawtime. * * @param dialogTime */ public void updateDialogTime(Date dialogTime) { - this.dialogTime = dialogTime; - fireMonitorEvent(this); + if (zoneDialog.linkedToFrame) { + this.dialogTime = dialogTime; + fireMonitorEvent(this); + } } /** diff --git a/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/ui/dialogs/SnowZoneTableDlg.java b/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/ui/dialogs/SnowZoneTableDlg.java index 2801eb8b33..3634639818 100755 --- a/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/ui/dialogs/SnowZoneTableDlg.java +++ b/cave/com.raytheon.uf.viz.monitor.snow/src/com/raytheon/uf/viz/monitor/snow/ui/dialogs/SnowZoneTableDlg.java @@ -56,6 +56,7 @@ import com.raytheon.uf.viz.monitor.ui.dialogs.ZoneTableDlg; * Apr 28, 2014 3086 skorolev Updated getConfigMgr method. * Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose. * Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -145,9 +146,6 @@ public class SnowZoneTableDlg extends ZoneTableDlg { SnowMonitor monitor = (SnowMonitor) me.getSource(); Date date = monitor.getDialogTime(); if (date != null) { - if (!isLinkedToFrame()) { - date = monitor.getObData().getLatestNominalTime(); - } this.updateTableDlg(monitor.getObData().getObHourReports(date)); } } diff --git a/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ObsMonitor.java b/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ObsMonitor.java index 1f18e26bb7..3ddc0c45ca 100755 --- a/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ObsMonitor.java +++ b/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ObsMonitor.java @@ -20,6 +20,7 @@ package com.raytheon.uf.viz.monitor; import java.util.ArrayList; +import java.util.Date; import java.util.Map; import java.util.regex.Pattern; @@ -47,6 +48,7 @@ import com.raytheon.uf.viz.datacube.DataCubeContainer; import com.raytheon.uf.viz.monitor.data.ObReport; import com.raytheon.uf.viz.monitor.events.IMonitorConfigurationEvent; import com.raytheon.uf.viz.monitor.events.IMonitorThresholdEvent; +import com.raytheon.uf.viz.monitor.ui.dialogs.ZoneTableDlg; import com.vividsolutions.jts.geom.Geometry; /** @@ -65,6 +67,7 @@ import com.vividsolutions.jts.geom.Geometry; * Sep 04, 2014 3220 skorolev Removed cwa and monitorUsefrom vals. * Sep 18, 2015 3873 skorolev Included common definitions. * Oct 21, 2015 3873 dhladky Get Obs load off UI thread. + * Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events. * * * @@ -78,7 +81,11 @@ public abstract class ObsMonitor extends Monitor { private static final IUFStatusHandler statusHandler = UFStatus .getHandler(ObsMonitor.class); + /** Thread job to load obs with. **/ protected ProcessObsJob obsJob = null; + + /** Time which Zone/County dialog shows. **/ + protected Date dialogTime = null; /* * (non-Javadoc) @@ -167,6 +174,13 @@ public abstract class ObsMonitor extends Monitor { */ @Override protected abstract void processNotifyMessage(NotificationMessage filtered); + + /** + * Get the Zone table Dialog implementations + * + * @return + */ + protected abstract ZoneTableDlg getZoneDialog(); /* * (non-Javadoc) @@ -320,4 +334,26 @@ public abstract class ObsMonitor extends Monitor { public void setGeoAdjAreas(Geometry geoAdjAreas) { this.geoAdjAreas = geoAdjAreas; } + + /** + * Sets the Resource Drawtime + * + * @param drawTime + */ + public void updateDialogTime(Date dialogTime) { + if (getZoneDialog().linkedToFrame) { + this.dialogTime = dialogTime; + fireMonitorEvent(getZoneDialog().getClass().getName()); + } + } + + /** + * The date for the dialog to stay in step with + * + * @return + */ + public Date getDialogTime() { + return dialogTime; + } + } diff --git a/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/ZoneTableDlg.java b/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/ZoneTableDlg.java index 7ec1e3eab6..c655714a8f 100755 --- a/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/ZoneTableDlg.java +++ b/cave/com.raytheon.uf.viz.monitor/src/com/raytheon/uf/viz/monitor/ui/dialogs/ZoneTableDlg.java @@ -102,6 +102,7 @@ import com.vividsolutions.jts.io.ParseException; * Sep 25, 2015 3873 skorolev Added center definition for moving platforms. * Nov 09, 2015 3841 dhladky Update all tables when zones/stations are updated. * Dec 02, 2015 3873 dhladky Pulled 3841 to 16.1.1. + * Dec 17, 2015 3873 dhladky Set link to Frame to true by default. * * * @@ -176,7 +177,7 @@ public abstract class ZoneTableDlg extends CaveSWTDialog implements protected Button linkToFrameChk; /** Link-to-frame flag. **/ - public boolean linkedToFrame = false; + public boolean linkedToFrame = true; /** Vertical check box. **/ private Button vertChk; @@ -384,6 +385,7 @@ public abstract class ZoneTableDlg extends CaveSWTDialog implements GridData gd = new GridData(SWT.DEFAULT, SWT.CENTER, false, true); linkToFrameChk = new Button(controlComp, SWT.CHECK); linkToFrameChk.setText("Link to Frame"); + linkToFrameChk.setSelection(linkedToFrame); linkToFrameChk.setLayoutData(gd); linkToFrameChk.addSelectionListener(new SelectionAdapter() { @Override