public void update() throws IOException { datasets = new ArrayList<>(); for (MFile f : manager.getFilesSorted()) datasets.add(new Dataset(f)); if (manager.hasDateExtractor()) { if (datasets.size() == 1) { Dataset ds = datasets.get(0); if (ds.start != null) dateRange = CalendarDateRange.of(ds.start, ds.start); // LOOK ?? } else if (datasets.size() > 1) { for (int i = 0; i < datasets.size() - 1; i++) { Dataset d1 = datasets.get(i); Dataset d2 = datasets.get(i + 1); d1.setDateRange(CalendarDateRange.of(d1.start, d2.start)); if (i == datasets.size() - 2) // last one d2.setDateRange(new CalendarDateRange(d2.start, d1.getDateRange().getDurationInSecs())); } Dataset first = datasets.get(0); Dataset last = datasets.get(datasets.size() - 1); dateRange = CalendarDateRange.of(first.getDateRange().getStart(), last.getDateRange().getEnd()); } } }
for (MFile f : manager.getFilesSorted()) { if (logger.isDebugEnabled()) logger.debug("Fmrc: "+config.spec+": file="+f.getPath());
for (MFile f : manager.getFilesSorted()) { Map<String, String> filesRunDateMap = ((MFileCollectionManager) manager).getFilesRunDateMap(); CalendarDate runDate;
@Test public void testTimePartition() throws IOException { FeatureCollectionConfig config = new FeatureCollectionConfig("ds627.1", "test/ds627.1", FeatureCollectionType.GRIB1, TestDir.cdmUnitTestDir + "gribCollections/rdavm/ds627.1/.*gbx9", null, "#ei.mdfa.fc12hr.sfc.regn128sc.#yyyyMMddhh", null, "year", null); Formatter errlog = new Formatter(); CollectionSpecParser specp = new CollectionSpecParser(config.spec, errlog); try (TimePartition tp = new TimePartition(config, specp, logger)) { tp.putAuxInfo(FeatureCollectionConfig.AUX_CONFIG, config); int countP = 0; for (MCollection mc : tp.makePartitions(CollectionUpdateType.always)) { System.out.printf("%s%n", mc); countP++; int count = 0; for (MFile mfile : mc.getFilesSorted()) { System.out.printf(" %s%n", mfile); count++; } assert count == 12 : count; } assert countP == 34 : countP; } }