ASM #16911 HydroDate set to next day if hour is 18Z or later

Change-Id: Ied55660cb81e3fdf2e87295fe22eb0915f7b4764

Former-commit-id: 38d9bc8c4e385e339df5bdd010160728730bed8d
This commit is contained in:
Paul.Grell 2014-12-02 11:28:30 -05:00
parent ec656123f2
commit 63ae1fe88c
2 changed files with 44 additions and 13 deletions

View file

@ -65,6 +65,9 @@ import com.raytheon.viz.ui.editor.IMultiPaneEditor;
* Apr 30, 2013 lbousaidi made seconds in the date/Time
* fields visible.
* Aug 26, 2014 14578 snaples Added Ending Hydrologic Date selection.
*
* Nov 24, 2014 16911 xwei The day of Hydrologic Date is set to the next day
* if hour is greater than 18Z.
* </pre>
*
* @author randerso
@ -130,7 +133,7 @@ public class ChooseDataPeriodDialog extends CaveJFACEDialog {
private Combo areaCombo;
private static Date currentHydroEndingDate;
public ChooseDataPeriodDialog(Shell parentShell) {
super(parentShell);
setBlockOnOpen(false);
@ -160,10 +163,21 @@ public class ChooseDataPeriodDialog extends CaveJFACEDialog {
hydroCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
prevDate = displayMgr.getCurrentEditDate();
cal.setTime(prevDate);
if(prevHydDate == null){
prevHydDate = prevDate;
if( prevHydDate == null ){
// prevHydDate = prevDate;
prevHydDate = displayMgr.getCurrentEditDate();
hydroCal.setTime(prevHydDate);
if ( cal.get(Calendar.HOUR_OF_DAY) >= 18 ){
hydroCal.add(Calendar.DATE, 1);
}
}else{
hydroCal.setTime(prevHydDate);
}
hydroCal.setTime(prevHydDate);
}
/*
@ -373,9 +387,9 @@ public class ChooseDataPeriodDialog extends CaveJFACEDialog {
@Override
public void widgetSelected(SelectionEvent e) {
int day = hyddaySpinner.getSelection();
hydroCal.set(Calendar.DAY_OF_MONTH, day);
updateTimeControls();
}
@ -526,11 +540,24 @@ public class ChooseDataPeriodDialog extends CaveJFACEDialog {
}
private void updateTimeControls() {
if (cal.getTime().before(dataMgr.getEarliestDate())
|| cal.getTime().after(dataMgr.getLatestDate())) {
cal.setTime(prevDate);
}
Calendar aCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
aCal.setTime(dataMgr.getLatestDate());
if ( cal.get(Calendar.HOUR_OF_DAY) >= 18 ){
aCal.add(Calendar.DATE, 1);
}
if (hydroCal.getTime().before(dataMgr.getEarliestDate())
|| hydroCal.getTime().after(aCal.getTime())) {
hydroCal.setTime(prevHydDate);
}
prevDate = cal.getTime();
prevHydDate = hydroCal.getTime();
@ -538,16 +565,21 @@ public class ChooseDataPeriodDialog extends CaveJFACEDialog {
monthText.setText(Integer.toString(cal.get(Calendar.MONTH) + 1));
daySpinner.setSelection(cal.get(Calendar.DAY_OF_MONTH));
hourSpinner.setSelection(cal.get(Calendar.HOUR_OF_DAY));
hydyearText.setText(Integer.toString(hydroCal.get(Calendar.YEAR)));
hydmonthText.setText(Integer.toString(hydroCal.get(Calendar.MONTH) + 1));
hyddaySpinner.setSelection(hydroCal.get(Calendar.DAY_OF_MONTH));
hourSpinner.setSelection(cal.get(Calendar.HOUR_OF_DAY));
hyddaySpinner.setSelection( hydroCal.get(Calendar.DAY_OF_MONTH) );
if (dateMap.containsKey(cal.getTime()) == false) {
dateMap = dataMgr.getDateMap(true);
}
MPEDateInfo dateInfo = dateMap.get(cal.getTime());
if (dateInfo != null) {
lastSave.setText(sdf.format(dateInfo.getLastSaveTime()));
lastExec.setText(sdf.format(dateInfo.getLastExecTime()));

View file

@ -61,6 +61,8 @@ import com.vividsolutions.jts.geom.Coordinate;
* Feb 16, 2009 snaples Initial creation
* Dec 04, 2012 15544 wkwock fix missing 12z-18z after 12
* Sep 11, 2013 #2353 lvenable Fixed cursor memory leaks and Scanner resource leak.
* Nov 24, 2014 16911 xwei The day of Hydrologic Date is set to the next day
* if hour is greater than 18Z.
*
* </pre>
*
@ -1043,10 +1045,7 @@ public class DailyQcUtils {
*/
Calendar currentTime = Calendar
.getInstance(TimeZone.getTimeZone("GMT"));
if (currentTime.get(Calendar.HOUR_OF_DAY) >= 18) {
btime.add(Calendar.DAY_OF_MONTH, 1);
}
emonth = btime.get(Calendar.MONTH);
Calendar otime = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
otime.setTime(btime.getTime());