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);
 

Reply via email to