Merge "Issue #2218 - improve error handling and performance in SCANMonitor" into development

Former-commit-id: 877730ad19 [formerly 48a1404221] [formerly 4635a88d54 [formerly bfbe879b22697ca7c8558ee94c49137a7787cfc9]]
Former-commit-id: 4635a88d54
Former-commit-id: 2357c7725a
This commit is contained in:
Lee Venable 2013-07-26 08:48:56 -05:00 committed by Gerrit Code Review
commit 995175c247
6 changed files with 374 additions and 240 deletions

View file

@ -62,6 +62,7 @@ import com.raytheon.uf.viz.monitor.scan.ScanMonitor;
* Oct 13, 2009 dhladky Initial creation
* Feb 28, 2013 1731 bsteffen Optimize construction of scan resource.
* Apr 18, 2013 1926 njensen Reuse URIs in construction of resource
* Jul 24, 2013 2218 mpduff Changed method signature.
*
* </pre>
*
@ -171,8 +172,7 @@ public class ScanResourceData extends AbstractRequestableResourceData {
&& !getScan()
.getDialog(ScanTables.valueOf(tableType), icao)
.getCurrentShell().isDisposed()) {
DataTime time = getScan().getMostRecent(getScan(), tableType,
icao);
DataTime time = getScan().getMostRecent(tableType, icao);
if (time != null) {
getScan().updateDialog(
ScanTables.valueOf(tableType),

View file

@ -78,6 +78,7 @@ import com.raytheon.uf.viz.monitor.scan.commondialogs.LoadSaveConfigDlg.DialogTy
* Apr 26, 2013 #1945 lvenable Some code cleanup.
* 06 Jun 2013 #2065 lvenable Added convenience method to alert the user to use the clear
* button if they want to close the dialog.
* Jul 24, 2013 #2218 mpduff Changed method signature.
* </pre>
*
* @author lvenable
@ -487,8 +488,7 @@ public abstract class AbstractTableDlg extends Dialog implements IMonitor,
if (getLinkToFrame(scanTable.name())) {
time = scanMonitor.getScanTime(scanTable, site);
} else {
DataTime dt = scanMonitor.getMostRecent(scanMonitor,
scanTable.name(), site);
DataTime dt = scanMonitor.getMostRecent(scanTable.name(), site);
if (dt != null) {
time = dt.getRefTime();

View file

@ -87,11 +87,12 @@ import com.raytheon.viz.ui.EditorUtil;
* ------------ ---------- ----------- --------------------------
* Nov 21, 2009 #3039 lvenable Initial creation
*
* 03/15/2012 13939 Mike Duff For a SCAN Alarms issue
* 03/15/2012 13939 mpduff For a SCAN Alarms issue
* Apr 26, 2013 #1945 lvenable Improved SCAN performance, reworked
* some bad code, and some code cleanup.
* 06 Jun 2013 #2065 lvenable Added code to alert the user to use the clear
* button if they want to close the dialog.
* Jul 24, 2013 2218 mpduff Method signature changed.
*
* </pre>
*
@ -186,7 +187,7 @@ public class SCANCellTableDlg extends AbstractTableDlg implements
private SCANAlarmsDlg alarmDlg = null;
/** Date format for the time label. */
private SimpleDateFormat dateFmt = new SimpleDateFormat(
private final SimpleDateFormat dateFmt = new SimpleDateFormat(
"E MMM dd HH:mm yyyy");
/**
@ -1086,8 +1087,7 @@ public class SCANCellTableDlg extends AbstractTableDlg implements
// closes the alarm dialog if new data comes in or user switches
// frame
Date scanMostRecentTime = null;
DataTime dataTime = scan.getMostRecent(scan, scanTable.name(),
site);
DataTime dataTime = scan.getMostRecent(scanTable.name(), site);
if (dataTime != null) {
scanMostRecentTime = dataTime.getRefTime();
}

View file

@ -93,6 +93,7 @@ import com.raytheon.viz.ui.EditorUtil;
* some bad code, and some code cleanup.
* 06 Jun 2013 #2065 lvenable Added code to alert the user to use the clear
* button if they want to close the dialog.
* Jul 24, 2013 2218 mpduff Change method signature.
*
* </pre>
*
@ -974,7 +975,7 @@ public class SCANDmdTableDlg extends AbstractTableDlg implements
if ((currentTime != null)
&& (currentElevation != null)
&& currentTime.equals(scan.getMostRecent(scan,
&& currentTime.equals(scan.getMostRecent(
scanTable.name(), site).getRefTime())
&& (currentElevation != scan.getDmdTilt(site))) {
// do nothing
@ -1001,23 +1002,22 @@ public class SCANDmdTableDlg extends AbstractTableDlg implements
// closes the alarm dialog if new data comes in or user switches
// frame
if (getLinkToFrame(scanTable.name())
|| currentTime.equals(scan.getMostRecent(scan,
|| currentTime.equals(scan.getMostRecent(
scanTable.name(), site).getRefTime())) {
if ((alarmsDlg != null) && alarmsDlg.isOpen()) {
alarmsDlg.close();
}
}
Date date = scan.getMostRecent(scanTable.name(), site)
.getRefTime();
if ((EditorUtil.getActiveVizContainer() != null)
&& !(EditorUtil.getActiveVizContainer()
.getLoopProperties().isLooping())
&& (mgr.getScheduledAlarms(site, scanTable).size() > 0)
&& currentTime.equals(scan.getMostRecent(scan,
scanTable.name(), site).getRefTime())
&& currentTime.equals(date)
&& !scanCfg.getAlarmsDisabled(scanTable)) {
dmdTableComp.checkBlink(sdg,
scan.getMostRecent(scan, scanTable.name(), site)
.getRefTime());
dmdTableComp.checkBlink(sdg, date);
if (mgr.getAlertedAlarms(site, scanTable).size() > 0) {
alarmBtn.setVisible(true);
addAlarmTimer();

View file

@ -59,6 +59,7 @@ import com.raytheon.uf.common.monitor.scan.config.SCANConfig;
import com.raytheon.uf.common.monitor.scan.config.SCANConfigEnums.ScanColors;
import com.raytheon.uf.common.monitor.scan.config.SCANConfigEnums.ScanTables;
import com.raytheon.uf.common.monitor.scan.config.SCANConfigEnums.TVSTable;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.viz.monitor.scan.ScanMonitor;
import com.raytheon.uf.viz.monitor.scan.data.ScanDataGenerator;
import com.raytheon.uf.viz.monitor.scan.tables.SCANAlarmAlertManager.AlertedAlarms;
@ -81,6 +82,7 @@ import com.raytheon.uf.viz.monitor.scan.tables.SCANAlarmAlertManager.AlertedAlar
* the table column images. This is to fix the Windows
* issue on the images being blank and throwing errors.
* Also cleaned up some code.
* Jul 24, 2013 2218 mpduff Change method signature.
*
* </pre>
*
@ -148,7 +150,7 @@ public abstract class SCANTable extends Composite {
private Point extent;
private String site;
private final String site;
protected Point mouseMovePt = new Point(0, 0);
@ -678,10 +680,9 @@ public abstract class SCANTable extends Composite {
|| ((scanTable == ScanTables.DMD) && !mgr.getAlertedAlarms(
site, scanTable).isEmpty())) {
ScanMonitor monitor = ScanMonitor.getInstance();
if (monitor.getMostRecent(monitor, scanTable.name(), site) != null) {
checkBlink(sdg,
monitor.getMostRecent(monitor, scanTable.name(), site)
.getRefTime());
DataTime dt = monitor.getMostRecent(scanTable.name(), site);
if (dt != null) {
checkBlink(sdg, dt.getRefTime());
}
}