This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 9f6cae9a767a160c226d88a2eb7b926cd72fc99c Author: Martin Desruisseaux <[email protected]> AuthorDate: Tue Sep 13 19:10:12 2022 +0200 Rename `range` argument as `ranges`. There is no significant code change in this commit. --- .../MultiResolutionCoverageLoaderTest.java | 2 +- .../org/apache/sis/storage/geotiff/DataCube.java | 8 ++-- .../sis/storage/geotiff/MultiResolutionImage.java | 8 ++-- .../apache/sis/internal/netcdf/RasterResource.java | 48 +++++++++++----------- .../sis/internal/storage/GridResourceWrapper.java | 8 ++-- .../sis/internal/storage/MemoryGridResource.java | 14 +++---- .../apache/sis/internal/storage/RangeArgument.java | 42 +++++++++---------- .../sis/internal/storage/esri/AsciiGridStore.java | 13 +++--- .../sis/internal/storage/esri/RawRasterStore.java | 6 +-- .../internal/storage/image/SingleImageStore.java | 8 ++-- .../internal/storage/image/WorldFileResource.java | 26 ++++++------ .../org/apache/sis/storage/CoverageSubset.java | 20 ++++----- .../apache/sis/storage/GridCoverageResource.java | 12 +++--- .../org/apache/sis/storage/GridResourceMock.java | 6 +-- 14 files changed, 111 insertions(+), 110 deletions(-) diff --git a/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoaderTest.java b/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoaderTest.java index 1368203d67..85c380d99a 100644 --- a/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoaderTest.java +++ b/core/sis-portrayal/src/test/java/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoaderTest.java @@ -128,7 +128,7 @@ public final strictfp class MultiResolutionCoverageLoaderTest extends TestCase { } /** Returns a dummy value (will not be used by this test). */ - @Override public GridCoverage read(final GridGeometry domain, final int... range) { + @Override public GridCoverage read(final GridGeometry domain, final int... ranges) { final SampleDimension band = new SampleDimension(Names.createLocalName(null, null, "dummy"), null, Collections.emptyList()); return new GridCoverage(domain, Collections.singletonList(band)) { @Override public RenderedImage render(GridExtent sliceExtent) { diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataCube.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataCube.java index 99b7a22a70..fe010e4f47 100644 --- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataCube.java +++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/DataCube.java @@ -200,17 +200,17 @@ abstract class DataCube extends TiledGridResource implements ResourceOnFileSyste * Creates a {@link GridCoverage} which will load pixel data in the given domain. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based index of sample dimensions to read, or an empty sequence for reading all ranges. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based index of sample dimensions to read, or an empty sequence for reading all ranges. + * @return the grid coverage for the specified domain and ranges. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public final GridCoverage read(final GridGeometry domain, final int... range) throws DataStoreException { + public final GridCoverage read(final GridGeometry domain, final int... ranges) throws DataStoreException { final long startTime = System.nanoTime(); GridCoverage coverage; try { synchronized (getSynchronizationLock()) { - final Subset subset = new Subset(domain, range); + final Subset subset = new Subset(domain, ranges); final Compression compression = getCompression(); if (compression == null) { throw new DataStoreContentException(reader.resources().getString( diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java index 4ed3aca47a..68e5d906f2 100644 --- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java +++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java @@ -250,12 +250,12 @@ final class MultiResolutionImage extends GridResourceWrapper implements Resource * Loads a subset of the grid coverage represented by this resource. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public GridCoverage read(final GridGeometry domain, final int... range) throws DataStoreException { + public GridCoverage read(final GridGeometry domain, final int... ranges) throws DataStoreException { final double[] request = getResolution(domain); int level = (request != null) ? resolutions.length : 1; synchronized (getSynchronizationLock()) { @@ -275,7 +275,7 @@ finer: while (--level > 0) { throw levels[level].reader.store.errorIO(e); } image.setLoadingStrategy(getLoadingStrategy()); - return image.read(domain, range); + return image.read(domain, ranges); } } } diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java index 0108f1c911..cf8b4e26fd 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java @@ -124,12 +124,12 @@ public final class RasterResource extends AbstractGridCoverageResource implement * * @see #getSampleDimensions() */ - private final SampleDimension[] ranges; + private final SampleDimension[] sampleDimensions; /** - * The netCDF variables for each sample dimensions. The length of this array shall be equal to {@code ranges.length}, - * except if bands are stored as one variable dimension ({@link #bandDimension} ≥ 0) in which case the length shall - * be exactly 1. Accesses to this array need to take in account that the length may be only 1. Example: + * The netCDF variables for each sample dimensions. The length of this array shall be equal to {@code sampleDimensions.length}, + * except if bands are stored as one variable dimension ({@link #bandDimension} ≥ 0) in which case the length shall be exactly 1. + * Accesses to this array need to take in account that the length may be only 1. Example: * * {@preformat java * Variable v = data[bandDimension >= 0 ? 0 : index]; @@ -193,15 +193,15 @@ public final class RasterResource extends AbstractGridCoverageResource implement final int numBands, final int bandDim, final DataStore lock) { super(decoder.listeners, false); - this.lock = lock; - gridGeometry = grid; - bandDimension = bandDim; - location = decoder.location; - identifier = decoder.nameFactory.createLocalName(decoder.namespace, name); - visibleBand = decoder.convention().getVisibleBand(); - ranges = new SampleDimension[numBands]; - data = bands.toArray(new Variable[bands.size()]); - assert data.length == (bandDimension >= 0 ? 1 : ranges.length); + this.lock = lock; + gridGeometry = grid; + bandDimension = bandDim; + location = decoder.location; + identifier = decoder.nameFactory.createLocalName(decoder.namespace, name); + visibleBand = decoder.convention().getVisibleBand(); + sampleDimensions = new SampleDimension[numBands]; + data = bands.toArray(new Variable[bands.size()]); + assert data.length == (bandDimension >= 0 ? 1 : sampleDimensions.length); } /** @@ -448,12 +448,12 @@ public final class RasterResource extends AbstractGridCoverageResource implement SampleDimension.Builder builder = null; try { synchronized (lock) { - for (int i=0; i<ranges.length; i++) { - if (ranges[i] == null) { + for (int i=0; i<sampleDimensions.length; i++) { + if (sampleDimensions[i] == null) { if (builder == null) { builder = new SampleDimension.Builder(); } - ranges[i] = createSampleDimension(builder, getVariable(i), i); + sampleDimensions[i] = createSampleDimension(builder, getVariable(i), i); builder.clear(); } } @@ -461,7 +461,7 @@ public final class RasterResource extends AbstractGridCoverageResource implement } catch (RuntimeException e) { throw new DataStoreContentException(e); } - return UnmodifiableArrayList.wrap(ranges); + return UnmodifiableArrayList.wrap(sampleDimensions); } /** @@ -621,14 +621,14 @@ public final class RasterResource extends AbstractGridCoverageResource implement * Loads a subset of the grid coverage represented by this resource. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public GridCoverage read(final GridGeometry domain, final int... range) throws DataStoreException { + public GridCoverage read(final GridGeometry domain, final int... ranges) throws DataStoreException { final long startTime = System.nanoTime(); - final RangeArgument rangeIndices = RangeArgument.validate(ranges.length, range, listeners); + final RangeArgument rangeIndices = RangeArgument.validate(sampleDimensions.length, ranges, listeners); final Variable first = data[bandDimension >= 0 ? 0 : rangeIndices.getFirstSpecified()]; final DataType dataType = first.getDataType(); if (bandDimension < 0) { @@ -670,7 +670,7 @@ public final class RasterResource extends AbstractGridCoverageResource implement } /* * Iterate over netCDF variables in the order they appear in the file, not in the order requested - * by the `range` argument. The intent is to perform sequential I/O as much as possible, without + * by the `ranges` argument. The intent is to perform sequential I/O as much as possible, without * seeking backward. In the (uncommon) case where bands are one of the variable dimension instead * than different variables, the reading of the whole variable occurs during the first iteration. */ @@ -680,9 +680,9 @@ public final class RasterResource extends AbstractGridCoverageResource implement int indexInResource = rangeIndices.getSourceIndex(i); // In strictly increasing order. int indexInRaster = rangeIndices.getTargetIndex(i); Variable variable = getVariable(indexInResource); - SampleDimension b = ranges[indexInResource]; + SampleDimension b = sampleDimensions[indexInResource]; if (b == null) { - ranges[indexInResource] = b = createSampleDimension(rangeIndices.builder(), variable, i); + sampleDimensions[indexInResource] = b = createSampleDimension(rangeIndices.builder(), variable, i); } bands[indexInRaster] = b; if (bandOffsets != null) { diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/GridResourceWrapper.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/GridResourceWrapper.java index e922a12c72..48a7b6afe3 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/GridResourceWrapper.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/GridResourceWrapper.java @@ -165,13 +165,13 @@ public abstract class GridResourceWrapper implements GridCoverageResource { * The default implementation delegates to the source. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public GridCoverage read(GridGeometry domain, int... range) throws DataStoreException { - return source().read(domain, range); + public GridCoverage read(GridGeometry domain, int... ranges) throws DataStoreException { + return source().read(domain, ranges); } /** diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MemoryGridResource.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MemoryGridResource.java index 57523f8747..1c85e1e59a 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MemoryGridResource.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MemoryGridResource.java @@ -73,7 +73,7 @@ public class MemoryGridResource extends AbstractGridCoverageResource { } /** - * Returns information about the <cite>range</cite> of wrapped grid coverage. + * Returns information about the <cite>ranges</cite> of wrapped grid coverage. * * @return ranges of sample values together with their mapping to "real values". */ @@ -89,19 +89,19 @@ public class MemoryGridResource extends AbstractGridCoverageResource { * the original grid coverage. * * @param domain desired grid extent and resolution, or {@code null} for the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. */ @Override - public GridCoverage read(GridGeometry domain, final int... range) { + public GridCoverage read(GridGeometry domain, final int... ranges) { List<SampleDimension> bands = coverage.getSampleDimensions(); - final RangeArgument rangeIndices = RangeArgument.validate(bands.size(), range, listeners); + final RangeArgument rangeIndices = RangeArgument.validate(bands.size(), ranges, listeners); /* * The given `domain` may use arbitrary `gridToCRS` and `CRS` properties. * For this simple implementation we need the same `gridToCRS` and `CRS` * than the wrapped coverage; only domain `extent` is allowed to differ. * Subsampling is ignored for now because it is an expensive operation. - * Clipping and range selection are light and do not copy any data. + * Clipping and ranges selection are light and do not copy any data. * * TODO: a future implementation may apply subsampling efficiently, * by adjusting the pixel stride in SampleModel. @@ -171,7 +171,7 @@ public class MemoryGridResource extends AbstractGridCoverageResource { } } if (!sameBands) { - data = new ImageProcessor().selectBands(data, range); + data = new ImageProcessor().selectBands(data, ranges); bands = UnmodifiableArrayList.wrap(rangeIndices.select(bands)); } return new GridCoverageBuilder() diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/RangeArgument.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/RangeArgument.java index c828e43cdd..52efd2658a 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/RangeArgument.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/RangeArgument.java @@ -35,7 +35,7 @@ import org.apache.sis.util.Localized; /** - * The user-provided {@code range} argument together with a set of convenience tools. + * The user-provided {@code ranges} argument together with a set of convenience tools. * * @author Martin Desruisseaux (Geomatys) * @version 1.2 @@ -72,7 +72,7 @@ public final class RangeArgument { private SampleDimension.Builder builder; /** - * Encapsulates the given {@code range} argument packed in high bits. + * Encapsulates the user-supplied {@code ranges} argument, packed in high bits of {@code packed}. */ private RangeArgument(final long[] packed, final boolean hasAllBands) { this.packed = packed; @@ -81,32 +81,32 @@ public final class RangeArgument { } /** - * Validate the {@code range} argument given to {@link GridCoverageResource#read(GridGeometry, int...)}. + * Validate the {@code ranges} argument given to {@link GridCoverageResource#read(GridGeometry, int...)}. * This method verifies that all indices are between 0 and {@code numSampleDimensions} and that there is * no duplicated index. * * @param numSampleDimensions number of sample dimensions in the resource. * Equal to <code>{@linkplain GridCoverageResource#getSampleDimensions()}.size()</code>. - * @param range the {@code range} argument given by the user. May be null or empty. + * @param ranges the {@code ranges} argument given by the user. May be null or empty. * @param listeners source of locale to use if an exception must be thrown. - * @return the {@code range} argument encapsulated with a set of convenience tools. + * @return the {@code ranges} argument encapsulated with a set of convenience tools. * @throws IllegalArgumentException if a range index is invalid. */ - public static RangeArgument validate(final int numSampleDimensions, final int[] range, final Localized listeners) { + public static RangeArgument validate(final int numSampleDimensions, final int[] ranges, final Localized listeners) { ArgumentChecks.ensureStrictlyPositive("numSampleDimensions", numSampleDimensions); final long[] packed; - if (range == null || range.length == 0) { + if (ranges == null || ranges.length == 0) { packed = new long[numSampleDimensions]; for (int i=1; i<numSampleDimensions; i++) { packed[i] = (((long) i) << Integer.SIZE) | i; } } else { /* - * Pattern: [specified `range` value | index in `range` where the value was specified] + * Pattern: [specified `range` value | index in `ranges` where the value was specified] */ - packed = new long[range.length]; - for (int i=0; i<range.length; i++) { - final int r = range[i]; + packed = new long[ranges.length]; + for (int i=0; i<ranges.length; i++) { + final int r = ranges[i]; if (r < 0 || r >= numSampleDimensions) { throw new IllegalArgumentException(Resources.forLocale(listeners.getLocale()).getString( Resources.Keys.InvalidSampleDimensionIndex_2, numSampleDimensions - 1, r)); @@ -114,7 +114,7 @@ public final class RangeArgument { packed[i] = (((long) r) << Integer.SIZE) | i; } /* - * Sort by increasing `range` value, but keep together with index in `range` where each + * Sort by increasing `range` value, but keep together with index in `ranges` where each * value was specified. After sorting, it become easy to check for duplicated values. */ Arrays.sort(packed); @@ -151,8 +151,8 @@ public final class RangeArgument { } /** - * Returns the number of sample dimensions. This is the length of the range array supplied by user, - * or the number of bands in the source coverage if the {@code range} array was null or empty. + * Returns the number of sample dimensions. This is the length of the {@code ranges} array supplied by user, + * or the number of bands in the source coverage if the {@code ranges} array was null or empty. * * @return the number of sample dimensions selected by user. */ @@ -162,10 +162,10 @@ public final class RangeArgument { /** * Returns the indices of bands selected by the user. - * This is a copy of the {@code range} argument specified by the user, in same order. + * This is a copy of the {@code ranges} argument specified by the user, in same order. * Note that this is not necessarily increasing order. * - * @return a copy of the {@code range} argument specified by the user. + * @return a copy of the {@code ranges} argument specified by the user. */ public int[] getSelectedBands() { final int[] bands = new int[getNumBands()]; @@ -179,7 +179,7 @@ public final class RangeArgument { * Returns the value of the first index specified by the user. This is not necessarily equal to * {@code getSourceIndex(0)} if the user specified the bands out of order. * - * @return index of the first value in the user-specified {@code range} array. + * @return index of the first value in the user-specified {@code ranges} array. */ public int getFirstSpecified() { for (final long p : packed) { @@ -202,11 +202,11 @@ public final class RangeArgument { } /** - * Returns the i<sup>th</sup> band position. This is the index in the user-supplied {@code range} array + * Returns the i<sup>th</sup> band position. This is the index in the user-supplied {@code ranges} array * where the {@code getSourceIndex(i)} value was specified. * * @param i index of the range index to get, from 0 inclusive to {@link #getNumBands()} exclusive. - * @return index in user-supplied {@code range} array where was specified the {@code getSourceIndex(i)} value. + * @return index in user-supplied {@code ranges} array where was specified the {@code getSourceIndex(i)} value. */ public int getTargetIndex(final int i) { return (int) packed[i]; @@ -322,11 +322,11 @@ public final class RangeArgument { * <ul class="verbose"> * <li>If {@code view} is {@code true}, the sample model returned by this method will expect the * same {@link java.awt.image.DataBuffer} than the one expected by the original {@code model}. - * Bands enumerated in the {@code range} argument will be used and other bands will be ignored. + * Bands enumerated in the {@code ranges} argument will be used and other bands will be ignored. * This mode is efficient if the data are already in memory and we want to avoid copying them. * An inconvenient is that all bands, including the ignored ones, are retained in memory.</li> * <li>If {@code view} is {@code false}, then this method will "compress" bank indices and bit masks - * for making them consecutive. For example if the {@code range} argument specifies that the bands + * for making them consecutive. For example if the {@code ranges} argument specifies that the bands * to read are {1, 3, 4, 6, …}, then "compressed" sample model will use bands {0, 1, 2, 3, …}. * This mode is efficient if the data are not yet in memory and the reader is capable to skip * the bands to ignore. In such case, this mode save memory.</li> diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/AsciiGridStore.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/AsciiGridStore.java index 0980ae4a0f..31788a9e29 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/AsciiGridStore.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/AsciiGridStore.java @@ -420,18 +420,19 @@ cellsize: if (value != null) { /** * Loads the data if not already done and closes the channel if read-only. * In current implementation the image is always fully loaded and cached. - * The given domain is ignored. We do that in order to have determinist and stable values - * for the sample range and for the data type. Loading the full image is reasonable if ASCII Grid - * files contain only small images, which is usually the case given how inefficient this format is. + * The given domain is ignored. We do that in order to have determinist + * and stable values for the range of sample values and for the data type. + * Loading the full image is reasonable if ASCII Grid files contain only small images, + * which is usually the case given how inefficient this format is. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range shall be either 0 or a range containing only 0. + * @param ranges shall be either {@code null} or an array containing only 0. * @return the grid coverage for the specified domain. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public synchronized GridCoverage read(final GridGeometry domain, final int... range) throws DataStoreException { - final RangeArgument bands = RangeArgument.validate(1, range, listeners); + public synchronized GridCoverage read(final GridGeometry domain, final int... ranges) throws DataStoreException { + final RangeArgument bands = RangeArgument.validate(1, ranges, listeners); if (coverage == null) try { readHeader(); final CharactersView view = input(); diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterStore.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterStore.java index 41006b2a3a..ae60b63283 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterStore.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/esri/RawRasterStore.java @@ -498,15 +498,15 @@ final class RawRasterStore extends RasterStore { * Loads the data. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range indices of bands to load. + * @param ranges indices of bands to load. * @return the grid coverage for the specified domain. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public synchronized GridCoverage read(GridGeometry domain, final int... range) throws DataStoreException { + public synchronized GridCoverage read(GridGeometry domain, final int... ranges) throws DataStoreException { try { getSampleDimensions(); // Force reading the header and building the list of sample dimensions. - final RangeArgument bands = RangeArgument.validate(reader.layout.getNumBands(), range, listeners); + final RangeArgument bands = RangeArgument.validate(reader.layout.getNumBands(), ranges, listeners); final WritableRaster raster = reader.read(domain, bands); return createCoverage(reader.getEffectiveDomain(), bands, raster, null); } catch (IOException e) { diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/SingleImageStore.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/SingleImageStore.java index 1c540ca55e..6021c962b4 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/SingleImageStore.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/SingleImageStore.java @@ -131,12 +131,12 @@ class SingleImageStore extends WorldFileStore implements GridCoverageResource { * Loads a subset of the image wrapped by this resource. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. */ @Override - public final GridCoverage read(GridGeometry domain, int... range) throws DataStoreException { - return delegate().read(domain, range); + public final GridCoverage read(GridGeometry domain, int... ranges) throws DataStoreException { + return delegate().read(domain, ranges); } /** diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileResource.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileResource.java index 887d162dd4..e0db706b49 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileResource.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/image/WorldFileResource.java @@ -249,13 +249,13 @@ class WorldFileResource extends AbstractGridCoverageResource implements StoreRes * Loads a subset of the image wrapped by this resource. * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public final GridCoverage read(GridGeometry domain, int... range) throws DataStoreException { - final boolean isFullCoverage = (domain == null && range == null); + public final GridCoverage read(GridGeometry domain, int... ranges) throws DataStoreException { + final boolean isFullCoverage = (domain == null && ranges == null); final WorldFileStore store = store(); try { synchronized (store) { @@ -310,18 +310,18 @@ class WorldFileResource extends AbstractGridCoverageResource implements StoreRes * Those heuristic rules may be changed in any future version. */ List<SampleDimension> bands = getSampleDimensions(); - if (range != null) { + if (ranges != null) { final ImageTypeSpecifier type = reader.getRawImageType(getImageIndex()); - final RangeArgument args = RangeArgument.validate(type.getNumBands(), range, listeners); + final RangeArgument args = RangeArgument.validate(type.getNumBands(), ranges, listeners); if (args.isIdentity()) { - range = null; + ranges = null; } else { bands = UnmodifiableArrayList.wrap(args.select(bands)); if (args.hasAllBands || type.getSampleModel() instanceof BandedSampleModel) { - range = args.getSelectedBands(); - param.setSourceBands(range); - param.setDestinationBands(ArraysExt.range(0, range.length)); - range = null; + ranges = args.getSelectedBands(); + param.setSourceBands(ranges); + param.setDestinationBands(ArraysExt.range(0, ranges.length)); + ranges = null; } } } @@ -331,8 +331,8 @@ class WorldFileResource extends AbstractGridCoverageResource implements StoreRes * It waste some memory because unused bands still in memory. But we do that as a * workaround for limitations in some `ImageReader` implementations. */ - if (range != null) { - image = new ImageProcessor().selectBands(image, range); + if (ranges != null) { + image = new ImageProcessor().selectBands(image, ranges); } final GridCoverage coverage = new GridCoverage2D(domain, bands, image); if (isFullCoverage) { diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageSubset.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageSubset.java index a5978ddf22..b8d90c82c6 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageSubset.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/CoverageSubset.java @@ -198,12 +198,12 @@ final class CoverageSubset extends AbstractGridCoverageResource { * </ul> * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ @Override - public GridCoverage read(GridGeometry domain, int... range) throws DataStoreException { + public GridCoverage read(GridGeometry domain, int... ranges) throws DataStoreException { if (domain == null) { domain = source.getGridGeometry(); } @@ -213,21 +213,21 @@ final class CoverageSubset extends AbstractGridCoverageResource { */ domain = clip(domain, GridRoundingMode.ENCLOSING, GridClippingMode.BORDER_EXPANSION); final int[] qr = query.getProjection(); - if (range == null) { - range = qr; + if (ranges == null) { + ranges = qr; } else if (qr != null) { - final int[] sub = new int[range.length]; - for (int i=0; i<range.length; i++) { - final int j = range[i]; + final int[] sub = new int[ranges.length]; + for (int i=0; i<ranges.length; i++) { + final int j = ranges[i]; if (j >= 0 && j < qr.length) { sub[i] = qr[j]; } else { throw new IllegalArgumentException(invalidRange(qr.length, j)); } } - range = sub; + ranges = sub; } - return source.read(domain, range); + return source.read(domain, ranges); } /** diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/GridCoverageResource.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/GridCoverageResource.java index f82af4a493..c28fe0cd62 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/storage/GridCoverageResource.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/GridCoverageResource.java @@ -188,21 +188,21 @@ public interface GridCoverageResource extends DataSet { * matching exactly the given geometry. * * <p>The returned coverage shall contain the exact set of sample dimensions specified by the {@code range} argument, - * in the specified order (the "best-effort basis" flexibility applies only to the grid geometry, not to the range). - * All {@code range} values shall be between 0 inclusive and <code>{@linkplain #getSampleDimensions()}.size()</code> + * in the specified order (the "best-effort basis" flexibility applies only to the grid geometry, not to the ranges). + * All {@code ranges} values shall be between 0 inclusive and <code>{@linkplain #getSampleDimensions()}.size()</code> * exclusive, without duplicated values.</p> * * <p>While this method name suggests an immediate reading, some implementations may defer the actual reading * at a later stage.</p> * * @param domain desired grid extent and resolution, or {@code null} for reading the whole domain. - * @param range 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. - * @return the grid coverage for the specified domain and range. + * @param ranges 0-based indices of sample dimensions to read, or {@code null} or an empty sequence for reading them all. + * @return the grid coverage for the specified domain and ranges. * @throws DisjointExtentException if the given domain does not intersect the resource extent. - * @throws IllegalArgumentException if the given domain or range is invalid for another reason. + * @throws IllegalArgumentException if the given domain or ranges are invalid for another reason. * @throws DataStoreException if an error occurred while reading the grid coverage data. */ - GridCoverage read(GridGeometry domain, int... range) throws DataStoreException; + GridCoverage read(GridGeometry domain, int... ranges) throws DataStoreException; /** * Returns an indication about when the "physical" loading of raster data will happen. diff --git a/storage/sis-storage/src/test/java/org/apache/sis/storage/GridResourceMock.java b/storage/sis-storage/src/test/java/org/apache/sis/storage/GridResourceMock.java index 08cc9f6573..d4fd7e8217 100644 --- a/storage/sis-storage/src/test/java/org/apache/sis/storage/GridResourceMock.java +++ b/storage/sis-storage/src/test/java/org/apache/sis/storage/GridResourceMock.java @@ -83,12 +83,12 @@ final strictfp class GridResourceMock extends AbstractGridCoverageResource { * The image will always be a {@link BufferedImage} with pixel coordinates starting at (0,0). * * @param domain desired grid extent and resolution, or {@code null} for the whole domain. - * @param range must be null, empty or a singleton containing only value 0. + * @param ranges must be null, empty or a singleton containing only value 0. * @return the grid coverage for the specified domain. */ @Override - public GridCoverage read(GridGeometry domain, final int... range) { - assertTrue(range == null || range.length == 0 || (range.length == 1 && range[0] == 0)); + public GridCoverage read(GridGeometry domain, final int... ranges) { + assertTrue(ranges == null || ranges.length == 0 || (ranges.length == 1 && ranges[0] == 0)); if (domain == null) { domain = gridGeometry; } else {
