From 7a693e3f66467a9edeb44ee49b4b8b299b2923c1 Mon Sep 17 00:00:00 2001 From: Ben Steffensmeier Date: Wed, 9 Jan 2013 12:03:53 -0600 Subject: [PATCH] Issue #1465 fix import derived parameter. Former-commit-id: 6a2b73b816c06848170cdafdbbe0cb24218f9a14 [formerly 6a2b73b816c06848170cdafdbbe0cb24218f9a14 [formerly fb133aac1ba6013e826ff38a29f5f1720127aa53]] Former-commit-id: a9ece85f9b4cc210c78adbf51f00db6bc466d922 Former-commit-id: d7c2668b88d9f2bab04cd0ed227e6807b5b7d39a --- .../viz/grid/inv/ImportLevelNode.java | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java index f66a7c06ec..b4414afe9d 100644 --- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java +++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java @@ -19,6 +19,8 @@ **/ package com.raytheon.viz.grid.inv; +import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -29,6 +31,7 @@ import java.util.TreeSet; import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfo; import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfoLookup; import com.raytheon.uf.common.dataplugin.level.Level; +import com.raytheon.uf.common.geospatial.ISpatialObject; import com.raytheon.uf.common.gridcoverage.GridCoverage; import com.raytheon.uf.common.time.DataTime; import com.raytheon.uf.viz.core.exception.VizException; @@ -108,12 +111,26 @@ public class ImportLevelNode extends AbstractAliasLevelNode { continue; } } + Collection spaces = null; + ISpatialObject space = time.getSpace(); + if (space.equals(TimeAndSpace.SPACE_AGNOSTIC)) { + spaces = CoverageUtils.getInstance().getCoverages( + sourceNodeModelName); + } else if (space instanceof GridCoverage) { + spaces = Arrays.asList((GridCoverage) space); + } else { + throw new IllegalArgumentException( + "Grid ImportLevelNode cannot import data into this space: " + + String.valueOf(space)); + } - AbstractRequestableData result = new ImportRequestableData( - beforeData, afterData, time.getTime()); - result.setSpace(time.getSpace()); - modifyRequest(result); - results.add(result); + for (GridCoverage coverage : spaces) { + AbstractRequestableData result = new ImportRequestableData( + beforeData, afterData, time.getTime()); + result.setSpace(coverage); + modifyRequest(result); + results.add(result); + } } } return results;