for (MFile cd : datasetManager.getFilesSorted()) { datasets.add( makeDataset(cd));
for (MFile cd : datasetManager.getFilesSorted()) { datasets.add( makeDataset(cd));
public CalendarDateRange update() throws IOException { datasets = new ArrayList<>(); manager.scan(false); 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()); } } return dateRange; }
@Test @Ignore("tests fail on jenkins due to file permisssions") public void testScanFromConfig() throws IOException { //public FeatureCollectionConfig(String name, FeatureCollectionType fcType, String spec, String dateFormatMark, String olderThan, String recheckAfter, // String timePartition, String useIndexOnlyS, Element innerNcml) { // public FeatureCollectionConfig(String name, String path, FeatureCollectionType fcType, String spec, // String dateFormatMark, String olderThan, // String timePartition, String useIndexOnlyS, Element innerNcml) { FeatureCollectionConfig config = new FeatureCollectionConfig("testScanFromConfig", "path", FeatureCollectionType.FMRC, TestDir.cdmUnitTestDir + "agg/updating/.*nc$", null, null, "10 sec", null, null); assert touch(TestDir.cdmUnitTestDir + "agg/updating/extra.nc"); // count scanned files Formatter f = new Formatter(System.out); MFileCollectionManager dcm = new MFileCollectionManager(config, f, null); dcm.scan(true); List<MFile> fileList = (List<MFile>) Misc.getList(dcm.getFilesSorted()); assert fileList.size() == 2 : dcm; }