From aefdedeb4934716ddd428a1800055bf1e7b50e6f Mon Sep 17 00:00:00 2001 From: Dave Hladky Date: Thu, 3 Sep 2015 09:24:41 -0500 Subject: [PATCH 1/5] Omaha #4774 removed com.raytheon.uf.edex.registry.request jar reference from edex registry server feature Former-commit-id: 9e1e5203f5907005fc0377255234bd08fcfd331a --- edexOsgi/com.raytheon.uf.edex.registry.feature/feature.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.edex.registry.feature/feature.xml b/edexOsgi/com.raytheon.uf.edex.registry.feature/feature.xml index daade646aa..ef1d8c87a6 100644 --- a/edexOsgi/com.raytheon.uf.edex.registry.feature/feature.xml +++ b/edexOsgi/com.raytheon.uf.edex.registry.feature/feature.xml @@ -35,10 +35,4 @@ version="0.0.0" unpack="false"/> - - From 36b68aac3605ed53d05b1b4633b6cff5634b0665 Mon Sep 17 00:00:00 2001 From: Richard Peter Date: Thu, 3 Sep 2015 16:49:02 -0500 Subject: [PATCH 2/5] Omaha #4845 - Fix hydro query result processing Change-Id: If40a575d1f42a3065fe97aefeed8ea14087c5c93 Former-commit-id: 89b40f883c3d611efdf8abcb20394e65bbd8d02c --- .../viz/hydro/stationreporting/StationReportingData.java | 6 +++--- .../hydro/stationreporting/StationReportingDataManager.java | 5 +++-- .../viz/hydrocommon/datamanager/RiverDataManager.java | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingData.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingData.java index da225e30af..89997b808a 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingData.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingData.java @@ -33,7 +33,7 @@ import java.util.TimeZone; * ------------ ---------- ----------- -------------------------- * OCT 8, 2007 1580 askripsky Initial creation. * 21 Feb 2010 2915 mpduff Fixed Time Zone problem. - * + * Sep 03, 2015 4845 rjpeter Fix NPE. * * * @author askripsky @@ -245,8 +245,8 @@ public class StationReportingData implements Comparable { return qualityCode; } - public void setQualityCode(Integer qualityCode) { - this.qualityCode = (qualityCode != null) ? qualityCode : 0; + public void setQualityCode(Number qualityCode) { + this.qualityCode = (qualityCode != null) ? qualityCode.intValue() : 0; } public String getProductId() { diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingDataManager.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingDataManager.java index b7809ca702..ddba0ca232 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingDataManager.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/stationreporting/StationReportingDataManager.java @@ -50,6 +50,7 @@ import com.raytheon.viz.hydrocommon.HydroDataCache; * 13Oct2008 1580 askripsky Refactored * 21 Feb 2010 2915 mpduff Fixed Time Zone problem. * Jul 21, 2015 4500 rjpeter Use Number in blind cast. + * Sep 03, 2015 4845 rjpeter Fix NPE. * * * @author ebabin @@ -252,7 +253,7 @@ public class StationReportingDataManager { srd.setValue((Double) oa[6]); srd.setRevision(((Number) oa[7]).shortValue()); srd.setShefQualCode((String) oa[8]); - srd.setQualityCode(((Number) oa[9]).intValue()); + srd.setQualityCode((Number) oa[9]); srd.setProductId((String) oa[10]); srd.setProducttime(currentTimeFormat .format((Date) oa[11])); @@ -303,7 +304,7 @@ public class StationReportingDataManager { retVal.setShefQualCode(dataRow[7].toString()); if (dataRow[8] != null) { - retVal.setQualityCode(((Number) dataRow[8]).intValue()); + retVal.setQualityCode((Number) dataRow[8]); } if (dataRow[9] != null) { diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/RiverDataManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/RiverDataManager.java index 691aa82a6f..ff308b14b6 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/RiverDataManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/RiverDataManager.java @@ -58,6 +58,7 @@ import com.raytheon.viz.hydrocommon.data.RiverDataPoint; * 14 feb 2011 #4383 lbousaidi changed getRiverDataPoint: added crestQuery, * set riverName using locationquery instead of * riverInfoQuery, added rb field in locationQuery + * Sep 03, 2015 4845 rjpeter Remove use of duplicate alias. * * * @author dhladky @@ -109,7 +110,7 @@ public class RiverDataManager { + "rmg.group_name, " + "r.stream, r.mile, r.zd AS zero, r.tide, r.bf AS bankfull, r.wstg AS action_stage, r.fs AS flood_stage, r.fq AS flood_flow, r.action_flow, r.primary_pe, " + "d.proximity, d.reach, " - + "f.minor_stage AS minor, f.moderate_stage AS moderate, f.major_stage AS major, f.minor_flow AS minor, f.moderate_flow AS moderate, f.major_flow AS major " + + "f.minor_stage, f.moderate_stage, f.major_stage, f.minor_flow, f.moderate_flow, f.major_flow " + "FROM location l " + "LEFT JOIN floodcat f ON l.lid::text = f.lid::text " + "LEFT JOIN descrip d ON l.lid::text = d.lid::text, riverstat r, rivermonlocation rml " From c71f7797cb360a08b31c8aaa71c94eddf50671f2 Mon Sep 17 00:00:00 2001 From: Richard Peter Date: Thu, 3 Sep 2015 16:56:01 -0500 Subject: [PATCH 3/5] Omaha #4846 - Fix hydro queries Change-Id: I1211a3bdafe639ef13f81eee3be2796a5f5ec3fc Former-commit-id: 31c9e28452f7b5bd1ffaffc9522d144b57221613 --- .../viz/hydrocommon/datamanager/ContactsDataManager.java | 6 +++--- .../viz/hydrocommon/datamanager/DescriptionDataManager.java | 4 ++-- .../viz/hydrocommon/datamanager/LocationAreaManager.java | 4 ++-- .../viz/hydrocommon/datamanager/ProximityDataManager.java | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ContactsDataManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ContactsDataManager.java index 3181897347..636b8448e8 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ContactsDataManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ContactsDataManager.java @@ -35,8 +35,8 @@ import com.raytheon.viz.hydrocommon.data.ContactsData; * * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- - * 20 Nov 2008 lvenable Initial creation - * + * 20 Nov 2008 lvenable Initial creation + * Sep 03, 2015 4846 rjpeter List out columns in select. * * * @author lvenable @@ -52,7 +52,7 @@ public class ContactsDataManager extends HydroDataManager /** * Select statement. */ - private final String SELECT_STATEMENT = "SELECT * FROM contacts"; + private final String SELECT_STATEMENT = "SELECT lid, contact, phone, email, remark, priority FROM contacts"; /** * Insert statement. diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/DescriptionDataManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/DescriptionDataManager.java index 35493645ea..9e3a19240c 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/DescriptionDataManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/DescriptionDataManager.java @@ -36,7 +36,7 @@ import com.raytheon.viz.hydrocommon.data.DescriptionData; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 02 Dec 2008 lvenable Initial creation - * + * Sep 03, 2015 4846 rjpeter List out columns in select. * * * @author lvenable @@ -52,7 +52,7 @@ public class DescriptionDataManager extends HydroDataManager /** * Select statement. */ - private final String SELECT_STATEMENT = "SELECT * FROM descrip"; + private final String SELECT_STATEMENT = "SELECT lid, bed, divert, remark, ice, proximity, reach, res, topo FROM descrip"; /** * Insert statement. diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/LocationAreaManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/LocationAreaManager.java index 015404226d..c9b5281242 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/LocationAreaManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/LocationAreaManager.java @@ -36,7 +36,7 @@ import com.raytheon.viz.hydrocommon.data.LocationAreaData; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 02 Dec 2008 lvenable Initial creation - * + * Sep 03, 2015 4846 rjpeter List out columns in select. * * * @author lvenable @@ -52,7 +52,7 @@ public class LocationAreaManager extends HydroDataManager /** * Select statement. */ - private final String SELECT_STATEMENT = "SELECT * FROM locarea"; + private final String SELECT_STATEMENT = "SELECT lid, area FROM locarea"; /** * Insert statement. diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ProximityDataManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ProximityDataManager.java index 18b714c19b..eb5d319e76 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ProximityDataManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/ProximityDataManager.java @@ -36,7 +36,7 @@ import com.raytheon.viz.hydrocommon.data.ProximityData; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 02 Dec 2008 lvenable Initial creation - * + * Sep 03, 2015 4846 rjpeter List out columns in select. * * * @author lvenable @@ -52,7 +52,7 @@ public class ProximityDataManager extends HydroDataManager /** * Select statement. */ - private final String SELECT_STATEMENT = "SELECT * FROM proximity"; + private final String SELECT_STATEMENT = "SELECT proximity FROM proximity"; /** * Private constructor. From 5e4ae3988479683fafcafeb0a530a3aa54f4b2c9 Mon Sep 17 00:00:00 2001 From: Richard Peter Date: Fri, 4 Sep 2015 14:24:04 -0500 Subject: [PATCH 4/5] Omaha #4846 - Fix AddModifyLocationDataManager query Change-Id: I86f2a3054c50e997de46aa4e0b7d7ac5c3f983da Former-commit-id: 5546d7847322bd1459a970a65616470924398648 --- .../hydrocommon/datamanager/AddModifyLocationDataManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/AddModifyLocationDataManager.java b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/AddModifyLocationDataManager.java index 06a6b775a9..0202af641d 100644 --- a/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/AddModifyLocationDataManager.java +++ b/cave/com.raytheon.viz.hydrocommon/src/com/raytheon/viz/hydrocommon/datamanager/AddModifyLocationDataManager.java @@ -49,7 +49,7 @@ import com.raytheon.viz.hydrocommon.data.LocationData; * the database. * Apr 18, 2013 1790 rferrel Cleanup method interfaces; * part of non-blocking dialogs. - * + * Sep 04, 2015 4846 rjpeter Fix query. * * * @author askripsky @@ -200,7 +200,7 @@ public class AddModifyLocationDataManager extends HydroDataManager { public List getHSAsForFilter() throws VizException { List rval = new ArrayList(); - String query = "Select distinct(hsa) from location order by hsa"; + String query = "Select distinct hsa from location order by hsa"; QueryResult data = HydroDBDataManager.getInstance().runMappedQuery( query); From 600b2a7bdf7f3cefd19d34c1282793f7e800f6e9 Mon Sep 17 00:00:00 2001 From: Richard Peter Date: Tue, 8 Sep 2015 13:00:24 -0500 Subject: [PATCH 5/5] Omaha #4846 - Fix GAFFDB sql grammar Change-Id: Iccf1a1b604c8f903b506c20b9fd50162ea9c35ea Former-commit-id: 8e1c394eb1ccf6d81ebd950a3fd478237f09b51d --- .../raytheon/uf/edex/ohd/pproc/GAFFDB.java | 54 +++++++------------ 1 file changed, 18 insertions(+), 36 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFFDB.java b/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFFDB.java index 7a3b74f69a..22762bf3ef 100644 --- a/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFFDB.java +++ b/edexOsgi/com.raytheon.uf.edex.ohd/src/com/raytheon/uf/edex/ohd/pproc/GAFFDB.java @@ -21,7 +21,6 @@ package com.raytheon.uf.edex.ohd.pproc; import java.math.BigInteger; import java.sql.Timestamp; -import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; import java.util.List; @@ -50,6 +49,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * Mar 28, 2014 2952 mpduff Changed to use UFStatus for logging. * Apr 21, 2014 2060 njensen Remove dependency on grid dataURI column * Jul 09, 2015 4500 rjpeter Fix SQL Injection concern. + * Sep 08, 2015 4846 rjpeter Fixed paramMap data types. * * * @author mpduff @@ -204,14 +204,11 @@ public class GAFFDB { public void writeContingency(String areaId, long validTimeMillis, int duration, double avgVal) throws DataAccessLayerException { // validtime = timestamp from selected gridded FFG file - Calendar validTime = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - validTime.setTimeInMillis(validTimeMillis); + Calendar validDate = Calendar.getInstance(TimeZone.getTimeZone("GMT")); + validDate.setTimeInMillis(validTimeMillis); + Calendar postDate = Calendar.getInstance( + TimeZone.getTimeZone("GMT")); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String postDate = sdf.format(Calendar.getInstance( - TimeZone.getTimeZone("GMT")).getTime()); - String validDate = sdf.format(validTime.getTime()); - String basisTime = validDate; // duration in units of hours, possible values = 1,3,6,12,24 short dur = 0; @@ -229,42 +226,38 @@ public class GAFFDB { // Do we insert or update here String countSql = "select count(*) from contingencyvalue where " - + "lid = '" + areaId + "' and pe = 'PP' and dur = " + dur + + "lid = :areaId and pe = 'PP' and dur = :dur" + " and ts = 'CP' and extremum = 'Z' and probability = -1.0 " - + " and validtime = '" + validDate + "' and basistime = '" - + basisTime + "'"; + + " and validtime = :validDate and basistime = :validDate"; + Map paramMap = new HashMap<>(8, 1); + paramMap.put("areaId", areaId); + paramMap.put("dur", dur); + paramMap.put("validDate", validDate); CoreDao dao = null; dao = new CoreDao(DaoConfig.forDatabase(IHFS)); - Object[] rs = dao.executeSQLQuery(countSql); + Object[] rs = dao.executeSQLQuery(countSql, paramMap); BigInteger count = new BigInteger("0"); if ((rs != null) && (rs.length > 0)) { count = (BigInteger) rs[0]; } - if (count == BigInteger.ZERO) { + paramMap.put("avgVal", avgVal); + paramMap.put("qc", DEFAULT_QC_VALUE); + paramMap.put("postDate", postDate); + if (count == BigInteger.ZERO) { // Write data to the table String sql = "insert into contingencyvalue (lid, pe, dur, ts, " + "extremum, probability, validtime, basistime, value, " + "shef_qual_code, quality_code, revision, product_id, " + "producttime, postingtime) values (:areaId, 'PP', " - + ":dur, 'CP', 'Z', -1.0, :validDate, :basisTime, :avgVal, " + + ":dur, 'CP', 'Z', -1.0, :validDate, :validDate, :avgVal, " + "'Z', :qc, 0, 'GRIDFFG', :validDate, :postDate)"; log.debug(sql); - Map paramMap = new HashMap<>(8, 1); - paramMap.put("areaId", areaId); - paramMap.put("dur", dur); - paramMap.put("validDate", validDate); - paramMap.put("basisTime", basisTime); - paramMap.put("avgVal", avgVal); - paramMap.put("qc", DEFAULT_QC_VALUE); - paramMap.put("validDate", validDate); - paramMap.put("postDate", postDate); - dao.executeSQLUpdate(sql, paramMap); } else { // Need to do an update to the row @@ -273,18 +266,7 @@ public class GAFFDB { + "product_id = 'GRIDFFG', producttime = :validDate, " + "postingtime = :postDate where lid = :areaId and pe = 'PP' " + "and dur = :dur and ts = 'CP' and extremum = 'Z' and probability = -1.0 " - + " and validtime = :validDate and basistime = :basisTime"; - - Map paramMap = new HashMap<>(8, 1); - paramMap.put("avgVal", avgVal); - paramMap.put("qc", DEFAULT_QC_VALUE); - paramMap.put("validDate", validDate); - paramMap.put("postDate", postDate); - paramMap.put("areaId", areaId); - paramMap.put("dur", dur); - paramMap.put("validDate", validDate); - paramMap.put("basisTime", basisTime); - + + " and validtime = :validDate and basistime = :validDate"; dao.executeSQLUpdate(updateSql, paramMap); } }