From 0db7a9faf6bd255c933f412c7d9023712a4416a3 Mon Sep 17 00:00:00 2001 From: Brian Clements Date: Mon, 4 Aug 2014 11:21:23 -0500 Subject: [PATCH] Issue #3488 added sanity check for bin range in lightning viz resource Change-Id: I23ec1614821dcbc18c06f58e3ef00371988fc30a Former-commit-id: 8b10703f2837ac2bca09a825f25f711c997e2f60 [formerly dfc3545bf5a69d1f869d9855e4253b47415e3277] [formerly 7b312ab6a723c94af144f23b1796802a0e0b847c] [formerly 8b10703f2837ac2bca09a825f25f711c997e2f60 [formerly dfc3545bf5a69d1f869d9855e4253b47415e3277] [formerly 7b312ab6a723c94af144f23b1796802a0e0b847c] [formerly 30ca12aae75afb8e0b796d8251bc0045ec61ca80 [formerly 7b312ab6a723c94af144f23b1796802a0e0b847c [formerly 701b56ec37053654e64cfd6ea831aad4ea7b9d8a]]]] Former-commit-id: 30ca12aae75afb8e0b796d8251bc0045ec61ca80 Former-commit-id: 147cbdab96899bfac7eaea3ad895769de2beae13 [formerly dd00eeb0ab80ac4cfe2587ef4bca47e7496b0f32] [formerly 71167eccca446d527adb49a80b8bcdc21646399c [formerly 140bf429b9090e7408ba4eeb9d616cb9aaba43de]] Former-commit-id: d6c9611e05c32ef39b4ceba2d3995eaff57f2da8 [formerly 6961892b9d30aeb6dcd29f8bca39b36709e30a1a] Former-commit-id: 7f921c7c3d50fca5f4e4ed90cbec5be39eabeedd --- .../com/raytheon/viz/lightning/LightningResource.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cave/com.raytheon.viz.lightning/src/com/raytheon/viz/lightning/LightningResource.java b/cave/com.raytheon.viz.lightning/src/com/raytheon/viz/lightning/LightningResource.java index 9a916822ce..582950ce0b 100644 --- a/cave/com.raytheon.viz.lightning/src/com/raytheon/viz/lightning/LightningResource.java +++ b/cave/com.raytheon.viz.lightning/src/com/raytheon/viz/lightning/LightningResource.java @@ -48,6 +48,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority; import com.raytheon.uf.common.time.BinOffset; import com.raytheon.uf.common.time.DataTime; import com.raytheon.uf.common.time.TimeRange; +import com.raytheon.uf.common.time.util.TimeUtil; import com.raytheon.uf.viz.core.DrawableString; import com.raytheon.uf.viz.core.HDF5Util; import com.raytheon.uf.viz.core.IExtent; @@ -94,6 +95,7 @@ import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability; * fields when magnification set to 0 * Feb 27, 2013 DCS 152 jgerth/elau Support for WWLLN and multiple sources * Jun 6, 2014 DR 17367 D. Friedman Fix cache object usage. + * Aug 04, 2014 3488 bclement added sanity check for record bin range * * * @@ -107,6 +109,8 @@ public class LightningResource extends private static final transient IUFStatusHandler statusHandler = UFStatus .getHandler(LightningResource.class); + private static final long MAX_RECORD_BIN_MILLIS = TimeUtil.MILLIS_PER_DAY; + private static class LightningFrame { public LightningFrameMetadata metadata; @@ -507,6 +511,13 @@ public class LightningResource extends for (BinLightningRecord obj : objs) { if (obj.getLightSource().equals(this.lightSource) || this.lightSource.isEmpty()) { + long duration = obj.getDataTime().getValidPeriod() + .getDuration(); + if (duration > MAX_RECORD_BIN_MILLIS) { + statusHandler.error("Record bin time larger than maximum " + + "supported period. Skipping record: " + obj); + continue; + } DataTime time = new DataTime(obj.getStartTime()); DataTime end = new DataTime(obj.getStopTime()); time = this.getResourceData().getBinOffset()