ImageMosaicReader extends AbstractGridCoverage2DReader implements StructuredGridCoverage2DReader { public Format getFormat() { return new ImageMosaicFormat(); } ImageMosaicReader(Object source, Hints uHints);  ImageMosaicReader(Object source); RasterManager getRasterManager(String name); @Override String[] getGridCoverageNames(); Format getFormat(); GridCoverage2D read(GeneralParameterValue[] params); GridCoverage2D read(String coverageName, GeneralParameterValue[] params); @Override int getGridCoverageCount(); @Override synchronized void dispose(); @Override String[] getMetadataNames(); @Override String[] getMetadataNames(String coverageName); @Override String getMetadataValue(final String name); @Override String getMetadataValue(String coverageName, final String name); @Override Set<ParameterDescriptor<List>> getDynamicParameters(); @Override Set<ParameterDescriptor<List>> getDynamicParameters(String coverageName); boolean isParameterSupported(Identifier name); @Override int getNumOverviews(String coverageName); @Override int getNumOverviews(); @Override double[] getReadingResolutions(OverviewPolicy policy,
            double[] requestedResolution); @Override double[] getReadingResolutions(String coverageName, OverviewPolicy policy,
            double[] requestedResolution); boolean isParameterSupported(String coverageName, Identifier parameterName); @Override GranuleSource getGranules(final String coverageName, final boolean readOnly); @Override boolean isReadOnly(); @Override void createCoverage(String coverageName, SimpleFeatureType indexSchema); @Override boolean removeCoverage(String coverageName, final boolean delete); @Override GeneralEnvelope getOriginalEnvelope(); @Override GeneralEnvelope getOriginalEnvelope(String coverageName); @Override GridEnvelope getOriginalGridRange(); @Override GridEnvelope getOriginalGridRange(String coverageName); @Override MathTransform getOriginalGridToWorld(PixelInCell pixInCell); @Override MathTransform getOriginalGridToWorld(String coverageName, PixelInCell pixInCell); @Override CoordinateReferenceSystem getCoordinateReferenceSystem(); @Override CoordinateReferenceSystem getCoordinateReferenceSystem(String coverageName); @Override ImageLayout getImageLayout(); @Override ImageLayout getImageLayout(String coverageName); @Override double[][] getResolutionLevels(); @Override double[][] getResolutionLevels(String coverageName); @Override List<HarvestedSource> harvest(String defaultCoverage, Object source, Hints hints); @Override List<DimensionDescriptor> getDimensionDescriptors(String coverageName); @Override void delete(boolean deleteData); @Override boolean removeCoverage(String coverageName); static final String UNSPECIFIED; }
@Test public void timeTimeRangeSelection() throws Exception { final AbstractGridFormat format = TestUtils .getFormat(timeAdditionalDomainsRangeURL); ImageMosaicReader reader = TestUtils.getReader(timeAdditionalDomainsRangeURL, format); GridCoverage2D coverage = readCoverageInDateRange(reader, "2008-10-20T00:00:00.000Z", "2008-10-25T12:00:00.000Z"); assertNull(coverage); coverage = readCoverageInDateRange(reader, "2008-11-20T00:00:00.000Z", "2008-11-25T12:00:00.000Z"); assertNull(coverage); coverage = readCoverageInDateRange(reader, "2008-11-04T12:00:00.000Z", "2008-11-04T18:00:00.000Z"); assertNull(coverage); coverage = readCoverageInDateRange(reader, "2008-10-20T00:00:00.000Z", "2008-11-20T00:00:00.000Z"); assertNotNull(coverage); coverage = readCoverageInDateRange(reader, "2008-10-28T00:00:00.000Z", "2008-10-31T18:00:00.000Z"); assertNotNull(coverage); String fileSource = (String) coverage.getProperty(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY); assertEquals("temp_020_099_20081031T000000_20081103T000000_12_24", FilenameUtils.getBaseName(fileSource)); coverage = readCoverageInDateRange(reader, "2008-11-03T12:00:00.000Z", "2008-11-04T00:00:00.000Z"); assertNotNull(coverage); fileSource = (String) coverage.getProperty(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY); assertEquals("temp_020_099_20081101T000000_20081104T000000_12_24", FilenameUtils.getBaseName(fileSource)); coverage = readCoverageInDateRange(reader, "2008-10-31T00:00:00.000Z", "2008-10-31T00:00:00.000Z"); assertNotNull(coverage); fileSource = (String) coverage.getProperty(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY); assertEquals("temp_020_099_20081031T000000_20081103T000000_12_24", FilenameUtils.getBaseName(fileSource)); coverage = readCoverageInDateRange(reader, "2008-11-04T00:00:00.000Z", "2008-11-04T00:00:00.000Z"); assertNotNull(coverage); fileSource = (String) coverage.getProperty(AbstractGridCoverage2DReader.FILE_SOURCE_PROPERTY); assertEquals("temp_020_099_20081101T000000_20081104T000000_12_24", FilenameUtils.getBaseName(fileSource)); }