private AxisMapping createDisplayAxisMapping(List<String> eoVariables, List<String> insituVariables, AxisMapping axisMapping) { final AxisMapping displayAxisMapping = new AxisMapping(); for (String eoVariable : eoVariables) { final String aliasName = axisMapping.getRasterAlias(eoVariable); if (aliasName == null) { displayAxisMapping.addRasterName(eoVariable, eoVariable); } else { displayAxisMapping.addRasterName(aliasName, eoVariable); } } for (String insituVariable : insituVariables) { final String aliasName = axisMapping.getInsituAlias(insituVariable); if (aliasName == null) { displayAxisMapping.addInsituName(insituVariable, insituVariable); } else { displayAxisMapping.addInsituName(aliasName, insituVariable); } } return displayAxisMapping; }
@Override public void addAlias(String alias) { axisMapping.addAlias(alias); }
private List<String> extractQualifiedSourceNames(AxisMapping axisMapping) { final ArrayList<String> names = new ArrayList<String>(); for (String alias : axisMapping.getAliasNames()) { collectSourceNames(names, axisMapping.getInsituNames(alias), QUALIFIER_INSITU); collectSourceNames(names, axisMapping.getRasterNames(alias), QUALIFIER_RASTER); } return names; }
private int getDataSourceCount(TimeSeriesType type, String aliasName) { if (TimeSeriesType.INSITU.equals(type)) { return displayAxisMapping.getInsituNames(aliasName).size(); } else { return displayAxisMapping.getRasterNames(aliasName).size(); } }
@Test public void testReplaceAlias() throws Exception { axisMapping.addRasterName("alias", "RName"); axisMapping.addInsituName("alias", "IName"); axisMapping.replaceAlias("alias", "replaced"); final Set<String> aliasNames = axisMapping.getAliasNames(); assertEquals(1, aliasNames.size()); assertEquals("replaced", aliasNames.iterator().next()); assertEquals("RName", axisMapping.getRasterNames("replaced").iterator().next()); assertEquals("IName", axisMapping.getInsituNames("replaced").iterator().next()); }
@Test public void testRemoveAlias() throws Exception { final String alias = "chl"; axisMapping.addInsituName(alias, "chl_1"); axisMapping.addInsituName(alias, "chl2"); axisMapping.addRasterName(alias, "chl_a"); axisMapping.addRasterName(alias, "chl_b"); axisMapping.removeAlias(alias); assertTrue(axisMapping.getInsituNames(alias).isEmpty()); assertTrue(axisMapping.getRasterNames(alias).isEmpty()); }
@Before public void setUp() throws Exception { validator = new TimeSeriesValidator(); mapping = new AxisMapping(); mapping.addRasterName("alias1", "raster1"); mapping.addRasterName("alias2", "raster2"); mapping.addRasterName("alias1", "raster3"); mapping.addInsituName("alias1", "insitu1"); mapping.addInsituName("alias1", "insitu2"); mapping.addInsituName("alias2", "insitu3"); validator.adaptTo("key1", mapping); }
@Test public void testRemoveInsitu() throws Exception { axisMapping.addInsituName("chl", "chl_1"); axisMapping.addInsituName("chl", "chl2"); axisMapping.removeInsituName("chl", "chl2"); final List<String> insituNames = axisMapping.getInsituNames("chl"); final List<String> expectedInsituNames = new ArrayList<String>(2); expectedInsituNames.add("chl_1"); assertEquals(expectedInsituNames, insituNames); }
@Test public void testRemoveRaster() throws Exception { axisMapping.addRasterName("algal", "algal_1"); axisMapping.addRasterName("algal", "algal2"); axisMapping.removeRasterName("algal", "algal2"); final List<String> rasterNames = axisMapping.getRasterNames("algal"); final List<String> expectedRasterNames = new ArrayList<String>(1); expectedRasterNames.add("algal_1"); assertEquals(expectedRasterNames, rasterNames); }
@Test public void testGetAliasNames() throws Exception { axisMapping.addRasterName("ra", "rn"); axisMapping.addInsituName("ia", "in"); final Set<String> names = axisMapping.getAliasNames(); assertTrue(names instanceof SortedSet); final HashSet<String> expectedNames = new HashSet<String>(); expectedNames.add("ra"); expectedNames.add("ia"); assertEquals(expectedNames, names); }
@Test public void testGetRasterCount() throws Exception { final int rasterCount = axisMapping.getRasterCount(); axisMapping.addRasterName("alias", "raster1"); axisMapping.addRasterName("alias", "raster2"); axisMapping.addRasterName("alias1", "raster1_1"); axisMapping.addRasterName("alias1", "raster2"); final int rasterCount2 = axisMapping.getRasterCount(); assertEquals(0, rasterCount); assertEquals(4, rasterCount2); }
@Test public void testGetInsituCount() throws Exception { final int insituCount = axisMapping.getInsituCount(); axisMapping.addInsituName("alias", "insitu1"); axisMapping.addInsituName("alias", "insitu2"); axisMapping.addInsituName("alias1", "insitu1_1"); axisMapping.addInsituName("alias1", "insitu2"); final int insituCount2 = axisMapping.getInsituCount(); assertEquals(0, insituCount); assertEquals(4, insituCount2); } }
@Test public void testGetAliasNameForInsituName() { axisMapping.addInsituName("alias1", "insituName1"); axisMapping.addInsituName("alias2", "insituName2"); assertEquals("alias1", axisMapping.getInsituAlias("insituName1")); assertNull(axisMapping.getInsituAlias("insituName3")); }
@Test public void testGetAliasNameForRasterName() { axisMapping.addRasterName("alias1", "rasterName1"); axisMapping.addRasterName("alias2", "rasterName2"); assertEquals("alias1", axisMapping.getRasterAlias("rasterName1")); assertNull(axisMapping.getRasterAlias("rasterName3")); }
@Test public void testGetInsituNames() throws Exception { axisMapping.addInsituName("chl", "chl_1"); axisMapping.addInsituName("chl", "chl2"); final List<String> insituNames = axisMapping.getInsituNames("chl"); final List<String> expectedInsituNames = new ArrayList<String>(2); expectedInsituNames.add("chl2"); expectedInsituNames.add("chl_1"); assertEquals(expectedInsituNames, insituNames); }
@Test public void testGetRasterNames() throws Exception { axisMapping.addRasterName("algal", "algal_1"); axisMapping.addRasterName("algal", "algal_2"); final List<String> rasterNames = axisMapping.getRasterNames("algal"); final List<String> expectedRasterNames = new ArrayList<String>(2); expectedRasterNames.add("algal_1"); expectedRasterNames.add("algal_2"); assertEquals(expectedRasterNames, rasterNames); }
@Test public void testAddAlias() throws Exception { axisMapping.addAlias("chl"); assertEquals("chl", axisMapping.getAliasNames().iterator().next()); }
private List<TimeSeries> computeRasterTimeSeries() { final List<Position> positionsToDisplay = new ArrayList<Position>(); final ArrayList<String> positionNames = new ArrayList<String>(); if (type.equals(TimeSeriesType.PIN)) { final Placemark[] pinPositionsToDisplay = dataSources.getPinPositionsToDisplay(); for (Placemark namedGeoPos : pinPositionsToDisplay) { positionsToDisplay.add(positionSupport.transformGeoPos(namedGeoPos.getGeoPos())); positionNames.add(namedGeoPos.getLabel()); } } else if (showCursorTimeSeries && cursorPosition != null) { positionsToDisplay.add(cursorPosition); positionNames.add(""); } final Set<String> aliasNames = displayAxisMapping.getAliasNames(); final List<TimeSeries> rasterTimeSeries = new ArrayList<TimeSeries>(); for (int i = 0, positionsToDisplaySize = positionsToDisplay.size(); i < positionsToDisplaySize; i++) { final Position position = positionsToDisplay.get(i); final String positionName = positionNames.get(i); for (String aliasName : aliasNames) { final List<String> rasterNames = displayAxisMapping.getRasterNames(aliasName); for (String rasterName : rasterNames) { final List<Band> bandsForVariable = timeSeries.getBandsForVariable(rasterName); final TimeSeries timeSeries = computeSingleTimeSeries(bandsForVariable, position.pixelX, position.pixelY, position.currentLevel, positionName); rasterTimeSeries.add(dataHandler.getValidatedTimeSeries(timeSeries, rasterName, type)); } } } return rasterTimeSeries; }
private List<TimeSeries> computeInsituTimeSeries() { final InsituSource insituSource = timeSeries.getInsituSource(); final List<TimeSeries> insituTimeSeries = new ArrayList<TimeSeries>(); final Set<String> aliasNames = displayAxisMapping.getAliasNames(); final Placemark[] pinPositionsToDisplay = dataSources.getPinPositionsToDisplay(); for (Placemark insituPin : pinPositionsToDisplay) { for (String aliasName : aliasNames) { final List<String> insituNames = displayAxisMapping.getInsituNames(aliasName); for (String insituName : insituNames) { // todo final GeoPos insituGeoposFor = timeSeries.getInsituGeoposFor(insituPin); if (insituGeoposFor != null) { InsituRecord[] insituRecords = insituSource.getValuesFor(insituName, insituGeoposFor); final TimeSeries timeSeries = computeSingleTimeSeries(insituRecords, insituName + "_" + insituPin.getLabel()); insituTimeSeries.add(dataHandler.getValidatedTimeSeries(timeSeries, insituName, type)); } } } } return insituTimeSeries; }
final int collectionOffset; if (TimeSeriesType.INSITU.equals(type)) { timeSeriesCount = displayAxisMapping.getInsituCount(); collectionOffset = INSITU_COLLECTION_INDEX_OFFSET; } else { timeSeriesCount = displayAxisMapping.getRasterCount(); if (TimeSeriesType.CURSOR.equals(type)) { collectionOffset = CURSOR_COLLECTION_INDEX_OFFSET;