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 <[email protected]>
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);
         }

Reply via email to