You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2025/07/03 16:47:00 UTC

(sis) 01/02: `MissingFactoryResourceException` needs to be propagated when a NADCON file is not found. NTv2 was okay, but nevertheless apply the same pattern to other grid formats for safety.

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 4f4641255749b444a11a43c0a9ef2fad04ffef0e
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Thu Jul 3 10:28:01 2025 +0200

    `MissingFactoryResourceException` needs to be propagated when a NADCON file is not found.
    NTv2 was okay, but nevertheless apply the same pattern to other grid formats for safety.
---
 .../referencing/operation/provider/FranceGeocentricInterpolation.java   | 2 ++
 .../main/org/apache/sis/referencing/operation/provider/NADCON.java      | 2 ++
 .../main/org/apache/sis/referencing/operation/provider/NTv2.java        | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
index c59cd24152..31a06e311f 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
@@ -284,6 +284,8 @@ public final class FranceGeocentricInterpolation extends AbstractProvider {
         final LoadedGrid<Angle,Length> grid;
         try {
             grid = getOrLoad(file, isRecognized(file) ? new double[] {TX, TY, TZ} : null, PRECISION);
+        } catch (FactoryException e) {
+            throw e;
         } catch (Exception e) {
             // NumberFormatException, ArithmeticException, NoSuchElementException, and more.
             throw file.canNotLoad(FranceGeocentricInterpolation.class, HEADER, e);
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java
index 1096b7d58a..113815c31a 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java
@@ -145,6 +145,8 @@ public final class NADCON extends AbstractProvider {
             return LoadedGrid.createGeodeticTransformation(NADCON.class, context.getFactory(), grid);
         } catch (NoSuchFileException e) {
             throw new MissingFactoryResourceException(e.getMessage(), e);
+        } catch (FactoryException e) {
+            throw e;
         } catch (Exception e) {
             throw new FactoryException(e);
         }
diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java
index 5631a5316d..c085fa5bc9 100644
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java
@@ -143,6 +143,8 @@ public final class NTv2 extends AbstractProvider {
         final LoadedGrid<Angle,Angle> grid;
         try {
             grid = getOrLoad(provider, file, version);
+        } catch (FactoryException e) {
+            throw e;
         } catch (Exception e) {
             throw file.canNotLoad(provider, provider.getSimpleName(), e);
         }