diff --git a/cave/com.raytheon.viz.xdat/META-INF/MANIFEST.MF b/cave/com.raytheon.viz.xdat/META-INF/MANIFEST.MF index ec0b0f806c..7593cac234 100644 --- a/cave/com.raytheon.viz.xdat/META-INF/MANIFEST.MF +++ b/cave/com.raytheon.viz.xdat/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Xdat Plug-in Bundle-SymbolicName: com.raytheon.viz.xdat;singleton:=true -Bundle-Version: 1.14.0.qualifier +Bundle-Version: 1.15.0.qualifier Bundle-Vendor: Raytheon Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, @@ -14,5 +14,6 @@ Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Import-Package: com.raytheon.uf.common.ohd, com.raytheon.uf.common.time, + com.raytheon.uf.common.time.util, com.raytheon.uf.common.util Bundle-ClassPath: com.raytheon.viz.xdat.jar diff --git a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/GroupDataDlg.java b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/GroupDataDlg.java index 7ce2dde109..7aef688c0a 100644 --- a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/GroupDataDlg.java +++ b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/GroupDataDlg.java @@ -21,7 +21,6 @@ package com.raytheon.viz.xdat; import java.io.File; import java.util.ArrayList; -import java.util.Vector; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -48,6 +47,8 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * ------------ ---------- ----------- -------------------------- * 10 Nov 2008 lvenable Initial creation. * 10 Feb 2009 wkwock Added functions. + * 31 May 2015 4501 skorolev Got rid of Vector. + * * * * @author lvenable @@ -176,8 +177,9 @@ public class GroupDataDlg extends CaveSWTDialog { */ private void retrieveAndDisplayGroupData() { String selectedGroup = groupList.getItem(groupList.getSelectionIndex()); - - String groupsDir = AppsDefaults.getInstance().getToken("xdat_groups_dir"); + + String groupsDir = AppsDefaults.getInstance().getToken( + "xdat_groups_dir"); File file = new File(groupsDir + File.separator + selectedGroup); @@ -186,10 +188,9 @@ public class GroupDataDlg extends CaveSWTDialog { StringBuilder strBld = new StringBuilder(); for (int i = 0; i < idList.size(); i++) { - - Vector results = databaseMgr.getGroupData(idList.get(i), - displayCB.getStartDate(), displayCB.getEndDate()); - + java.util.List results = databaseMgr.getGroupData( + idList.get(i), displayCB.getStartDate(), + displayCB.getEndDate()); if (results == null) { return; } @@ -204,11 +205,11 @@ public class GroupDataDlg extends CaveSWTDialog { /** * Format the group data. * - * @param dataArray + * @param results * Array of data to be formatted for the display. * @return StringBuilder class containing the formatted data. */ - private StringBuilder formatGroupData(Vector dataArray) { + private StringBuilder formatGroupData(java.util.List results) { StringBuilder strBld = new StringBuilder(); @@ -221,7 +222,7 @@ public class GroupDataDlg extends CaveSWTDialog { String hdr = " ID PE DUR TS E OBSTIME PRODUCT VALUE CHANGE"; String dashLine = "-------------------------------------------------------------------------------"; - for (String[] rowData : dataArray) { + for (String[] rowData : results) { if (rowData.length == 2) { diff --git a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/InsertDataDlg.java b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/InsertDataDlg.java index b6cc137ccb..54db05dae8 100644 --- a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/InsertDataDlg.java +++ b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/InsertDataDlg.java @@ -47,6 +47,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * ------------ ---------- ----------- -------------------------- * 10 Nov 2008 lvenable Initial creation. * 10 Feb 2009 wkwock Added functions. + * 22 May 2015 skorolev Corrected shefParamCode. Got rid of Vector. * * * @@ -203,7 +204,6 @@ public class InsertDataDlg extends CaveSWTDialog { Label idLbl = new Label(topCtrlComp, SWT.RIGHT); idLbl.setText("ID: "); idLbl.setLayoutData(gd); - ; gd = new GridData(100, SWT.DEFAULT); idTF = new Text(topCtrlComp, SWT.BORDER); @@ -246,10 +246,11 @@ public class InsertDataDlg extends CaveSWTDialog { return; } - String[] shefParamCode = databaseMgr.getShefParamCode(ID, PE); + java.util.List shefParamCode = databaseMgr + .getShefParamCode(ID, PE); if (shefParamCode != null) { - for (int i = 0; i < shefParamCode.length; i++) { - shefParamList.add(shefParamCode[i]); + for (int i = 0; i < shefParamCode.size(); i++) { + shefParamList.add(shefParamCode.get(i)); } } } @@ -368,12 +369,11 @@ public class InsertDataDlg extends CaveSWTDialog { hourSpnr.setEnabled(flag); minuteSpnr.setEnabled(flag); } - + private void postToDB() { String id = idTF.getText().trim(); if (id.compareTo("") == 0) { - MessageBox mb = new MessageBox(getParent(), - SWT.ICON_ERROR | SWT.OK); + MessageBox mb = new MessageBox(getParent(), SWT.ICON_ERROR | SWT.OK); mb.setText("Error"); mb.setMessage("ERROR: cannot post because ID is blank."); mb.open(); @@ -382,8 +382,7 @@ public class InsertDataDlg extends CaveSWTDialog { String shefParamCode[] = shefParamList.getSelection(); if (shefParamCode.length != 1) { - MessageBox mb = new MessageBox(getParent(), - SWT.ICON_ERROR | SWT.OK); + MessageBox mb = new MessageBox(getParent(), SWT.ICON_ERROR | SWT.OK); mb.setText("Error"); mb.setMessage("ERROR: cannot post because PE Type is blank."); mb.open(); @@ -396,19 +395,19 @@ public class InsertDataDlg extends CaveSWTDialog { try { value = Double.parseDouble(enterDataTF.getText().trim()); } catch (NumberFormatException nfe) { - MessageBox mb = new MessageBox(getParent(), - SWT.ICON_ERROR | SWT.OK); + MessageBox mb = new MessageBox(getParent(), SWT.ICON_ERROR | SWT.OK); mb.setText("Error"); mb.setMessage("ERROR: cannot post because data value is blank or invalid."); mb.open(); return; } - + int hour = hourSpnr.getSelection(); int minute = minuteSpnr.getSelection(); XdatShefUtil shefUtil = new XdatShefUtil(); - shefUtil.createInsertFile(id, pe, value, hour, minute, displayCB.getStartDate()); + shefUtil.createInsertFile(id, pe, value, hour, minute, + displayCB.getStartDate()); shefUtil.sendFile(); shell.dispose(); diff --git a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/PrecipDataDlg.java b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/PrecipDataDlg.java index a9aa736c5d..f10454d4c4 100644 --- a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/PrecipDataDlg.java +++ b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/PrecipDataDlg.java @@ -25,14 +25,12 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Date; -import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.TimeZone; -import java.util.Vector; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -47,6 +45,10 @@ import org.eclipse.swt.widgets.Layout; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Spinner; +import com.raytheon.uf.common.status.IUFStatusHandler; +import com.raytheon.uf.common.status.UFStatus; +import com.raytheon.uf.common.status.UFStatus.Priority; +import com.raytheon.uf.common.time.util.TimeUtil; import com.raytheon.viz.hydrocommon.HydroConstants; import com.raytheon.viz.ui.dialogs.CaveSWTDialog; @@ -59,6 +61,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * ------------ ---------- ----------- -------------------------- * 27 Oct 2008 lvenable Initial creation. * 10 Feb 2009 wkwock Added functions. + * 31 May 2015 4501 skorolev Got rid of Vector. * * * @@ -68,6 +71,9 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; */ public class PrecipDataDlg extends CaveSWTDialog { + private static final transient IUFStatusHandler statusHandler = UFStatus + .getHandler(PrecipDataDlg.class); + /** * Hour spinner. */ @@ -227,7 +233,7 @@ public class PrecipDataDlg extends CaveSWTDialog { } }); } - + private void displayCoopPrecip() { String startDate = displayCB.getEndDate(); String header1 = "\t\t\t 24 Hour Precipitation Ending at " @@ -235,7 +241,7 @@ public class PrecipDataDlg extends CaveSWTDialog { String header2 = " ID PE DUR TS E OBSTIME PRODUCT VALUE"; String dashLine = "-------------------------------------------------------------------"; String dataFmt = "%-8s %2s %4s %2s %1s %19s %13s %6.2f"; - Vector coopPrecipData = databaseMgr + List coopPrecipData = databaseMgr .getCoopPrecipData(startDate); if (coopPrecipData == null) { @@ -258,10 +264,12 @@ public class PrecipDataDlg extends CaveSWTDialog { value = Double.parseDouble(dataText[6]); } catch (NumberFormatException nfe) { value = HydroConstants.MISSING_VALUE; + statusHandler.handle(Priority.ERROR, "Fail to parse " + + dataText[6] + "."); } - displayText[i] = String.format(dataFmt, dataText[0], - "PP", dataText[1], dataText[2], dataText[3], - dataText[4], productID, value); + displayText[i] = String.format(dataFmt, dataText[0], "PP", + dataText[1], dataText[2], dataText[3], dataText[4], + productID, value); i++; } displayCB.setDisplayText(displayText); @@ -277,11 +285,11 @@ public class PrecipDataDlg extends CaveSWTDialog { Calendar date = null; try { Date sDate = obsDate.parse(displayCB.getEndDate()); - date = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - date.setTime(sDate); - date.set(GregorianCalendar.HOUR_OF_DAY, hour); + date = TimeUtil.newGmtCalendar(sDate); } catch (ParseException e) { - date = Calendar.getInstance(TimeZone.getTimeZone("GMT"));; + date = TimeUtil.newGmtCalendar(); + statusHandler.handle(Priority.ERROR, + "Fail to parse " + displayCB.getEndDate() + "."); } obsDate = new SimpleDateFormat("yyyy-MM-dd HH:00:00", Locale.US); @@ -292,16 +300,21 @@ public class PrecipDataDlg extends CaveSWTDialog { HashMap precipLidAndValue = databaseMgr .getPrecipLidAndValue(obsTimeStr); + if (precipLidAndValue == null) { + precipLidAndValue = new HashMap(); + } + date.add(Calendar.HOUR_OF_DAY, 0 - duration); obsTimeStr = obsDate.format(date.getTime()); - + Map precipLidAndValue2 = databaseMgr .getPrecipLidAndValue(obsTimeStr); if (precipLidAndValue2 == null) { precipLidAndValue2 = new HashMap(); } - ArrayList precipLidAndDiffBuf = new ArrayList(precipLidAndValue.size()); - + List precipLidAndDiffBuf = new ArrayList( + precipLidAndValue.size()); + if (precipLidAndValue.size() == 0) { precipLidAndDiffBuf.add("No " + duration + " Hour Precipitation data found."); @@ -316,7 +329,7 @@ public class PrecipDataDlg extends CaveSWTDialog { List dataList = new ArrayList(); while (iter.hasNext()) { lid = iter.next(); - + double value = precipLidAndValue.get(lid); double value2 = -999; if (precipLidAndValue2.containsKey(lid)) { @@ -332,20 +345,20 @@ public class PrecipDataDlg extends CaveSWTDialog { } XdatPcData data = new XdatPcData(lid, valDiff); - dataList.add(data); + dataList.add(data); } - + Collections.sort(dataList); for (int i = 0; i < dataList.size(); i++) { XdatPcData data = dataList.get(i); - precipLidAndDiffBuf.add(String.format("%-8s %4.2f", data.getLid(), - data.getValue())); + precipLidAndDiffBuf.add(String.format("%-8s %4.2f", + data.getLid(), data.getValue())); } - } - displayCB.setDisplayText(precipLidAndDiffBuf.toArray(new String[precipLidAndDiffBuf.size()])); + displayCB.setDisplayText(precipLidAndDiffBuf + .toArray(new String[precipLidAndDiffBuf.size()])); } } diff --git a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/SiteListDlg.java b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/SiteListDlg.java index 990e64c267..01cd1191d6 100644 --- a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/SiteListDlg.java +++ b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/SiteListDlg.java @@ -19,8 +19,6 @@ **/ package com.raytheon.viz.xdat; -import java.util.Vector; - import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -51,6 +49,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * 17 Jan 2008 lvenable Updated code to format data display on * the screen. * 10 Feb 2009 wkwock Added functions. + * 31 May 2015 4501 skorolev Got rid of Vector. * * * @@ -68,7 +67,7 @@ public class SiteListDlg extends CaveSWTDialog { /** * Data list control. */ - private List dataList; + private List dataListLst; /** * Label for the data list control. @@ -88,7 +87,7 @@ public class SiteListDlg extends CaveSWTDialog { /** * Data array. */ - private Vector dataArray; + private java.util.List dataArray; /** * This is for TESTING PURPOSES ONLY. There can be a subset of states in the @@ -218,12 +217,12 @@ public class SiteListDlg extends CaveSWTDialog { gd.widthHint = 350; gd.heightHint = 400; gd.horizontalSpan = 2; - dataList = new List(controlComp, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL - | SWT.H_SCROLL); - dataList.setLayoutData(gd); - dataList.setFont(controlFont); + dataListLst = new List(controlComp, SWT.BORDER | SWT.SINGLE + | SWT.V_SCROLL | SWT.H_SCROLL); + dataListLst.setLayoutData(gd); + dataListLst.setFont(controlFont); - dataList.addSelectionListener(new SelectionAdapter() { + dataListLst.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { displayListSelection(); @@ -288,7 +287,7 @@ public class SiteListDlg extends CaveSWTDialog { searchStr = searchTF.getText().toUpperCase(); dataArray = databaseMgr.search_string_list(searchStr, peType); - dataList.removeAll(); + dataListLst.removeAll(); if (dataArray == null) { String msg = String.format(searchFmt, 0, peType, searchStr); @@ -303,7 +302,7 @@ public class SiteListDlg extends CaveSWTDialog { des = rowData[1]; } - dataList.add(String.format(listFmt, rowData[0], des)); + dataListLst.add(String.format(listFmt, rowData[0], des)); } String str = String.format(searchFmt, dataArray.size(), peType, @@ -334,7 +333,7 @@ public class SiteListDlg extends CaveSWTDialog { } dataArray = databaseMgr.searchIds(stateName, pe); - dataList.removeAll(); + dataListLst.removeAll(); if (dataArray == null) { String msg = String.format(searchFmt, 0, pe, stateName); @@ -349,7 +348,7 @@ public class SiteListDlg extends CaveSWTDialog { des = rowData[1]; } - dataList.add(String.format(listFmt, rowData[0], des)); + dataListLst.add(String.format(listFmt, rowData[0], des)); } String str = String.format(searchFmt, dataArray.size(), pe, stateName); @@ -365,16 +364,16 @@ public class SiteListDlg extends CaveSWTDialog { String peType = displayCB.getSelectedPE(); // Get the ID from the data array. - int selectionIndex = dataList.getSelectionIndex(); + int selectionIndex = dataListLst.getSelectionIndex(); String selectedId = null; if (selectionIndex > -1) { selectedId = dataArray.get(selectionIndex)[0]; } - Vector dataVec = databaseMgr.getListData(selectedId, peType, - displayCB.getStartDate(), displayCB.getEndDate()); + java.util.List dataList = databaseMgr.getListData(selectedId, + peType, displayCB.getStartDate(), displayCB.getEndDate()); - if (dataVec == null) { + if (dataList == null) { String[] msg = new String[] { "No data available." }; displayCB.setDisplayText(msg); return; @@ -389,7 +388,7 @@ public class SiteListDlg extends CaveSWTDialog { locationDes = ""; } - String[] displayData = new String[dataVec.size() + 3]; // 1st three + String[] displayData = new String[dataList.size() + 3]; // 1st three // lines for // header String dataFmt = "%-8S %2s %-4S %2S %1S %19S %13S % 6.2f % 6.2f"; @@ -399,16 +398,17 @@ public class SiteListDlg extends CaveSWTDialog { displayData[1] = displayHeader; displayData[2] = dashLine; - for (int i = 0; i < dataVec.size(); i++) { - String[] rowData = dataVec.get(i); + for (int i = 0; i < dataList.size(); i++) { + String[] rowData = dataList.get(i); double dblVal = Double.valueOf(rowData[5]); double rndVal = (Math.round(dblVal * 100.0)) / 100.0; double change = 0; - if (i < (dataVec.size() - 1)) { // if this is not the last one, then + if (i < (dataList.size() - 1)) { // if this is not the last one, + // then // calculate the changes - String[] nextRowData = dataVec.get(i + 1); + String[] nextRowData = dataList.get(i + 1); if ((Double.valueOf(rowData[5]) != HydroConstants.MISSING_VALUE) && (Double.valueOf(nextRowData[5]) != HydroConstants.MISSING_VALUE)) { change = Double.valueOf(rowData[5]) diff --git a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDB.java b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDB.java old mode 100755 new mode 100644 index 4e18dbf29c..df002e6870 --- a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDB.java +++ b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDB.java @@ -24,32 +24,27 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.SQLWarning; -import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; -import java.util.Vector; - -import org.postgresql.util.PSQLException; import com.raytheon.uf.common.ohd.AppsDefaults; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus.Priority; +import com.raytheon.uf.viz.core.catalog.DirectDbQuery; +import com.raytheon.uf.viz.core.catalog.DirectDbQuery.QueryLanguage; +import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.viz.hydrocommon.HydroConstants; /** - * This class acquire all xdat tokens. + * XdatDB manager. This class acquire all xdat tokens. * *
  * SOFTWARE HISTORY
@@ -60,6 +55,8 @@ import com.raytheon.viz.hydrocommon.HydroConstants;
  *                         Duff
  * 10 Feb 2009             wkwock      Added functions and clean up.
  * 12 Aug 2014  3049       bkowal      Close the BufferedReader when finished.
+ * 21 May 2015  4501       skorolev    Changed a way of database connection. Got rid of Vector.
+ * 
  * 
* * @author wkwock @@ -70,54 +67,15 @@ public class XdatDB { private static final transient IUFStatusHandler statusHandler = UFStatus .getHandler(XdatDB.class); - /** - * Database connection. - */ - private Connection conn; - - /** - * Query statement. - */ - private Statement queryStmt; + public static final String IHFS = "ihfs"; private Map peMap = null; /** * Constructor - * - * @param shell - * , URL */ - public XdatDB(String URL) { - try { - Class.forName("org.postgresql.Driver"); - } catch (ClassNotFoundException cnfe) { - cnfe.printStackTrace(); - } + public XdatDB() { - try { - - conn = DriverManager.getConnection(URL); - - // Print all warnings - for (SQLWarning warn = conn.getWarnings(); warn != null; warn = warn - .getNextWarning()) { - conn = null; - } - - if (conn != null) { - queryStmt = conn.createStatement(); - } - - } catch (PSQLException pe) { - conn = null; - pe.printStackTrace(); - } catch (SQLException se) { - conn = null; - se.printStackTrace(); - } - - // peMap = new ReadPeMap(); } /** @@ -125,40 +83,26 @@ public class XdatDB { * * @param query * SQL statement. - * @return Vector Rows of data. + * @return List Rows of data. */ - public Vector runQuery(String query) { - Vector result = new Vector(); - - if (conn == null) { - return null; - } - + public List runQuery(String query) { + List result = new ArrayList(); try { - ResultSet rs = queryStmt.executeQuery(query); - - if (rs == null) { - return null; - } - - while (rs.next()) { - - StringBuilder strBld = new StringBuilder(); - - int numberOfCols = rs.getMetaData().getColumnCount(); - - for (int i = 1; i <= numberOfCols; i++) { - strBld.append(rs.getString(i)).append(" "); + List rs = DirectDbQuery.executeQuery(query, IHFS, + QueryLanguage.SQL); + if (!rs.isEmpty()) { + for (Object[] obj : rs) { + if (obj[0] != null) { + result.add(((String) obj[0]).trim()); + } } - - result.add(strBld.toString().trim()); + } else { + result = null; } - } catch (SQLException se) { - - se.printStackTrace(); - return null; + } catch (VizException e) { + statusHandler + .handle(Priority.PROBLEM, "Error querying database", e); } - return result; } @@ -168,42 +112,37 @@ public class XdatDB { * * @param query * SQL query. - * @return Vector (rows) of String arrays (columns of data). + * @return List (rows) of String arrays (columns of data). */ - public Vector runDetailedQuery(String query) { - Vector result = null; - // If the database connection is null then return null. - if (conn == null) { - return null; - } + public List runDetailedQuery(String query) { + List result = null; try { - ResultSet rs = queryStmt.executeQuery(query); - - if (rs == null) { - return null; - } - - while (rs.next()) { - + List rs = DirectDbQuery.executeQuery(query, IHFS, + QueryLanguage.SQL); + if (!rs.isEmpty()) { if (result == null) { - result = new Vector(); + result = new ArrayList(); } + Iterator rsiterator = rs.iterator(); + while (rsiterator.hasNext()) { + Object[] row = rsiterator.next(); + int numberOfCols = row.length; + String[] data = new String[numberOfCols]; + for (int i = 0; i < numberOfCols; i++) { + if (row[i] != null) { + data[i] = row[i].toString(); + } - // Get the number of columns in the row of data. - int numberOfCols = rs.getMetaData().getColumnCount(); - String[] data = new String[numberOfCols]; - - for (int i = 0; i < numberOfCols; i++) { - data[i] = rs.getString(i + 1); + } + result.add(data); } - result.add(data); } - } catch (SQLException se) { - se.printStackTrace(); + } catch (VizException e) { + statusHandler + .handle(Priority.PROBLEM, "Error querying database", e); return null; } - return result; } @@ -223,23 +162,23 @@ public class XdatDB { if (table.compareTo("_no_table_") != 0) { String queryStr = "SELECT num_hours_host from purgedyndata where table_name = '" + table + "'"; - - ResultSet rs; + List hours; try { - rs = queryStmt.executeQuery(queryStr); - if (rs == null) { - numHours = 0; - } else { - if (rs.next()) { - numHours = rs.getInt(1); - } + List rs = DirectDbQuery.executeQuery(queryStr, + IHFS, QueryLanguage.SQL); + hours = new ArrayList(rs.size()); + for (Object[] obj : rs) { + hours.add((Integer) obj[0]); } - } catch (SQLException e) { - e.printStackTrace(); - } - - if (numHours > maxNumHours) { - maxNumHours = numHours; + if (hours != null && hours.size() > 1) { + numHours = hours.get(0); + } + if (numHours > maxNumHours) { + maxNumHours = numHours; + } + } catch (VizException e) { + statusHandler.handle(Priority.PROBLEM, + "Error to get number of observation days", e); } } } @@ -259,11 +198,9 @@ public class XdatDB { */ public String[] getStateList() { String states[]; - // select DISTINCT state from location where post = 1 and state !='XX' - // order by state - Vector stateVector = runQuery("select DISTINCT state from location where post = 1 and state !='XX' order by state"); - states = stateVector.toArray(new String[stateVector.size()]); + List stateList = runQuery("select DISTINCT state from location where post = 1 and state !='XX' order by state"); + states = stateList.toArray(new String[stateList.size()]); return states; } @@ -274,10 +211,9 @@ public class XdatDB { * @param stateName * 2 Letter state abbreviation. * @param pe - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector searchIds(String stateName, String pe) { + public List searchIds(String stateName, String pe) { String queryStr = "select distinct location.lid, des from location, latestobsvalue " + "where location.lid = latestobsvalue.lid and location.state = '" @@ -286,7 +222,7 @@ public class XdatDB { + pe + "' order by location.lid"; - Vector idVector = runDetailedQuery(queryStr); + List idVector = runDetailedQuery(queryStr); return idVector; } @@ -298,7 +234,7 @@ public class XdatDB { * @param peType * @return ID and Destination from location table */ - public Vector search_string_list(String searchStr, String peType) { + public List search_string_list(String searchStr, String peType) { String queryStr = "select distinct location.lid, location.des from location, latestobsvalue " + "where location.lid = latestobsvalue.lid and (location.lid like '%" + searchStr @@ -308,7 +244,7 @@ public class XdatDB { + peType + "' order by location.lid"; - Vector idVector = runDetailedQuery(queryStr); + List idVector = runDetailedQuery(queryStr); return idVector; } @@ -318,10 +254,9 @@ public class XdatDB { * * @param dateStr * Date in a String format. - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector getAboveFsSearch(String dateStr) { + public List getAboveFsSearch(String dateStr) { String query = "select height.lid, height.pe, height.dur, height.ts, height.extremum, " + "height.obstime, height.value, height.product_id, riverstat.fs " @@ -332,7 +267,7 @@ public class XdatDB { + "' and height.value >= riverstat.fs order by height.lid, " + "height.obstime desc"; - Vector aboveFsVector = runDetailedQuery(query); + List aboveFsVector = runDetailedQuery(query); return aboveFsVector; } @@ -342,15 +277,14 @@ public class XdatDB { * * @param unknownTable * Unknown table name. - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector getUnknownSites(String unknownTable) { + public List getUnknownSites(String unknownTable) { String query = "select lid, product_id, producttime from " + unknownTable + " order by lid, producttime desc"; System.out.println("Query = [" + query + "]"); - Vector unknownSitesVector = runDetailedQuery(query); + List unknownSitesVector = runDetailedQuery(query); return unknownSitesVector; } @@ -364,10 +298,9 @@ public class XdatDB { * Starting date string. * @param endDateStr * Ending date string. - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector getRejectedData(String peStr, String startDateStr, + public List getRejectedData(String peStr, String startDateStr, String endDateStr) { String query = "select lid, pe, dur, ts, extremum, validtime, postingtime, value " @@ -379,7 +312,7 @@ public class XdatDB { + endDateStr + " 23:59:59' order by lid, validtime desc"; - Vector rejectedDataVector = runDetailedQuery(query); + List rejectedDataVector = runDetailedQuery(query); return rejectedDataVector; } @@ -387,14 +320,13 @@ public class XdatDB { /** * Get the sites turned off. * - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector getSitesTurnedOffData() { + public List getSitesTurnedOffData() { String query = "select lid, county, state, des from location where post = 0 order by state, lid"; - Vector sitesTurnedOffVector = runDetailedQuery(query); + List sitesTurnedOffVector = runDetailedQuery(query); return sitesTurnedOffVector; @@ -411,8 +343,7 @@ public class XdatDB { * Starting date. * @param endDateStr * Ending date. - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ public String[] getSearchData(String lidStr, String peStr, String startDateStr, String endDateStr) { @@ -426,7 +357,7 @@ public class XdatDB { + endDateStr + " 23:59:59' order by obstime desc"; - Vector searchDataVector = runQuery(query); + List searchDataVector = runQuery(query); if (searchDataVector != null) { searchDataBuf = new String[searchDataVector.size()]; @@ -450,7 +381,7 @@ public class XdatDB { String locationDes = ""; String query = "select des from location where lid = '" + ID + "'"; - Vector searchDataVector = runQuery(query); + List searchDataVector = runQuery(query); if (searchDataVector != null) { @@ -471,13 +402,12 @@ public class XdatDB { * Starting Date * @param endDate * Ending Date - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector getGroupData(String[] input, String startDate, + public List getGroupData(String[] input, String startDate, String endDate) { - Vector returnVec = new Vector(); + ArrayList returnVec = new ArrayList(); String lid = null; String pe = null; StringBuffer sql = new StringBuffer(); @@ -489,7 +419,7 @@ public class XdatDB { sql.append("select des from location where lid = '" + lid + "'"); - Vector rs = runDetailedQuery(sql.toString()); + List rs = runDetailedQuery(sql.toString()); sql.setLength(0); data = new String[2]; @@ -502,7 +432,7 @@ public class XdatDB { } else { data[1] = ""; } - /* Add row to return Vector */ + /* Add row to return List */ returnVec.add(data); // Determine the table to query @@ -529,10 +459,10 @@ public class XdatDB { double nextValue = 0.0; double value = 0.0; - /* Need to calculate the chage */ + /* Need to calculate the change */ if ((rs != null) && (rs.size() > 0)) { for (int j = 0; j < rs.size(); j++) { // Vector - ArrayList list = new ArrayList(); + List list = new ArrayList(); list.add(lid); list.add(pe); nextValue = HydroConstants.MISSING_VALUE; @@ -574,7 +504,6 @@ public class XdatDB { } else { list.add(row[k]); } - // returnVec.add(list.toArray(new String[list.size()])); } returnVec.add(list.toArray(new String[list.size()])); } @@ -594,10 +523,9 @@ public class XdatDB { * Start date. * @param endDate * End date. - * @return Vector Vector (rows) of String arrays (columns) of - * data. + * @return List List (rows) of String arrays (columns) of data. */ - public Vector getListData(String id, String peStr, + public List getListData(String id, String peStr, String startDate, String endDate) { String dbTable = getPeMap().get(peStr); @@ -622,7 +550,7 @@ public class XdatDB { + " 00:00:00' and '" + endDate + " 23:59:59' order by obstime desc"; - Vector listDataVector = runDetailedQuery(query); + List listDataVector = runDetailedQuery(query); return listDataVector; } @@ -634,9 +562,9 @@ public class XdatDB { * The ID. * @param pe * Physical Element. - * @return The SHEF parameter code. + * @return List List The SHEF parameter code. */ - public String[] getShefParamCode(String id, String pe) { + public List getShefParamCode(String id, String pe) { String query = "select ingestfilter.ts, ingestfilter.extremum, shefdur.durcode, shefdur.name " + "from ingestfilter, shefdur where ingestfilter.lid = '" @@ -645,38 +573,28 @@ public class XdatDB { + pe + "' and ingestfilter.ts like 'R%' and ingestfilter.dur = shefdur.dur"; - Vector result = new Vector(); - - if (conn == null) { - return null; - } + List result = new ArrayList(); try { - ResultSet rs = queryStmt.executeQuery(query); - if (rs == null) { + List rs = DirectDbQuery.executeQuery(query, IHFS, + QueryLanguage.SQL); + if (!rs.isEmpty()) { + Iterator shefIterator = rs.iterator(); + while (shefIterator.hasNext()) { + Object[] row = shefIterator.next(); + String strBuf = pe + row[2].toString() + row[0].toString() + + row[1].toString() + " (" + row[3].toString() + + ")"; + result.add(strBuf); + } + } else { return null; } - - while (rs.next()) { - String strBuf = pe + rs.getString(3) + rs.getString(1) - + rs.getString(2) + " (" + rs.getString(4) + ")"; - result.add(strBuf); - } - } catch (SQLException se) { - se.printStackTrace(); - return null; + } catch (VizException e) { + statusHandler.handle(Priority.PROBLEM, + "Error to get the SHEF parameter code.", e); } - - String paramCode[] = null; - - if (result.size() > 0) { - paramCode = new String[result.size()]; - - for (int i = 0; i < result.size(); i++) { - paramCode[i] = result.get(i); - } - } - return paramCode; + return result; } /** @@ -684,7 +602,7 @@ public class XdatDB { * * @return Vector Array of coop precip data. */ - public Vector getCoopPrecipData(String startDate) { + public List getCoopPrecipData(String startDate) { String query = "select lid, dur, ts, extremum, obstime, product_id, value " + "from rawpp where (pe = 'PP' and obstime between '" @@ -695,7 +613,7 @@ public class XdatDB { + " 14:00:00' and value >= 0.00 and (dur = 2001 or dur = 5004)) " + "order by value desc,lid"; - Vector precipDataVector = runDetailedQuery(query); + List precipDataVector = runDetailedQuery(query); return precipDataVector; } @@ -738,37 +656,26 @@ public class XdatDB { * Get precipitation ID and value * * @param obsDate - * @return Vector Array of ID and value from rawpc table. + * @return HashMap of ID and value from rawpc table. */ public HashMap getPrecipLidAndValue(String obsDate) { String query = "select lid, value from rawpc where (pe = 'PC' and obstime = '" + obsDate + "' and value >= 0.00)"; - - // If the database connection is null then return null. - if (conn == null) { - return null; - } - HashMap results = new HashMap(); try { - ResultSet rs = queryStmt.executeQuery(query); - - if (rs == null) { + List rs = DirectDbQuery.executeQuery(query, IHFS, + QueryLanguage.SQL); + if (!rs.isEmpty()) { + // Get the number of columns in the row of data. + int numberOfCols = rs.get(0).length; + results = new HashMap(numberOfCols); + } else { return null; } - - // Get the number of columns in the row of data. - int numberOfCols = rs.getMetaData().getColumnCount(); - results = new HashMap(numberOfCols); - - while (rs.next()) { - results.put(rs.getString(1), rs.getDouble(2)); - } - } catch (SQLException se) { - se.printStackTrace(); - return null; + } catch (VizException e) { + statusHandler.handle(Priority.PROBLEM, + "Error to get precipitation ID and value.", e); } - return results; } @@ -776,21 +683,21 @@ public class XdatDB { * Get precipitation value * * @param obsDate - * @return Vector Array value from rawpc table. + * @return List Array of values from rawpc table. */ - public Vector getPrecipValues(String obstime, String lid, + public List getPrecipValues(String obstime, String lid, double value) { String query = "select value from rawpc where (lid = '" + lid + "' and pe = 'PC' and obstime = '" + obstime + "' and value <= " + value + ")"; - Vector precipValueVector = runDetailedQuery(query); + List precipValueVector = runDetailedQuery(query); return precipValueVector; } /** - * update the rejectteddata table. + * Update the rejected data table. * * @param lid * @param pe @@ -819,9 +726,8 @@ public class XdatDB { final int QC_MANUAL_FAILED = 123; Long quality_code = new Long(0); - set_qccode(QC_MANUAL_FAILED, quality_code);// set_qccode should be - // defined in some other - // package + set_qccode(QC_MANUAL_FAILED, quality_code); + // set_qccode should be defined in some other package GregorianCalendar postTime = new GregorianCalendar(); SimpleDateFormat dateFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", @@ -836,27 +742,23 @@ public class XdatDB { + "', " + quality_code + ", '" + rejected_type + "', '" + userid + "')"; - if (conn == null) { - return; - } - try { - queryStmt.executeUpdate(query); - } catch (SQLException se) { - se.printStackTrace(); - return; + DirectDbQuery.executeQuery(query, IHFS, QueryLanguage.SQL); + } catch (VizException e) { + statusHandler.handle(Priority.PROBLEM, + "Error to update the rejected data table.", e); } } /** - * get durcode from shefdur table + * Get durcode from shefdur table * * @param dur * @return durcode from shefdur table */ public String getDurcode(int dur) { String query = "select durcode from shefdur where dur=" + dur; - Vector durcodeVector = runDetailedQuery(query); + List durcodeVector = runDetailedQuery(query); if (durcodeVector != null) { return durcodeVector.get(0)[0]; } @@ -963,17 +865,4 @@ public class XdatDB { return (status); } - - /** - * return whether the database has connected. - * - * @return true/ false - */ - public boolean isDBConnected() { - if (conn == null) { - return false; - } - - return true; - } } diff --git a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDlg.java b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDlg.java index b29c7f6b53..20aec2d98a 100644 --- a/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDlg.java +++ b/cave/com.raytheon.viz.xdat/src/com/raytheon/viz/xdat/XdatDlg.java @@ -31,7 +31,6 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; -import java.util.Vector; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyledText; @@ -61,6 +60,7 @@ import org.eclipse.swt.widgets.Text; import com.raytheon.uf.common.ohd.AppsDefaults; import com.raytheon.uf.common.time.SimulatedTime; +import com.raytheon.uf.common.time.util.TimeUtil; import com.raytheon.viz.hydrocommon.HydroConstants; import com.raytheon.viz.ui.dialogs.CaveSWTDialog; @@ -79,6 +79,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * 23 Nov 2010 6244 lbousaidi cleared idTF box after search * 16 Mar 2011 6251 lbousaidi activate [Enter] for idTF box * 02 Jun 2011 9150 mduff xdat_flood_hours needs to be negative on the calendar.add + * 22 May 2015 4501 skorolev Removed old DB connection commands. Got rid of Vector. * * * @@ -93,11 +94,6 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { */ private Font controlFont; - /** - * Database name. - */ - private String dbName; - /** * Version. */ @@ -178,11 +174,6 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { */ private XdatDB databaseMgr; - /** - * URL for JDBC. - */ - private String jdbcUrl; - /** * Array of Physical Element radio buttons. */ @@ -192,7 +183,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { * Printer class. */ private Printer printer; - + private GroupDataDlg groupDlg = null; /** @@ -202,30 +193,17 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { * Parent shell. */ public XdatDlg(Shell parentShell) { - super(parentShell, SWT.DIALOG_TRIM | SWT.RESIZE); - + super(parentShell, SWT.DIALOG_TRIM | SWT.RESIZE | CAVE.DO_NOT_BLOCK); + databaseMgr = new XdatDB(); appsDefaults = AppsDefaults.getInstance(); - StringBuilder buffer = new StringBuilder("jdbc:postgresql://"); - buffer.append(appsDefaults.getToken("pghost") + ":"); - buffer.append(appsDefaults.getToken("pgport") + "/"); - dbName = appsDefaults.getToken("db_name"); - buffer.append(dbName + "?user="); - buffer.append(appsDefaults.getToken("pguser")); - jdbcUrl = buffer.toString(); - System.out.println(jdbcUrl); - StringBuilder title = new StringBuilder("xdat (Version: "); title.append(version).append(") (db_name = "); - - if (dbName == null) { - title.append("UNKNOWN"); - } else { - title.append(dbName); - } + title.append(XdatDB.IHFS); title.append(")"); setText(title.toString()); + } @Override @@ -242,19 +220,6 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { protected void initializeComponents(Shell shell) { setReturnValue(false); - databaseMgr = new XdatDB(jdbcUrl); - if (!databaseMgr.isDBConnected()) { - MessageBox mb = new MessageBox(getParent(), SWT.ICON_WARNING - | SWT.OK); - mb.setText("Error"); - mb.setMessage("Unable to connect to \n" + jdbcUrl - + "\n\nPlease make sure\n" - + "the tokens pghost and pgport are set\n" - + "correctly in Apps_defaults\n" - + "and the database server is running."); - mb.open(); - } - controlFont = new Font(shell.getDisplay(), "Monospace", 10, SWT.NORMAL); createTopButtons(); @@ -847,8 +812,8 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { String peStr = getSelectedPE(); - Vector rejectedDataBuf = databaseMgr.getRejectedData(peStr, - startDateStr, endDateStr); + java.util.List rejectedDataBuf = databaseMgr.getRejectedData( + peStr, startDateStr, endDateStr); if (rejectedDataBuf == null) { textArea.setText("No rejected " + peStr @@ -863,13 +828,13 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /** * Format the rejected data for displaying. * - * @param rejectedData + * @param rejectedDataBuf * Array of rejected data. * @param peStr * Physical Element. * @return The formatted data. */ - private String formatRejectedData(Vector rejectedData, + private String formatRejectedData(java.util.List rejectedDataBuf, String peStr) { StringBuilder strBld = new StringBuilder(); @@ -901,7 +866,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /* * Add the data */ - for (String[] strArray : rejectedData) { + for (String[] strArray : rejectedDataBuf) { double dblVal = Double.valueOf(strArray[7]); double rndVal = (Math.round(dblVal * 10.0)) / 10.0; @@ -922,13 +887,13 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { SimpleDateFormat dbFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat startDate = new SimpleDateFormat("mm/dd/yyy", Locale.US); - + Date sDate = SimulatedTime.getSystemTime().getTime(); Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); String setToday = appsDefaults.getToken("xdat_settoday"); String floodHours = appsDefaults.getToken("xdat_flood_hours", "6"); - + try { if ((setToday != null) && !setToday.equals("") && !setToday.equals(" ")) { @@ -947,7 +912,8 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { sDate = cal.getTime(); String dateStr = dbFormat.format(sDate); - Vector aboveFsBuf = databaseMgr.getAboveFsSearch(dateStr); + java.util.List aboveFsBuf = databaseMgr + .getAboveFsSearch(dateStr); if (aboveFsBuf == null) { textArea.setText("No sites above flood stage"); @@ -960,12 +926,12 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /** * Format the site above flood stage data for displaying. * - * @param abvFldStgText + * @param aboveFsBuf * Array of flood stage data. * @return The formatted data. */ - private String formatSiteAboveFldStageData(Vector abvFldStgText, - Date sDate) { + private String formatSiteAboveFldStageData( + java.util.List aboveFsBuf, Date sDate) { SimpleDateFormat displayDate = new SimpleDateFormat( "yyyy-MM-dd HH:00:00", Locale.US); StringBuilder strBld = new StringBuilder(); @@ -977,8 +943,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /* * Add the Title text */ - Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - cal.setTime(sDate); + Calendar cal = TimeUtil.newGmtCalendar(sDate); String floodHours = appsDefaults.getToken("xdat_flood_hours"); if ((floodHours != null) && (floodHours.length() > 0)) { cal.add(Calendar.HOUR_OF_DAY, -1 * (Integer.parseInt(floodHours))); @@ -1005,7 +970,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /* * Add the data */ - for (String[] dataArray : abvFldStgText) { + for (String[] dataArray : aboveFsBuf) { double dblVal = Double.valueOf(dataArray[6]); double rndVal = (Math.round(dblVal * 100.0)) / 100.0; @@ -1032,7 +997,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { */ private void displaySitesTurnedOffData() { - Vector sitesTurnedOffBuf = databaseMgr + java.util.List sitesTurnedOffBuf = databaseMgr .getSitesTurnedOffData(); if (sitesTurnedOffBuf == null) { @@ -1046,11 +1011,12 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /** * Format the sites turned off data for displaying. * - * @param sitesTurnedOffArray + * @param sitesTurnedOffBuf * Array of data. * @return The formatted data. */ - private String formatSitesTurnedOffData(Vector sitesTurnedOffArray) { + private String formatSitesTurnedOffData( + java.util.List sitesTurnedOffBuf) { StringBuilder strBld = new StringBuilder(); String titleFmt = "%50s"; @@ -1081,7 +1047,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /* * Add the data */ - for (String[] dataArray : sitesTurnedOffArray) { + for (String[] dataArray : sitesTurnedOffBuf) { strBld.append( String.format(dataFmt, dataArray[0], dataArray[1], @@ -1096,18 +1062,18 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { */ private void displayUnknownSitesData() { String postFlag = appsDefaults.getToken("xdat_post_unk"); - + if (postFlag.equalsIgnoreCase("NONE")) { textArea.setText("Shefdecoder not posting unknown data."); return; - } + } String unknownTable = "unkstnvalue"; if (postFlag.compareTo("IDS_ONLY") == 0) { unknownTable = "unkstn"; } - Vector unknownSiteBuf = databaseMgr + java.util.List unknownSiteBuf = databaseMgr .getUnknownSites(unknownTable); if (unknownSiteBuf == null) { @@ -1122,11 +1088,12 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /** * Format the unknown sites data for displaying. * - * @param unknownSiteArray + * @param unknownSiteBuf * Array of data. * @return The formatted data. */ - private String formatUnknownSitesData(Vector unknownSiteArray) { + private String formatUnknownSitesData( + java.util.List unknownSiteBuf) { StringBuilder strBld = new StringBuilder(); String titleFmt = "%40s"; @@ -1157,7 +1124,7 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /* * Add the data */ - for (String[] dataArray : unknownSiteArray) { + for (String[] dataArray : unknownSiteBuf) { String productID = dataArray[1]; if (productID == null) { productID = ""; @@ -1179,11 +1146,10 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { /** * Display the search data on the display. */ - private void displaySearchData() /* - * code very similiar to - * SiteListDlg.displayListSelection(). need - * refactor - */ + private void displaySearchData() + /* + * code very similar to SiteListDlg.displayListSelection(). need refactor + */ { String selectedId = idTF.getText().trim().toUpperCase(); @@ -1198,8 +1164,8 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { String peType = getSelectedPE(); - Vector dataVec = databaseMgr.getListData(selectedId, peType, - getStartDate(), getEndDate()); + java.util.List dataVec = databaseMgr.getListData(selectedId, + peType, getStartDate(), getEndDate()); if (dataVec == null) { String[] msg = new String[] { "No data available." }; @@ -1213,9 +1179,8 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { locationDes = ""; } - String[] displayData = new String[dataVec.size() + 3]; // 1st three - // lines for - // header + String[] displayData = new String[dataVec.size() + 3]; + // 1st three lines for header String dataFmt = "%-8S %2s %-4S %2S %1S %19S %13S % 6.2f % 6.2f"; String displayHeader = " ID PE DUR TS E OBSTIME PRODUCT VALUE CHANGE"; String dashLine = "---------------------------------------------------------------------------"; @@ -1405,7 +1370,9 @@ public class XdatDlg extends CaveSWTDialog implements ITextDisplay { } } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see com.raytheon.viz.xdat.ITextDisplay#getSelectedSite() */ @Override