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 89c8f8a4aeaf61a9d33d859f9819e5b2367644e4 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Wed May 15 11:39:23 2024 +0200 Ensure that inverse flattening factory is not less than 1. --- .../apache/sis/referencing/datum/DefaultEllipsoid.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultEllipsoid.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultEllipsoid.java index a74a5b26ea..f85e3f70b7 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultEllipsoid.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultEllipsoid.java @@ -29,6 +29,7 @@ import javax.measure.quantity.Length; import org.opengis.util.GenericName; import org.opengis.util.InternationalString; import org.opengis.referencing.datum.Ellipsoid; +import org.apache.sis.util.ArgumentChecks; import org.apache.sis.util.ComparisonMode; import org.apache.sis.util.Utilities; import org.apache.sis.util.privy.Numerics; @@ -43,8 +44,6 @@ import org.apache.sis.referencing.privy.WKTKeywords; import org.apache.sis.io.wkt.Formatter; import org.apache.sis.io.wkt.Convention; import org.apache.sis.measure.Units; -import static org.apache.sis.util.ArgumentChecks.ensureStrictlyPositive; -import static org.apache.sis.util.ArgumentChecks.ensureNonNull; // Specific to the geoapi-3.1 and geoapi-4.0 branches: import org.opengis.metadata.Identifier; @@ -210,10 +209,10 @@ public class DefaultEllipsoid extends AbstractIdentifiedObject implements Ellips final Unit<Length> unit) { super(properties); - ensureNonNull ("unit", unit); - ensureStrictlyPositive("semiMajorAxis", semiMajorAxis); - ensureStrictlyPositive("semiMinorAxis", semiMinorAxis); - ensureStrictlyPositive("inverseFlattening", inverseFlattening); + ArgumentChecks.ensureNonNull("unit", unit); + ArgumentChecks.ensureStrictlyPositive("semiMajorAxis", semiMajorAxis); + ArgumentChecks.ensureStrictlyPositive("semiMinorAxis", semiMinorAxis); + ArgumentChecks.ensureBetween("inverseFlattening", 1, Double.POSITIVE_INFINITY, inverseFlattening); this.unit = unit; this.semiMajorAxis = semiMajorAxis; this.semiMinorAxis = semiMinorAxis; @@ -755,7 +754,7 @@ public class DefaultEllipsoid extends AbstractIdentifiedObject implements Ellips private void setSemiMajorAxisMeasure(final Measure measure) { if (semiMajorAxis == 0) { final Unit<Length> uom = unit; // In case semi-minor were defined before semi-major. - ensureStrictlyPositive("semiMajorAxis", semiMajorAxis = measure.value); + ArgumentChecks.ensureStrictlyPositive("semiMajorAxis", semiMajorAxis = measure.value); unit = measure.getUnit(Length.class); harmonizeAxisUnits(uom); } else { @@ -808,9 +807,9 @@ public class DefaultEllipsoid extends AbstractIdentifiedObject implements Ellips if (value == 0) { value = Double.POSITIVE_INFINITY; } - ensureStrictlyPositive("inverseFlattening", inverseFlattening = value); + ArgumentChecks.ensureBetween("inverseFlattening", 1, Double.POSITIVE_INFINITY, inverseFlattening = value); } else { - ensureStrictlyPositive("semiMinorAxis", semiMinorAxis = value); + ArgumentChecks.ensureStrictlyPositive("semiMinorAxis", semiMinorAxis = value); harmonizeAxisUnits(measure.getUnit(Length.class)); } }