From c589d9f3a26e93c4f3c54cc5bcceb01473f2bdc2 Mon Sep 17 00:00:00 2001 From: Ron Anderson Date: Thu, 3 Apr 2014 12:59:13 -0500 Subject: [PATCH] Issue #2961 Fixed issue where ISC grids are selected based on the start time of the Fcst and not the grid that overlaps the spatial editor time. Change-Id: Ifb89fc1305db8a654067185064c3d570dfecd3b2 Former-commit-id: 5d6e0a3cb324e5d8a659185953292a48170999e0 [formerly 660bc974e91f24d785dea9bf1b7d55f917cbd2ec] [formerly a9be0658e484280d2851c96074727ef003ffe5aa] [formerly a9be0658e484280d2851c96074727ef003ffe5aa [formerly eb90c1f2165d457087ada3f7179eb3a9277de9c4]] [formerly 5d6e0a3cb324e5d8a659185953292a48170999e0 [formerly 660bc974e91f24d785dea9bf1b7d55f917cbd2ec] [formerly a9be0658e484280d2851c96074727ef003ffe5aa] [formerly a9be0658e484280d2851c96074727ef003ffe5aa [formerly eb90c1f2165d457087ada3f7179eb3a9277de9c4]] [formerly db080f3ebaa436b2bfd399a53b20daa462dbf81a [formerly a9be0658e484280d2851c96074727ef003ffe5aa [formerly eb90c1f2165d457087ada3f7179eb3a9277de9c4] [formerly db080f3ebaa436b2bfd399a53b20daa462dbf81a [formerly 131f9c0933280d25f61458e270b5bb9715c2d67b]]]]] Former-commit-id: db080f3ebaa436b2bfd399a53b20daa462dbf81a Former-commit-id: 98551edcb0732fc6c312ce29d9e9b3c79e8538fd [formerly 5d84747472fb1d30ff1507becebf0efa07b0ddc8] [formerly c880002b1e1bd0ca2120886a92ff215f0d9b0419] [formerly 99669c3e3a766f0184484dbef6b1b42ffdb496c8 [formerly f40c2938a553a6bd3809588d95bac2b3641d2765] [formerly c880002b1e1bd0ca2120886a92ff215f0d9b0419 [formerly c7b392e36b88378be3621903b92e3609805f3837]]] Former-commit-id: 009df2512bea6729c242b2d12a26e443dc3d8768 [formerly 02d585704570326f08c96d5fae3b65c595dad235] [formerly fdb60c48d0e103d118b169ca2bddde32b48f1f13 [formerly 1e546a1fed0c8626e65b371c0f7220bb9c8f40f7]] Former-commit-id: dab8917afd3511a9de2491672e7276b34f72c13d [formerly fdb60c48d0e103d118b169ca2bddde32b48f1f13] Former-commit-id: 29024b161e280d2e42b7b5877d1f9e18123a6396 --- .../raytheon/viz/gfe/core/GFETimeMatcher.java | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/GFETimeMatcher.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/GFETimeMatcher.java index 20503d6a74..fb24a6973b 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/GFETimeMatcher.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/core/GFETimeMatcher.java @@ -64,7 +64,9 @@ import com.raytheon.viz.gfe.rsc.GFEResource; * Nov 14, 2012 mschenke Initial creation * Feb 26, 2013 1708 randerso Fixed double notification for time change * Jan 23, 2014 2703 bsteffen Add JAXB Annotations, fix iscMode. - * Apr 02, 2014 2961 randerso Code cleanup (Ben already fixed issue under #2703) + * Apr 02, 2014 2961 randerso Fixed issue where the ISC grid is selected based on the + * start time of the Fcst grid not the one that overlaps the + * * * * @@ -113,20 +115,25 @@ public class GFETimeMatcher extends AbstractTimeMatcher { for (int i = 0; i < descriptorTimes.length; ++i) { IGridData overlapping = parm.overlappingGrid(descriptorTimes[i] .getRefTime()); - if (overlapping != null) { - TimeRange tr = overlapping.getGridTime(); - rscTimes[i] = new DataTime(tr.getStart().getTime(), - new TimeRange(tr.getStart(), tr.getEnd())); - } else if (iscParm != null) { - overlapping = iscParm.overlappingGrid(descriptorTimes[i] + IGridData iscOverlapping = null; + if (iscParm != null) { + iscOverlapping = iscParm.overlappingGrid(descriptorTimes[i] .getRefTime()); - if (overlapping != null) { - TimeRange tr = overlapping.getGridTime(); - rscTimes[i] = new DataTime(tr.getStart().getTime(), - new TimeRange(tr.getStart(), tr.getEnd())); + } + TimeRange tr = null; + if (overlapping != null) { + tr = overlapping.getGridTime(); + if (iscOverlapping != null) { + tr = tr.intersection(iscOverlapping.getGridTime()); } + } else if (iscOverlapping != null) { + tr = iscOverlapping.getGridTime(); } + if (tr != null) { + rscTimes[i] = new DataTime(tr.getStart().getTime(), + new TimeRange(tr.getStart(), tr.getEnd())); + } } if (timeMap != null) { timeMap.put(rsc, rscTimes);