From e4bd45b57960c0df811b9f3dd95c58e14352b038 Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Mon, 2 Nov 2015 10:11:43 -0600 Subject: [PATCH] Omaha #5071 Fix Time Query of radar Unit Status Former-commit-id: bc4f038cafec429af677b80fd583110aee7f7e66 --- .../viz/radar/util/RadarDataCubeAdapter.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/RadarDataCubeAdapter.java b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/RadarDataCubeAdapter.java index 8566881a1c..6402a46a0c 100644 --- a/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/RadarDataCubeAdapter.java +++ b/cave/com.raytheon.viz.radar/src/com/raytheon/viz/radar/util/RadarDataCubeAdapter.java @@ -57,12 +57,13 @@ import com.raytheon.viz.radar.frame.RadarDataTime; *
  * 
  * SOFTWARE HISTORY
- * Date         Ticket#    Engineer    Description
- * ------------ ---------- ----------- --------------------------
- * Oct 8, 2009             bsteffen    Initial creation
- * Nov 21, 2009 #3576      rjpeter     Refactored use of DerivParamDesc.
- * May 13, 2015  4461      bsteffen    Generate radar times from time queries.
  * 
+ * Date          Ticket#  Engineer  Description
+ * ------------- -------- --------- ----------------------------------------
+ * Oct 08, 2009           bsteffen  Initial creation
+ * Nov 21, 2009  3576     rjpeter   Refactored use of DerivParamDesc.
+ * May 13, 2015  4461     bsteffen  Generate radar times from time queries.
+ * Nov 02, 2015  5071     bsteffen  Fix NPE when time query of Unit Status
  * 
  * 
* @@ -145,10 +146,18 @@ public class RadarDataCubeAdapter extends PointDataCubeAdapter { Number level = (Number) map.get(LEVEL_FIELD); radarTime.setLevelValue(level.doubleValue()); Number elevation = (Number) map.get(ELEVATION_FIELD); - radarTime.setElevationNumber(elevation.intValue()); - Number volume = (Number) map.get(VOLUME_FIELD); - radarTime.setVolumeScanNumber(volume.intValue()); - time = radarTime; + if (elevation == null) { + /* + * Certain products such as Unit Status do not apply to a + * particular elevation. + */ + time.setLevelValue(level.doubleValue()); + } else { + radarTime.setElevationNumber(elevation.intValue()); + Number volume = (Number) map.get(VOLUME_FIELD); + radarTime.setVolumeScanNumber(volume.intValue()); + time = radarTime; + } } // Best res requests need this because they span a time period if (time.getRefTime().before(