public void testMosaicAuxillaryFiles() throws Exception { File unpack = ImporterTestUtils.unpack("mosaic/bm.zip"); // all types of junk! String[] aux = new String[] {"aux", "rrd", "xml", "tif.aux.xml", "tfw"}; File[] tifs = unpack.listFiles(); for (int i = 0; i < tifs.length; i++) { File file = tifs[i]; for (int j = 0; j < aux.length; j++) { new File(unpack, file.getName().replace("tif", aux[j])).createNewFile(); } } Mosaic m = new Mosaic(unpack); m.prepare(); assertEquals(4, m.getFiles().size()); for (int i = 0; i < m.getFiles().size(); i++) { assertEquals("GeoTIFF", m.getFiles().get(1).getFormat().getName()); } // make sure the junk was actually picked up for (FileData f : m.getFiles()) { assertEquals(aux.length, ((SpatialFile) f).getSuppFiles().size()); } }
@Test public void testSimpleMosaic() throws Exception { File dir = unpack("mosaic/bm.zip"); ImportContext context = importer.createContext(new Mosaic(dir)); assertEquals(1, context.getTasks().size()); ImportTask task = context.getTasks().get(0); assertTrue(task.getData() instanceof Mosaic); assertTrue(task.getData().getFormat() instanceof MosaicFormat); importer.run(context); runChecks(dir.getName()); }
@Test public void testFilenameTimeHandler() throws Exception { Mosaic m = new Mosaic(unpack("mosaic/bm_time.zip")); m.setTimeMode(TimeMode.FILENAME); FilenameTimeHandler th = (FilenameTimeHandler) m.getTimeHandler(); th.setFilenameRegex("(\\d){6}"); th.setTimeFormat("yyyyMM"); m.prepare(); List<FileData> files = m.getFiles(); assertEquals(4, files.size()); for (int i = 0; i < files.size(); i++) { FileData fd = files.get(i); assertTrue(fd instanceof Granule); Granule g = (Granule) fd; // TODO: comparison fails on build server assertNotNull(g.getTimestamp()); // assertEquals(date(2004, i), g.getTimestamp()); } }
@Test public void testTimeMosaicAuto() throws Exception { Mosaic m = new Mosaic(unpack("mosaic/bm_time.zip")); m.setTimeMode(TimeMode.AUTO); ImportContext context = importer.createContext(m); assertEquals(1, context.getTasks().size()); importer.run(context); LayerInfo l = context.getTasks().get(0).getLayer(); ResourceInfo r = l.getResource(); assertTrue(r.getMetadata().containsKey("time")); DimensionInfo d = (DimensionInfo) r.getMetadata().get("time"); assertNotNull(d); runChecks(l.getName()); Document dom = getAsDOM( String.format( "/%s/%s/wms?request=getcapabilities", r.getStore().getWorkspace().getName(), l.getName())); XMLAssert.assertXpathExists( "//wms:Layer[wms:Name = '" + m.getName() + "']/wms:Dimension[@name = 'time']", dom); }
@Test public void testTimeMosaic() throws Exception { Mosaic m = new Mosaic(unpack("mosaic/bm_time.zip")); m.setTimeMode(TimeMode.FILENAME); FilenameTimeHandler th = (FilenameTimeHandler) m.getTimeHandler(); th.setFilenameRegex("(\\d){6}"); th.setTimeFormat("yyyyMM"); ImportContext context = importer.createContext(m); assertEquals(1, context.getTasks().size()); importer.run(context); LayerInfo l = context.getTasks().get(0).getLayer(); ResourceInfo r = l.getResource(); assertTrue(r.getMetadata().containsKey("time")); DimensionInfo d = (DimensionInfo) r.getMetadata().get("time"); assertNotNull(d); runChecks(l.getName()); Document dom = getAsDOM( String.format( "/%s/%s/wms?request=getcapabilities", r.getStore().getWorkspace().getName(), l.getName())); XMLAssert.assertXpathExists( "//wms:Layer[wms:Name = '" + m.getName() + "']/wms:Dimension[@name = 'time']", dom); }