From bb557546bfa319b74b529af3d0f4b6b6e5a28f9b 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: 590d927da3f051ed033c41bc0c89108a25826759 --- .../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);