private void setProductTimeCoding(Product tsProduct) { for (Band band : tsProduct.getBands()) { final ProductData.UTC rasterStartTime = getRasterTimeMap().get(band).getStartTime(); final ProductData.UTC rasterEndTime = getRasterTimeMap().get(band).getEndTime(); ProductData.UTC tsStartTime = tsProduct.getStartTime(); if (tsStartTime == null || rasterStartTime.getAsDate().before(tsStartTime.getAsDate())) { tsProduct.setStartTime(rasterStartTime); } ProductData.UTC tsEndTime = tsProduct.getEndTime(); if (rasterEndTime != null) { if (tsEndTime == null || rasterEndTime.getAsDate().after(tsEndTime.getAsDate())) { tsProduct.setEndTime(rasterEndTime); } } } }
@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); } } }