Merge "Issue #1465 fix import derived parameter." into development

Former-commit-id: 9293a7e3f7 [formerly 9293a7e3f7 [formerly cfc04313c76c75db5a5bd7bc1bd32577a4615974]]
Former-commit-id: 86f5fec292
Former-commit-id: 68f8878d4f
This commit is contained in:
Richard Peter 2013-01-10 09:35:16 -06:00 committed by Gerrit Code Review
commit 5e75d7409e

View file

@ -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<GridCoverage> 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;