Merge "Issue #189 fix for derived parameters when requested times are not available" into Unified_Grid

Former-commit-id: 215bbbc522 [formerly a57a374800] [formerly 062b79c796] [formerly fc0fe05c94 [formerly 062b79c796 [formerly 06d5e4d77404c52271daa922b71d7c66e3036276]]]
Former-commit-id: fc0fe05c94
Former-commit-id: bcaebe9c0cf5359cb4c10e877e3ddfaf6fa57992 [formerly ab658f68a9]
Former-commit-id: 0a1c5f411b
This commit is contained in:
Richard Peter 2012-10-19 11:13:12 -05:00 committed by Gerrit Code Review
commit 6407ac56e5
2 changed files with 8 additions and 0 deletions

View file

@ -20,6 +20,7 @@
package com.raytheon.uf.viz.derivparam.inv; package com.raytheon.uf.viz.derivparam.inv;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@ -115,6 +116,10 @@ public class MetadataContainer {
private Set<AbstractRequestableData> getData(AbstractRequestableNode node, private Set<AbstractRequestableData> getData(AbstractRequestableNode node,
Set<TimeAndSpace> availability, boolean doRequests) Set<TimeAndSpace> availability, boolean doRequests)
throws VizException { throws VizException {
if (availability == null || availability.isEmpty()) {
return Collections.emptySet();
}
if (dataCache.containsKey(node)) { if (dataCache.containsKey(node)) {
return dataCache.get(node); return dataCache.get(node);
} }

View file

@ -308,6 +308,9 @@ public class DerivedLevelNode extends AbstractDerivedDataNode {
Map<DerivParamField, Set<TimeAndSpace>> availCache = this.availCache; Map<DerivParamField, Set<TimeAndSpace>> availCache = this.availCache;
availability = matcher.match(availability, availCache.get(null)) availability = matcher.match(availability, availCache.get(null))
.keySet(); .keySet();
if (availability.isEmpty()) {
return Collections.emptySet();
}
Map<TimeAndSpace, DerivedParameterRequest> mapOfRequests = new HashMap<TimeAndSpace, DerivedParameterRequest>( Map<TimeAndSpace, DerivedParameterRequest> mapOfRequests = new HashMap<TimeAndSpace, DerivedParameterRequest>(
availability.size()); availability.size());
List<DerivedRequestableData> initResponses = new ArrayList<DerivedRequestableData>( List<DerivedRequestableData> initResponses = new ArrayList<DerivedRequestableData>(