From 8f3447ff9bfab1d21bb1afe9b96808980f5aee03 Mon Sep 17 00:00:00 2001 From: Dave Hladky Date: Tue, 11 Sep 2012 08:56:51 -0500 Subject: [PATCH] Issue #1161 Fixed anomaly with RFCFFG and graph QPE times Change-Id: I23212f3281290d86621e72c88478b00d37336494 Former-commit-id: 28912552fe5d1ec1ec67abffad13c5611c230cfb [formerly 28912552fe5d1ec1ec67abffad13c5611c230cfb [formerly 2088328c090d5a7d3f6218c42619fd3ab6d45dd9]] Former-commit-id: 6818408d40e4cd526e2f2eef7f39c69e03c97927 Former-commit-id: 655939bba76aadf17c445799751c1ca04aae4ab5 --- .../uf/viz/monitor/ffmp/FFMPMonitor.java | 10 +++++++--- .../viz/monitor/ffmp/ui/rsc/FFMPResource.java | 6 ++++-- .../uf/common/dataplugin/ffmp/FFMPBasin.java | 19 ++++++++++--------- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/FFMPMonitor.java b/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/FFMPMonitor.java index 971db0c94c..2165ed632f 100644 --- a/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/FFMPMonitor.java +++ b/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/FFMPMonitor.java @@ -647,6 +647,13 @@ public class FFMPMonitor extends ResourceMonitor { Date previousQueryTime = ffmpAvailableUriQueryDates.get(siteKey).get( sourceName); SourceXML source = getSourceConfig().getSource(sourceName); + + if (source.getSourceType().equals( + SOURCE_TYPE.GUIDANCE.getSourceType())) { + // Always look back for guidance types because of long expiration times, + // prevents mosaic brittleness from occurring. + retrieveNew = true; + } if (retrieveNew || ((time != null) && ((previousQueryTime == null) || (time @@ -2322,14 +2329,11 @@ public class FFMPMonitor extends ResourceMonitor { final String fsiteKey; - final boolean fisProductLoad; - public FFMPLoadRecord(boolean isProductLoad, String siteKey, FFMPRecord ffmpRec, String source, String huc) throws Exception { this.fffmpRec = ffmpRec; this.fsource = source; this.fsiteKey = siteKey; - this.fisProductLoad = isProductLoad; this.fhuc = huc; } diff --git a/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/ui/rsc/FFMPResource.java b/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/ui/rsc/FFMPResource.java index fad201b45c..9398040477 100644 --- a/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/ui/rsc/FFMPResource.java +++ b/cave/com.raytheon.uf.viz.monitor.ffmp/src/com/raytheon/uf/viz/monitor/ffmp/ui/rsc/FFMPResource.java @@ -3339,13 +3339,15 @@ public class FFMPResource extends ArrayList qpeTimes = new ArrayList(); if (qpeBasin != null) { + for (Date date : qpeBasin.getValues().keySet()) { double dtime = FFMPGuiUtils.getTimeDiff(mostRecentRefTime, date); - fgd.setQpe(dtime, (double) qpeBasin.getAccumValue(date, + double currVal = qpeBasin.getAccumValue(date, mostRecentRefTime, getQpeSourceExpiration(), - isRate())); + isRate()); + fgd.setQpe(dtime, currVal); qpeTimes.add(dtime); } } diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPBasin.java b/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPBasin.java index 43bd34031e..3a3f80ca49 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPBasin.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.ffmp/src/com/raytheon/uf/common/dataplugin/ffmp/FFMPBasin.java @@ -161,11 +161,13 @@ public class FFMPBasin implements ISerializableObject, Cloneable { ArrayList keys = new ArrayList(); - for (Date date : values.descendingKeySet()) { + for (Date date : values.keySet()) { if (date.before(beforeDate) && date.after(afterDate)) { keys.add(date); } } + + float factor = 0.0f; for (Date key : keys) { Date tdate = key; @@ -179,30 +181,29 @@ public class FFMPBasin implements ISerializableObject, Cloneable { if (val > 0.0f) { - float factor = 0.0f; - if ((prevDate.getTime() - tdate.getTime()) > expirationTime) { // handle the gap and accumulate the book ends // of it - factor = (float) ((prevDate.getTime() - (prevDate - .getTime() - expirationTime)) / (1000.0 * 60.0 * 60.0)); + factor = ((prevDate.getTime() - (prevDate + .getTime() - expirationTime)) / (1000.0f * 60.0f * 60.0f)); } else { - factor = (float) ((prevDate.getTime() - tdate - .getTime()) / (1000.0 * 60.0 * 60.0)); + factor = ((prevDate.getTime() - tdate + .getTime()) / (1000.0f * 60.0f * 60.0f)); } // do absolute values so it dosen't matter which way // you traverse the list val = val * Math.abs(factor); + } } - + dvalue += val; prevDate = key; } } } - + return dvalue; }