You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by am...@apache.org on 2022/11/28 13:47:57 UTC

[sis] 02/03: chore(Storage): add a GridCoverageProcessor attribute in resource processor

This is an automated email from the ASF dual-hosted git repository.

amanin pushed a commit to branch feat/resource-processor
in repository https://gitbox.apache.org/repos/asf/sis.git

commit aff9e65127dbefdd1879db82c5325373bf8b67d5
Author: Alexis Manin <al...@geomatys.com>
AuthorDate: Mon Nov 28 11:02:00 2022 +0100

    chore(Storage): add a GridCoverageProcessor attribute in resource processor
    
    This aims to prepare the resource processor for future methods like resampling, which will require a coverage processor.
---
 .../java/org/apache/sis/storage/ResourceProcessor.java  | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/ResourceProcessor.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/ResourceProcessor.java
index 270b035a0b..250e4de68a 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/ResourceProcessor.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/ResourceProcessor.java
@@ -20,6 +20,7 @@ import java.awt.image.ColorModel;
 import java.awt.image.RenderedImage;
 import java.util.function.Function;
 import org.apache.sis.coverage.SampleDimension;
+import org.apache.sis.coverage.grid.GridCoverage;
 import org.apache.sis.coverage.grid.GridCoverageProcessor;
 import org.apache.sis.image.DataType;
 import org.apache.sis.image.ImageProcessor;
@@ -37,11 +38,25 @@ import org.opengis.referencing.operation.MathTransform1D;
  */
 public class ResourceProcessor implements Cloneable {
 
+    private final GridCoverageProcessor processor;
+
     /**
      * Creates a new processor with default configuration.
      */
-    public ResourceProcessor(){
+    public ResourceProcessor() { this(null); }
+
+    public ResourceProcessor(GridCoverageProcessor processor) {
+        this.processor = processor == null ? new GridCoverageProcessor() : processor;
+    }
+
+    /**
+     * @return The processor used internally to transform produced {@link GridCoverage grid coverages}. Not null.
+     */
+    public GridCoverageProcessor getProcessor() { return processor; }
 
+    @Override
+    public ResourceProcessor clone() {
+        return new ResourceProcessor(processor.clone());
     }
 
     /**