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