private void storeProductsInMap(ProgressMonitor pm) { pm.beginTask("Loading time series...", 2); try { final List<Product> allProducts = getAllProducts(new SubProgressMonitor(pm, 1)); reprojectProducts(allProducts, new SubProgressMonitor(pm, 1)); } finally { pm.done(); } }
@Override public void setEoVariableSelected(String variableName, boolean selected) { // set in metadata final MetadataElement[] variables = getVariableMetadataElements(); for (MetadataElement elem : variables) { if (elem.getAttributeString(VARIABLE_NAME).equals(variableName)) { elem.setAttributeString(VARIABLE_SELECTION, String.valueOf(selected)); } } // set in product if (selected) { for (Product product : getAllProducts(ProgressMonitor.NULL)) { addSpecifiedBandOfGivenProduct(variableName, product); } } else { final Band[] bands = tsProduct.getBands(); for (Band band : bands) { if (variableName.equals(rasterToVariableName(band.getName()))) { tsProduct.removeBand(band); } } } fireChangeEvent(new TimeSeriesChangeEvent(TimeSeriesChangeEvent.PROPERTY_EO_VARIABLE_SELECTION, null, this)); }
@Override public void setTimeCoding(TimeCoding timeCoding) { final ProductData.UTC startTime = timeCoding.getStartTime(); if (tsProduct.getStartTime().getAsCalendar().compareTo(startTime.getAsCalendar()) != 0) { tsProduct.setStartTime(startTime); fireChangeEvent(new TimeSeriesChangeEvent(TimeSeriesChangeEvent.START_TIME_PROPERTY_NAME, startTime, this)); } final ProductData.UTC endTime = timeCoding.getEndTime(); if (tsProduct.getEndTime().getAsCalendar().compareTo(endTime.getAsCalendar()) != 0) { tsProduct.setEndTime(endTime); fireChangeEvent(new TimeSeriesChangeEvent(TimeSeriesChangeEvent.END_TIME_PROPERTY_NAME, endTime, this)); } List<String> variables = getEoVariables(); for (Product product : getAllProducts(ProgressMonitor.NULL)) { for (String variable : variables) { if (isEoVariableSelected(variable)) { addSpecifiedBandOfGivenProduct(variable, product); } } } for (Band band : tsProduct.getBands()) { final TimeCoding bandTimeCoding = getRasterTimeMap().get(band); if (!timeCoding.contains(bandTimeCoding)) { fireChangeEvent(new TimeSeriesChangeEvent(TimeSeriesChangeEvent.BAND_TO_BE_REMOVED, band, this)); tsProduct.removeBand(band); } } }