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