public CatalogCollectionManager(String collection) { super(collection, null); if (collection.startsWith(MFileCollectionManager.CATALOG)) collection = collection.substring(MFileCollectionManager.CATALOG.length()); int pos = collection.indexOf('?'); if (pos > 0) { this.dateExtractor = new DateExtractorFromName(collection.substring(pos+1), true); collection = collection.substring(0,pos); } this.catalogUrl = collection; }
static public void doit(String name, String dateFormatMark, boolean useName) { DateExtractorFromName de = new DateExtractorFromName(dateFormatMark, useName); CalendarDate d = de.getDate(name); System.out.printf("%s == %s%n", name , d); }
static public void main(String args[]) { doit("/san4/work/jcaron/cfsrr/198507", "#cfsrr/#yyyyMM",false); doit("/data/ldm/pub/native/grid/NCEP/GFS/Alaska_191km/20111226/Run_1200.grib1", "#Alaska_191km/#yyyyMMdd'/Run_'HHmm",false); doit("pgb.ft06.198407", "pgb.ft06.#yyyyMM", true); // yyyyMM fails on pgb.ft06.198407 ParseException:Unparseable date: "pgb.ft06.198407" } }
@Test public void doit() { DateExtractorFromName de = new DateExtractorFromName(dateFormatMark, useName); CalendarDate d = de.getCalendarDateFromPath(name); logger.debug("{} == {}", name, d); assert d.toString().equals(result); } }
@Override public CalendarDate getCalendarDate(MFile mfile) { Date d = getDate(mfile); return (d == null) ? null : CalendarDate.of(d); }
@Override public CalendarDate getCalendarDate(MFile mfile) { Date d = getDate(mfile); return (d == null) ? null : CalendarDate.of(d); }
public CollectionManagerCatalog(String collectionName, String collectionSpec, String olderThan, Formatter errlog) { super(collectionName, null); if (collectionSpec.startsWith(MFileCollectionManager.CATALOG)) collectionSpec = collectionSpec.substring(MFileCollectionManager.CATALOG.length()); int pos = collectionSpec.indexOf('?'); if (pos > 0) { this.dateExtractor = new DateExtractorFromName(collectionSpec.substring(pos + 1), true); // WTF ? collectionSpec = collectionSpec.substring(0, pos); } this.catalogUrl = collectionSpec; this.root = System.getProperty("user.dir"); }
static public void doit(String name, String dateFormatMark, boolean useName) { DateExtractorFromName de = new DateExtractorFromName(dateFormatMark, useName); CalendarDate d = de.getDate(name); System.out.printf("%s == %s%n", name , d); }
@Override public CalendarDate getCalendarDate(MFile mfile) { Date d = getDate(mfile); return (d == null) ? null : CalendarDate.of(d); }
static public void main(String args[]) { doit("/san4/work/jcaron/cfsrr/198507", "#cfsrr/#yyyyMM",false); doit("/data/ldm/pub/native/grid/NCEP/GFS/Alaska_191km/20111226/Run_1200.grib1", "#Alaska_191km/#yyyyMMdd'/Run_'HHmm",false); doit("pgb.ft06.198407", "pgb.ft06.#yyyyMM", true); // yyyyMM fails on pgb.ft06.198407 ParseException:Unparseable date: "pgb.ft06.198407" } }
public CollectionManagerCatalog(String collectionName, String collectionSpec, String olderThan, Formatter errlog) { super(collectionName, null); if (collectionSpec.startsWith(MFileCollectionManager.CATALOG)) collectionSpec = collectionSpec.substring(MFileCollectionManager.CATALOG.length()); int pos = collectionSpec.indexOf('?'); if (pos > 0) { this.dateExtractor = new DateExtractorFromName(collectionSpec.substring(pos+1), true); // WTF ? collectionSpec = collectionSpec.substring(0,pos); } this.catalogUrl = collectionSpec; this.root = System.getProperty("user.dir"); }
@Override protected void buildNetcdfDataset(CancelTask cancelTask) throws IOException { DateExtractor dateExtractor = null; if (runMatcher != null) dateExtractor = new DateExtractorFromName(runMatcher, false); // uses path if (dateExtractor == null && dateFormatMark != null) dateExtractor = new DateExtractorFromName(dateFormatMark, true); fmrc = new Fmrc(datasetManager, new FeatureCollectionConfig()); // fill in the ncDataset fmrc.getDataset2D( ncDataset); }
public DateExtractor getDateExtractor() { if (dateFormatMark != null) return new DateExtractorFromName(dateFormatMark, false); else { CollectionSpecParser sp = getCollectionSpecParser(null); if (sp.getDateFormatMark() != null) return new DateExtractorFromName(sp.getDateFormatMark(), true); } return new DateExtractorNone(); }
@Override protected void buildNetcdfDataset(CancelTask cancelTask) throws IOException { DateExtractor dateExtractor = null; if (runMatcher != null) dateExtractor = new DateExtractorFromName(runMatcher, false); // uses path if (dateExtractor == null && dateFormatMark != null) dateExtractor = new DateExtractorFromName(dateFormatMark, true); fmrc = new Fmrc(datasetManager, new FeatureCollectionConfig()); // fill in the ncDataset fmrc.getDataset2D( ncDataset); }
public void addDirectoryScanFmrc(String dirName, String suffix, String regexpPatternString, String subdirs, String olderThan, String runMatcher, String forecastMatcher, String offsetMatcher) throws IOException { // only one this.runMatcher = runMatcher; //this.forecastMatcher = forecastMatcher; //this.offsetMatcher = offsetMatcher; // this.enhance = NetcdfDataset.getDefaultEnhanceMode(); isDate = true; //DatasetScanner d = new DatasetScanner(null, dirName, suffix, regexpPatternString, subdirs, olderThan); //datasetManager.addDirectoryScan(d); datasetManager.addDirectoryScan(dirName, suffix, regexpPatternString, subdirs, olderThan, null); if (runMatcher != null) { DateExtractor dateExtractor = new DateExtractorFromName(runMatcher, false); datasetManager.setDateExtractor(dateExtractor); } }
public void addDirectoryScanFmrc(String dirName, String suffix, String regexpPatternString, String subdirs, String olderThan, String runMatcher, String forecastMatcher, String offsetMatcher) throws IOException { // only one this.runMatcher = runMatcher; //this.forecastMatcher = forecastMatcher; //this.offsetMatcher = offsetMatcher; // this.enhance = NetcdfDataset.getDefaultEnhanceMode(); isDate = true; //DatasetScanner d = new DatasetScanner(null, dirName, suffix, regexpPatternString, subdirs, olderThan); //datasetManager.addDirectoryScan(d); datasetManager.addDirectoryScan(dirName, suffix, regexpPatternString, subdirs, olderThan, null); if (runMatcher != null) { DateExtractor dateExtractor = new DateExtractorFromName(runMatcher, false); datasetManager.setDateExtractor(dateExtractor); } }
public void addDirectoryScanFmrc(String dirName, String suffix, String regexpPatternString, String subdirs, String olderThan, String runMatcher, String forecastMatcher, String offsetMatcher) throws IOException { // only one this.runMatcher = runMatcher; //this.forecastMatcher = forecastMatcher; //this.offsetMatcher = offsetMatcher; // this.enhance = NetcdfDataset.getDefaultEnhanceMode(); isDate = true; //DatasetScanner d = new DatasetScanner(null, dirName, suffix, regexpPatternString, subdirs, olderThan); //datasetManager.addDirectoryScan(d); datasetManager.addDirectoryScan(dirName, suffix, regexpPatternString, subdirs, olderThan, null); if (runMatcher != null) { DateExtractor dateExtractor = new DateExtractorFromName(runMatcher, false); datasetManager.setDateExtractor(dateExtractor); } }
@Override protected void buildNetcdfDataset(CancelTask cancelTask) throws IOException { DateExtractor dateExtractor = null; if (runMatcher != null) dateExtractor = new DateExtractorFromName(runMatcher, false); // uses path if (dateExtractor == null && dateFormatMark != null) dateExtractor = new DateExtractorFromName(dateFormatMark, true); fmrc = new Fmrc(datasetManager, new FeatureCollectionConfig()); // fill in the ncDataset fmrc.getDataset2D( ncDataset); ncDataset.finish(); }
/** * Add a dataset scan * * @param crawlableDatasetElement defines a CrawlableDataset, or null * @param dirName scan this directory * @param suffix filter on this suffix (may be null) * @param regexpPatternString include if full name matches this regular expression (may be null) * @param dateFormatMark create dates from the filename (may be null) * @param enhanceMode how should files be enhanced * @param subdirs equals "false" if should not descend into subdirectories * @param olderThan files must be older than this time (now - lastModified >= olderThan); must be a time unit, may ne bull */ public void addDatasetScan(Element crawlableDatasetElement, String dirName, String suffix, String regexpPatternString, String dateFormatMark, Set<NetcdfDataset.Enhance> enhanceMode, String subdirs, String olderThan) { datasetManager.addDirectoryScan(dirName, suffix, regexpPatternString, subdirs, olderThan, enhanceMode); this.dateFormatMark = dateFormatMark; if (dateFormatMark != null) { isDate = true; if (type == Type.joinExisting) type = Type.joinExistingOne; // tricky DateExtractor dateExtractor = new DateExtractorFromName(dateFormatMark, true); datasetManager.setDateExtractor(dateExtractor); } }
/** * Add a dataset scan * * @param crawlableDatasetElement defines a CrawlableDataset, or null * @param dirName scan this directory * @param suffix filter on this suffix (may be null) * @param regexpPatternString include if full name matches this regular expression (may be null) * @param dateFormatMark create dates from the filename (may be null) * @param enhanceMode how should files be enhanced * @param subdirs equals "false" if should not descend into subdirectories * @param olderThan files must be older than this time (now - lastModified >= olderThan); must be a time unit, may ne bull */ public void addDatasetScan(Element crawlableDatasetElement, String dirName, String suffix, String regexpPatternString, String dateFormatMark, Set<NetcdfDataset.Enhance> enhanceMode, String subdirs, String olderThan) { datasetManager.addDirectoryScan(dirName, suffix, regexpPatternString, subdirs, olderThan, enhanceMode); this.dateFormatMark = dateFormatMark; if (dateFormatMark != null) { isDate = true; if (type == Type.joinExisting) type = Type.joinExistingOne; // tricky DateExtractor dateExtractor = new DateExtractorFromName(dateFormatMark, true); datasetManager.setDateExtractor(dateExtractor); } }