@Test public void testDatasetPathMatchSuccess() { String matchPattern = "prod/sref.([0-9]{4})([0-9]{2})([0-9]{2})/([0-9]{2})/pgrb_biasc/sref_([^.]*)\\.t\\4z\\.pgrb([0-9]{3})\\.(.*)\\.grib2$"; String substitutionPattern = "$1-$2-$3T$4"; // String substitutionPattern = "$1-$2-$3T$4 Grid $6 member $5-$7"; String duration = "96 hours"; String dsName = "/data/nccf/com/sref/prod/sref.20090603/03/pgrb_biasc/sref_eta.t03z.pgrb212.n2.grib2"; RegExpAndDurationTimeCoverageEnhancer timeCoverageEnhancer = RegExpAndDurationTimeCoverageEnhancer.getInstanceToMatchOnDatasetPath( matchPattern, substitutionPattern, duration); assertTrue(timeCoverageEnhancer != null); InvDatasetImpl ds = new InvDatasetImpl(null, dsName); CrawlableDataset crDs = new MockCrawlableDataset(dsName, false); assertTrue("Failed to add metadata.", timeCoverageEnhancer.addMetadata(ds, crDs)); // This dataset hasn't been finalized so ds.getTimeCoverage() doesn't work. String startDateString = ds.getLocalMetadata().getTimeCoverage().getStart().getText(); String expectedStartDateString = "2009-06-03T03"; assertTrue( "TimeCoverage start date [" + startDateString + "] not as expected [" + expectedStartDateString + "].", startDateString.equals(expectedStartDateString)); }
@Test public void testDatasetNameMatchFail() { String matchPattern = "NDFD_CONUS_5km_([0-9]{4})([0-9]{2})([0-9]{2})_([0-9]{2})([0-9]{2}).grib2"; String substitutionPattern = "$1-$2-$3T$4:$5:00"; String duration = "96 hours"; String dsName = "NDFD_CONUS_5km_200600325_1200.grib2"; RegExpAndDurationTimeCoverageEnhancer timeCoverageEnhancer = RegExpAndDurationTimeCoverageEnhancer.getInstanceToMatchOnDatasetName( matchPattern, substitutionPattern, duration); assertTrue(timeCoverageEnhancer != null); InvDatasetImpl ds = new InvDatasetImpl(null, dsName); CrawlableDataset crDs = new MockCrawlableDataset(dsName, false); assertTrue("Unexpected success adding metadata.", !timeCoverageEnhancer.addMetadata(ds, crDs)); }