diff --git a/cave/com.raytheon.uf.viz.productbrowser/src/com/raytheon/uf/viz/productbrowser/AbstractRequestableProductBrowserDataDefinition.java b/cave/com.raytheon.uf.viz.productbrowser/src/com/raytheon/uf/viz/productbrowser/AbstractRequestableProductBrowserDataDefinition.java index 4e9b081c05..074c8de473 100644 --- a/cave/com.raytheon.uf.viz.productbrowser/src/com/raytheon/uf/viz/productbrowser/AbstractRequestableProductBrowserDataDefinition.java +++ b/cave/com.raytheon.uf.viz.productbrowser/src/com/raytheon/uf/viz/productbrowser/AbstractRequestableProductBrowserDataDefinition.java @@ -20,6 +20,7 @@ package com.raytheon.uf.viz.productbrowser; * further licensing information. **/ +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -198,12 +199,15 @@ public abstract class AbstractRequestableProductBrowserDataDefinition pairs) { // retrieves the correct editor getEditor(); IDisplayPaneContainer container = getEditor(); @@ -213,7 +217,9 @@ public abstract class AbstractRequestableProductBrowserDataDefinition parameters = getProductParameters( + selection, order); + List ensembles = null; + try { + ensembles = inventory.getEnsembles(parameters); + } catch (VizException e) { + statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e); + } + if (ensembles != null && ensembles.size() > 1) { + Collections.sort(ensembles); + List pairs = new ArrayList(); + for (String ensemble : ensembles) { + ResourcePair pair = new ResourcePair(); + resourceData = getResourceData(); + HashMap newParameters = new HashMap( + parameters); + newParameters.put(GridConstants.ENSEMBLE_ID, + new RequestConstraint(ensemble)); + resourceData.setMetadataMap(newParameters); + pair.setResourceData(resourceData); + pair.setLoadProperties(loadProperties); + pair.setProperties(new ResourceProperties()); + pairs.add(pair); + } + constructResource(pairs); + } else { + resourceData = getResourceData(); + resourceData.setMetadataMap(parameters); + constructResource(); + } + } + @Override protected String[] queryData(String param, HashMap queryList) {