From 3b9f1b2ae228232f572c8495e4502876f36f4551 Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Wed, 19 Dec 2012 15:13:45 -0600 Subject: [PATCH] Issue #1445 fix time range for accumulations Former-commit-id: e7db0f009ce9c2abe4250da575336bef51d40d84 [formerly 144ddacb07fd6e8261b7557138d9ab7eab0da860] [formerly e7db0f009ce9c2abe4250da575336bef51d40d84 [formerly 144ddacb07fd6e8261b7557138d9ab7eab0da860] [formerly bb557546bfa319b74b529af3d0f4b6b6e5a28f9b [formerly 590d927da3f051ed033c41bc0c89108a25826759]]] Former-commit-id: bb557546bfa319b74b529af3d0f4b6b6e5a28f9b Former-commit-id: 2a2f226b923ad5b004ea76005f903d8b9dc8dc62 [formerly 403381dde1574cee3de0ad5ccd9e41eb69628b87] Former-commit-id: e80deb958f1f8c58b44098d40f04e00c1d4db67c --- .../derivparam/tree/TimeRangeLevelNode.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cave/com.raytheon.uf.viz.derivparam/src/com/raytheon/uf/viz/derivparam/tree/TimeRangeLevelNode.java b/cave/com.raytheon.uf.viz.derivparam/src/com/raytheon/uf/viz/derivparam/tree/TimeRangeLevelNode.java index e342f25578..6e9bb23c6e 100644 --- a/cave/com.raytheon.uf.viz.derivparam/src/com/raytheon/uf/viz/derivparam/tree/TimeRangeLevelNode.java +++ b/cave/com.raytheon.uf.viz.derivparam/src/com/raytheon/uf/viz/derivparam/tree/TimeRangeLevelNode.java @@ -93,6 +93,9 @@ public class TimeRangeLevelNode extends AbstractAliasLevelNode { Set records = new HashSet(); for (TimeAndSpace ast : availability) { Set needed = calculateNeededAvailability(ast); + if (needed.isEmpty()) { + continue; + } Map matched = matcher.match(needed, dataMap.keySet()); if (TimeAndSpaceMatcher.getAll1(matched).containsAll(needed)) { @@ -123,12 +126,13 @@ public class TimeRangeLevelNode extends AbstractAliasLevelNode { Set goodAvail = new HashSet(); for (TimeAndSpace ast : allAvail) { Set needed = calculateNeededAvailability(ast); - Set matchedNeeded = TimeAndSpaceMatcher - .getAll1(matcher.match(needed, allAvail)); - if (matchedNeeded.containsAll(needed)) { - goodAvail.add(ast); + if (!needed.isEmpty()) { + Set matchedNeeded = TimeAndSpaceMatcher + .getAll1(matcher.match(needed, allAvail)); + if (matchedNeeded.containsAll(needed)) { + goodAvail.add(ast); + } } - } return goodAvail; } @@ -139,14 +143,10 @@ public class TimeRangeLevelNode extends AbstractAliasLevelNode { AvailabilityContainer availabilityContainer) { TimeAndSpaceMatcher matcher = new TimeAndSpaceMatcher(); matcher.setIgnoreRange(true); - Set sourceAvailability = new HashSet( - availability); + Set sourceAvailability = new HashSet(); for (TimeAndSpace ast : availability) { Set needed = calculateNeededAvailability(ast); - Set matchedAvail = TimeAndSpaceMatcher - .getAll1(matcher.match(needed, availability)); - sourceAvailability.addAll(matchedAvail); - + sourceAvailability.addAll(needed); } Map> result = new HashMap>(); result.put(sourceNode, sourceAvailability);