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 4f4d58d53bcf48013cf0937be0f30deb6b1736cb
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Mon Aug 8 13:12:57 2022 +0200

    Relax access to constructors.
    There is sometime good reasons for a caller to create an e.g. "Ellipsoid to 
geocentric" transform without the normalization/denormalization matrices (i.e. 
witn inputs in radians).
---
 .../sis/internal/referencing/provider/AbstractProvider.java | 10 +++++-----
 .../operation/transform/EllipsoidToCentricTransform.java    |  7 +++----
 .../operation/transform/MolodenskyTransform.java            | 13 ++++++-------
 3 files changed, 14 insertions(+), 16 deletions(-)

diff --git 
a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
 
b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
index 04e7add83c..125ba59d80 100644
--- 
a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
+++ 
b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AbstractProvider.java
@@ -48,7 +48,7 @@ import static java.util.logging.Logger.getLogger;
  * Base class for all providers defined in this package.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 1.1
+ * @version 1.3
  * @since   0.6
  * @module
  */
@@ -67,10 +67,10 @@ public abstract class AbstractProvider extends 
DefaultOperationMethod implements
      * @param targetDimension  number of dimensions in the target CRS of this 
operation method.
      * @param parameters       the set of parameters (never {@code null}).
      */
-    AbstractProvider(final Map<String,?> properties,
-                     final int sourceDimension,
-                     final int targetDimension,
-                     final ParameterDescriptorGroup parameters)
+    protected AbstractProvider(final Map<String,?> properties,
+                               final int sourceDimension,
+                               final int targetDimension,
+                               final ParameterDescriptorGroup parameters)
     {
         super(properties, sourceDimension, targetDimension, parameters);
     }
diff --git 
a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
 
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
index 81b3bbe8ba..ce4215e9d7 100644
--- 
a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
+++ 
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
@@ -90,14 +90,13 @@ import static 
org.apache.sis.internal.referencing.provider.GeocentricAffineBetwe
  * The units of measurements depend on how the {@code MathTransform} has been 
created:
  * <ul>
  *   <li>{@code EllipsoidToCentricTransform} instances created directly by the 
constructor expect (λ,φ) values
- *       in radians and compute (X,Y,Z) values in units of an ellipsoid having 
a semi-major axis length of 1.
- *       That constructor is reserved for subclasses only.</li>
+ *       in radians and compute (X,Y,Z) values in units of an ellipsoid having 
a semi-major axis length of 1.</li>
  *   <li>Transforms created by the {@link #createGeodeticConversion 
createGeodeticConversion(…)} static method expect
  *       (λ,φ) values in degrees and compute (X,Y,Z) values in units of the 
ellipsoid axes (usually metres).</li>
  * </ul>
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 0.7
+ * @version 1.3
  * @since   0.7
  * @module
  */
@@ -265,7 +264,7 @@ public class EllipsoidToCentricTransform extends 
AbstractMathTransform implement
      *
      * @see #createGeodeticConversion(MathTransformFactory, double, double, 
Unit, boolean, TargetType)
      */
-    protected EllipsoidToCentricTransform(final double semiMajor, final double 
semiMinor,
+    public EllipsoidToCentricTransform(final double semiMajor, final double 
semiMinor,
             final Unit<Length> unit, final boolean withHeight, final 
TargetType target)
     {
         ArgumentChecks.ensureStrictlyPositive("semiMajor", semiMajor);
diff --git 
a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
 
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
index e8992a2e0b..5a8cd86d95 100644
--- 
a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
+++ 
b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
@@ -62,8 +62,7 @@ import static java.lang.Math.*;
  *
  * The units of measurements depend on how the {@code MathTransform} has been 
created:
  * <ul>
- *   <li>{@code MolodenskyTransform} instances created directly by the 
constructor work with angular values in radians.
- *       That constructor is reserved for subclasses only.</li>
+ *   <li>{@code MolodenskyTransform} instances created directly by the 
constructor work with angular values in radians.</li>
  *   <li>Transforms created by the {@link #createGeodeticTransformation 
createGeodeticTransformation(…)} static method
  *       work with angular values in degrees and heights in the same units 
than the <strong>source</strong> ellipsoid
  *       axes (usually metres).</li>
@@ -82,7 +81,7 @@ import static java.lang.Math.*;
  * @author  Rueben Schulz (UBC)
  * @author  Martin Desruisseaux (IRD, Geomatys)
  * @author  Rémi Maréchal (Geomatys)
- * @version 0.8
+ * @version 1.3
  * @since   0.7
  * @module
  */
@@ -145,10 +144,10 @@ public class MolodenskyTransform extends 
MolodenskyFormula {
      *
      * @see #createGeodeticTransformation(MathTransformFactory, Ellipsoid, 
boolean, Ellipsoid, boolean, double, double, double, boolean)
      */
-    protected MolodenskyTransform(final Ellipsoid source, final boolean 
isSource3D,
-                                  final Ellipsoid target, final boolean 
isTarget3D,
-                                  final double tX, final double tY, final 
double tZ,
-                                  final boolean isAbridged)
+    public MolodenskyTransform(final Ellipsoid source, final boolean 
isSource3D,
+                               final Ellipsoid target, final boolean 
isTarget3D,
+                               final double tX, final double tY, final double 
tZ,
+                               final boolean isAbridged)
     {
         super(source, isSource3D, target, isTarget3D, tX, tY, tZ, null, 
isAbridged,
                 isAbridged ? AbridgedMolodensky.PARAMETERS : 
Molodensky.PARAMETERS);

Reply via email to