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 cb2d2c0bcba90f5bc2ebbaffb912295d220ef330
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Wed Jul 30 18:38:03 2025 +0200

    Keep only one constructor for the `MemoryGridResource` internal class.
    Since this is an internal class, we can change later if not convenient.
    Having only one constructor make easier to see in the source codes that
    use this class that an information is not provided.
---
 .../aggregate/BandAggregateGridResource.java       |  2 +-
 .../aggregate/ConcatenatedGridResource.java        |  2 +-
 .../sis/storage/aggregate/CoverageAggregator.java  |  2 +-
 .../sis/storage/base/MemoryGridResource.java       | 35 +++++++++-------------
 .../storage/image/WritableSingleImageStore.java    |  2 +-
 .../org/apache/sis/storage/CoverageSubsetTest.java |  2 +-
 .../aggregate/BandAggregateGridResourceTest.java   |  2 +-
 .../sis/storage/aggregate/OpaqueGridResource.java  |  2 +-
 .../sis/storage/base/MemoryGridResourceTest.java   |  2 +-
 .../coveragejson/CoverageJsonStoreTest.java        |  2 +-
 10 files changed, 23 insertions(+), 30 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/BandAggregateGridResource.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/BandAggregateGridResource.java
index df983ea9d7..95e4474bd9 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/BandAggregateGridResource.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/BandAggregateGridResource.java
@@ -190,7 +190,7 @@ final class BandAggregateGridResource extends 
AggregatedResource implements Grid
         if (count != 0) {
             coverages     = ArraysExt.resize(coverages,     count);
             coverageBands = ArraysExt.resize(coverageBands, count);
-            var aggregate = new MemoryGridResource(parentListeners, 
processor.aggregateRanges(coverages, coverageBands), processor);
+            var aggregate = new MemoryGridResource(parentListeners, null, 
processor.aggregateRanges(coverages, coverageBands), processor);
             for (int i=0; i<sources.length; i++) {
                 if (sources[i] == null) {
                     sources[i] = aggregate;
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedGridResource.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedGridResource.java
index e6f3c18f8a..106d3a0fd6 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedGridResource.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/ConcatenatedGridResource.java
@@ -481,7 +481,7 @@ final class ConcatenatedGridResource extends 
AggregatedResource implements GridC
                 if (coverage != null) {
                     GridGeometry geometry = coverage.getGridGeometry();
                     GridExtent inGroup = domain.extentOf(geometry, 
GridSlice.CELL_ANCHOR, GridRoundingMode.NEAREST);
-                    var resource = new MemoryGridResource(listeners, coverage, 
processor);
+                    var resource = new MemoryGridResource(listeners, null, 
coverage, processor);
                     selected[i] = selected[i].resolve(resource, 
geometry.getExtent(), inGroup);
                 }
             }
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/CoverageAggregator.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/CoverageAggregator.java
index d55ac9dd53..35f0b36fdd 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/CoverageAggregator.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/aggregate/CoverageAggregator.java
@@ -197,7 +197,7 @@ public final class CoverageAggregator extends 
Group<GroupBySample> {
      */
     public void add(final GridCoverage coverage) {
         try {
-            add(new MemoryGridResource(listeners, coverage, processor));
+            add(new MemoryGridResource(listeners, null, coverage, processor));
         } catch (DataStoreException e) {
             /*
              * `DataStoreException` are never thrown by `MemoryGridResource`.
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
index 6623c5a1b8..9f768646d5 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
@@ -19,8 +19,9 @@ package org.apache.sis.storage.base;
 import java.util.List;
 import java.util.Arrays;
 import java.util.Objects;
-import java.awt.image.RenderedImage;
 import java.util.Optional;
+import java.awt.image.RenderedImage;
+import org.opengis.util.GenericName;
 import org.apache.sis.coverage.SampleDimension;
 import org.apache.sis.coverage.grid.GridCoverage;
 import org.apache.sis.coverage.grid.GridCoverageBuilder;
@@ -30,9 +31,7 @@ import org.apache.sis.coverage.grid.GridGeometry;
 import org.apache.sis.coverage.grid.GridRoundingMode;
 import org.apache.sis.coverage.grid.PixelInCell;
 import org.apache.sis.storage.AbstractGridCoverageResource;
-import org.apache.sis.storage.DataStoreException;
 import org.apache.sis.storage.event.StoreListeners;
-import org.opengis.util.GenericName;
 
 
 /**
@@ -60,17 +59,6 @@ public final class MemoryGridResource extends 
AbstractGridCoverageResource {
      */
     private final GenericName identifer;
 
-    /**
-     * Creates a new coverage stored in memory.
-     *
-     * @param  parent     listeners of the parent resource, or {@code null} if 
none.
-     * @param  coverage   stored coverage retained as-is (not copied). Cannot 
be null.
-     * @param  processor  the grid coverage processor for selecting bands, or 
{@code null} for default.
-     */
-    public MemoryGridResource(final StoreListeners parent, final GridCoverage 
coverage, final GridCoverageProcessor processor) {
-        this(parent, null, coverage, processor);
-    }
-
     /**
      * Creates a new coverage stored in memory.
      *
@@ -79,15 +67,20 @@ public final class MemoryGridResource extends 
AbstractGridCoverageResource {
      * @param  coverage   stored coverage retained as-is (not copied). Cannot 
be null.
      * @param  processor  the grid coverage processor for selecting bands, or 
{@code null} for default.
      */
-    public MemoryGridResource(final StoreListeners parent, GenericName 
identifier, final GridCoverage coverage, final GridCoverageProcessor processor) 
{
+    public MemoryGridResource(final StoreListeners parent, final GenericName 
identifier,
+                              final GridCoverage coverage, final 
GridCoverageProcessor processor)
+    {
         super(parent, false);
         this.identifer = identifier;
         this.coverage  = Objects.requireNonNull(coverage);
         this.processor = (processor != null) ? processor : new 
GridCoverageProcessor();
     }
 
+    /**
+     * Returns the resource identifier specified at construction time, if any.
+     */
     @Override
-    public Optional<GenericName> getIdentifier() throws DataStoreException {
+    public Optional<GenericName> getIdentifier() {
         return Optional.ofNullable(identifer);
     }
 
@@ -221,8 +214,8 @@ public final class MemoryGridResource extends 
AbstractGridCoverageResource {
     public boolean equals(final Object obj) {
         if (obj instanceof MemoryGridResource) {
             final var other = (MemoryGridResource) obj;
-            return coverage.equals(other.coverage)   &&
-                   Objects.equals(identifer, other.identifer) &&
+            return Objects.equals(identifer, other.identifer) &&
+                   coverage.equals(other.coverage)   &&
                    processor.equals(other.processor) &&
                    listeners.equals(other.listeners);
         }
@@ -237,9 +230,9 @@ public final class MemoryGridResource extends 
AbstractGridCoverageResource {
     @Override
     public int hashCode() {
         return coverage.hashCode()
-                + 17*Objects.hashCode(identifer)
-                + 31*processor.hashCode()
-                + 37*listeners.hashCode();
+                + 17 * Objects.hashCode(identifer)
+                + 31 * processor.hashCode()
+                + 37 * listeners.hashCode();
     }
 
     /**
diff --git 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableSingleImageStore.java
 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableSingleImageStore.java
index b2f4102dad..3c00dfd441 100644
--- 
a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableSingleImageStore.java
+++ 
b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableSingleImageStore.java
@@ -168,7 +168,7 @@ final class WritableSingleImageStore extends WritableStore 
implements WritableGr
     public void write(final GridCoverage coverage, final Option... options) 
throws DataStoreException {
         try {
             if (isMultiImages() == 0) {
-                add(new MemoryGridResource(listeners, coverage, null));
+                add(new MemoryGridResource(listeners, null, coverage, null));
             } else {
                 delegate().write(coverage, options);
             }
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 63432ba6e7..8c3fa3e71b 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 MemoryGridResource(null, new BufferedGridCoverage(domain, 
List.of(band), buffer), null);
+        return new MemoryGridResource(null, null, new 
BufferedGridCoverage(domain, List.of(band), buffer), null);
     }
 
     /**
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 d50ec713fb..adc7968511 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
@@ -200,7 +200,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 MemoryGridResource(null, new 
BufferedGridCoverage(domain, samples, values), null);
+        final var r = new MemoryGridResource(null, null, new 
BufferedGridCoverage(domain, samples, values), null);
         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 724e791f97..671b6b3e83 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 MemoryGridResource(null, source, null);
+        this.source = new MemoryGridResource(null, null, source, null);
     }
 
     /**
diff --git 
a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/MemoryGridResourceTest.java
 
b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/MemoryGridResourceTest.java
index 37d4c2e187..62f0140ec3 100644
--- 
a/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/MemoryGridResourceTest.java
+++ 
b/endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/MemoryGridResourceTest.java
@@ -67,7 +67,7 @@ public final class MemoryGridResourceTest extends TestCase {
         gridToCRS = new AffineTransform2D(2, 0, 0, 3, 0, 0);
         final GridGeometry grid = new GridGeometry(new GridExtent(WIDTH, 
HEIGHT), PixelInCell.CELL_CENTER, gridToCRS, crs);
         final BufferedImage image = new BufferedImage(WIDTH, HEIGHT, 
BufferedImage.TYPE_BYTE_BINARY);
-        resource = new MemoryGridResource(null, new GridCoverage2D(grid, null, 
image), null);
+        resource = new MemoryGridResource(null, null, new GridCoverage2D(grid, 
null, image), null);
     }
 
     /**
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 ab3a7ffea8..eda64970b1 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 MemoryGridResource(null, 
coverage, null);
+            final GridCoverageResource gcr = new MemoryGridResource(null, 
null, coverage, null);
 
             aggregate.add(gcr);
 

Reply via email to