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 261492c18dcc1ff3f7bb665bd01c8f72b818aed4 Author: Martin Desruisseaux <[email protected]> AuthorDate: Fri Apr 3 17:29:25 2026 +0200 Add a convenience `MemoryGridCoverageResource` constructor taking only a `GridCoverage` argument. --- .../org/apache/sis/portrayal/CanvasFollower.java | 1 + .../sis/storage/MemoryGridCoverageResource.java | 20 +++++++++++++++++--- .../org/apache/sis/storage/CoverageSubsetTest.java | 2 +- .../sis/storage/MemoryGridCoverageResourceTest.java | 2 +- .../aggregate/BandAggregateGridResourceTest.java | 2 +- .../sis/storage/aggregate/OpaqueGridResource.java | 2 +- .../storage/coveragejson/CoverageJsonStoreTest.java | 2 +- 7 files changed, 23 insertions(+), 8 deletions(-) diff --git a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java index 605e69f8d7..a624916180 100644 --- a/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java +++ b/endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/portrayal/CanvasFollower.java @@ -303,6 +303,7 @@ public class CanvasFollower implements PropertyChangeListener, Disposable { * the generic code. But the two `if … else` branches below compute the same thing * (ignoring rounding errors). */ + @SuppressWarnings("LocalVariableHidesMemberVariable") final MathTransform objectiveTransform = this.objectiveTransform; if (objectiveTransform == null || objectiveTransform instanceof AffineTransform) { AffineTransform tr = source.objectiveToDisplay.createInverse(); diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/MemoryGridCoverageResource.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/MemoryGridCoverageResource.java index 1dfbb95d29..be27c22bd4 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/MemoryGridCoverageResource.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/MemoryGridCoverageResource.java @@ -45,7 +45,8 @@ import org.apache.sis.coverage.grid.PixelInCell; * @author Johann Sorel (Geomatys) * @author Martin Desruisseaux (Geomatys) * - * @since 1.6 + * @version 1.7 + * @since 1.6 */ public class MemoryGridCoverageResource extends AbstractGridCoverageResource { /** @@ -79,12 +80,25 @@ public class MemoryGridCoverageResource extends AbstractGridCoverageResource { private boolean deferredRendering; /** - * Creates a new coverage stored in memory. + * Creates a new resource with no parent and no identifier. + * + * @param coverage the coverage to wrap in a in-memory resource. + * @throws NullPointerException if {@code coverage} is null. + * + * @since 1.7 + */ + public MemoryGridCoverageResource(final GridCoverage coverage) { + this(null, null, coverage, null); + } + + /** + * Creates a new resource stored in memory. * * @param parent the parent resource, or {@code null} if none. * @param identifier resource identifier, or {@code null} if none. - * @param coverage stored coverage retained as-is (not copied). Cannot be null. + * @param coverage the coverage to wrap in a in-memory resource. * @param processor the grid coverage processor for selecting bands, or {@code null} for default. + * @throws NullPointerException if {@code coverage} is null. */ public MemoryGridCoverageResource(final Resource parent, final GenericName identifier, final GridCoverage coverage, final GridCoverageProcessor processor) diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/CoverageSubsetTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/CoverageSubsetTest.java index f9ce039f01..20f8c80d7b 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/CoverageSubsetTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/CoverageSubsetTest.java @@ -70,7 +70,7 @@ public final class CoverageSubsetTest extends TestCase { final var domain = new GridGeometry(extent, region, GridOrientation.HOMOTHETY); final var band = new SampleDimension.Builder().addQuantitative("101-based row-major order pixel number", 101, 105, 1, 0, Units.UNITY).build(); final var buffer = new DataBufferInt(values(), WIDTH * HEIGHT); - return new MemoryGridCoverageResource(null, null, new BufferedGridCoverage(domain, List.of(band), buffer), null); + return new MemoryGridCoverageResource(new BufferedGridCoverage(domain, List.of(band), buffer)); } /** diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/MemoryGridCoverageResourceTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/MemoryGridCoverageResourceTest.java index e80ff9878d..9878f39d71 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/MemoryGridCoverageResourceTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/MemoryGridCoverageResourceTest.java @@ -68,7 +68,7 @@ public final class MemoryGridCoverageResourceTest extends TestCase { gridToCRS = new AffineTransform2D(2, 0, 0, 3, 0, 0); final var grid = new GridGeometry(new GridExtent(WIDTH, HEIGHT), PixelInCell.CELL_CENTER, gridToCRS, crs); final var image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_BYTE_BINARY); - resource = new MemoryGridCoverageResource(null, null, new GridCoverage2D(grid, null, image), null); + resource = new MemoryGridCoverageResource(new GridCoverage2D(grid, null, image)); } /** diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/BandAggregateGridResourceTest.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/BandAggregateGridResourceTest.java index 8dab11aee0..b2afce357d 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/BandAggregateGridResourceTest.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/BandAggregateGridResourceTest.java @@ -201,7 +201,7 @@ public final class BandAggregateGridResourceTest extends TestCase { System.arraycopy(bandValues, 0, data, i, numBands); } final var values = new DataBufferInt(data, data.length); - final var r = new MemoryGridCoverageResource(null, null, new BufferedGridCoverage(domain, samples, values), null); + final var r = new MemoryGridCoverageResource(new BufferedGridCoverage(domain, samples, values)); return opaque ? new OpaqueGridResource(r) : r; } diff --git a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/OpaqueGridResource.java b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/OpaqueGridResource.java index 61328dc63f..205d2ca8aa 100644 --- a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/OpaqueGridResource.java +++ b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/aggregate/OpaqueGridResource.java @@ -38,7 +38,7 @@ final class OpaqueGridResource extends GridResourceWrapper { * Creates a new wrapper for the given coverage. */ OpaqueGridResource(final GridCoverage source) { - this.source = new MemoryGridCoverageResource(null, null, source, null); + this.source = new MemoryGridCoverageResource(source); } /** diff --git a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/CoverageJsonStoreTest.java b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/CoverageJsonStoreTest.java index 8a358d4462..649bd8cbad 100644 --- a/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/CoverageJsonStoreTest.java +++ b/incubator/src/org.apache.sis.storage.coveragejson/test/org/apache/sis/storage/coveragejson/CoverageJsonStoreTest.java @@ -132,7 +132,7 @@ public class CoverageJsonStoreTest { gcb.setValues(image); final GridCoverage coverage = gcb.build(); - final GridCoverageResource gcr = new MemoryGridCoverageResource(null, null, coverage, null); + final GridCoverageResource gcr = new MemoryGridCoverageResource(coverage); aggregate.add(gcr);
