From e1a3e0023e546dde25fc5b08b3bbd363447eea3e Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Thu, 19 Mar 2015 14:24:48 -0500 Subject: [PATCH] Omaha #4319 Save volume scan number Former-commit-id: 76cf847f8c8d7248f99db13ac59f34d1186e01e6 --- .../15.1.1/DR4319/AddRadarVolumScanNumber.sh | 22 +++++++++++++++++++ .../edex/plugin/radar/RadarDecoder.java | 2 ++ .../common/dataplugin/radar/RadarRecord.java | 21 ++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100755 deltaScripts/15.1.1/DR4319/AddRadarVolumScanNumber.sh diff --git a/deltaScripts/15.1.1/DR4319/AddRadarVolumScanNumber.sh b/deltaScripts/15.1.1/DR4319/AddRadarVolumScanNumber.sh new file mode 100755 index 0000000000..c5eb63480f --- /dev/null +++ b/deltaScripts/15.1.1/DR4319/AddRadarVolumScanNumber.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +echo "Updating radar table to include volume scan number." + +SQL=" +DO \$\$ +BEGIN + ALTER TABLE radar ADD COLUMN volumescannumber integer; +EXCEPTION + WHEN duplicate_column THEN RAISE NOTICE 'column volumescannumber already exists in radar.'; +END; +\$\$ +" + +/awips2/psql/bin/psql -U awips -d metadata -c "${SQL}" +if [[ $? != 0 ]] +then + echo "Failed to update radar table." + exit 1 +fi + +echo "Done" diff --git a/edexOsgi/com.raytheon.edex.plugin.radar/src/com/raytheon/edex/plugin/radar/RadarDecoder.java b/edexOsgi/com.raytheon.edex.plugin.radar/src/com/raytheon/edex/plugin/radar/RadarDecoder.java index bf98fef6dd..774e231f66 100644 --- a/edexOsgi/com.raytheon.edex.plugin.radar/src/com/raytheon/edex/plugin/radar/RadarDecoder.java +++ b/edexOsgi/com.raytheon.edex.plugin.radar/src/com/raytheon/edex/plugin/radar/RadarDecoder.java @@ -100,6 +100,7 @@ import com.raytheon.uf.edex.database.cluster.ClusterTask; * Jan 21, 2014 2627 njensen Removed decode()'s try/catch, camel route will do try/catch * May 14, 2014 2536 bclement moved WMO Header to common, removed TimeTools usage * Dec 26, 2014 ASM#632 dhuffman Added AlertMessageSanityCheck() for this DR. + * Mar 25, 2015 4319 bsteffen Save the volume scan number. * * * @@ -337,6 +338,7 @@ public class RadarDecoder extends AbstractDecoder { record.setOperationalMode(l3Radar.getOperationalMode()); record.setElevationNumber(l3Radar.getElevationNumber()); + record.setVolumeScanNumber(l3Radar.getVolumeScanNumber()); // some products don't have real elevation angles, 0 is a // default value if (record.getElevationNumber() == 0) { diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/RadarRecord.java b/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/RadarRecord.java index f426fd1ed8..4243a69364 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/RadarRecord.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/RadarRecord.java @@ -137,6 +137,7 @@ import com.vividsolutions.jts.geom.Coordinate; * the DHR with AWIPS1 * Jun 11, 2014 2061 bsteffen Remove IDecoderGettable * Nov 06, 2014 16776 zwang Handle AMDA product + * Mar 25, 2015 4319 bsteffen Add volume scan number. * * * @@ -221,6 +222,18 @@ public class RadarRecord extends PersistablePluginDataObject implements @XmlElement(nillable = false) private Integer elevationNumber; + /** + * A number between 1 and 80 that can be used to correlate all records + * within a volume scan. This number increments(then wraps) for each volume + * scan from the RPG, all products within a volume scan will have the same + * volumeScanNumber and different elevationNumbers. A value of 0 is used for + * products where the volume scan number is not defined. + */ + @Column + @DynamicSerializeElement + @XmlElement(nillable = false) + private int volumeScanNumber; + @Column @DynamicSerializeElement @XmlElement(nillable = false) @@ -478,6 +491,14 @@ public class RadarRecord extends PersistablePluginDataObject implements this.elevationNumber = elevationNumber; } + public int getVolumeScanNumber() { + return volumeScanNumber; + } + + public void setVolumeScanNumber(int volumeScanNumber) { + this.volumeScanNumber = volumeScanNumber; + } + /** * @return the elevation angle */