This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sis.git


The following commit(s) were added to refs/heads/main by this push:
     new d581822c74 Make `DynamicReferenceFrame` non-public because it is not 
yet a committed API.
d581822c74 is described below

commit d581822c74cc63aba90406840f98abcfa0cf705e
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Sat Aug 9 13:55:28 2025 +0200

    Make `DynamicReferenceFrame` non-public because it is not yet a committed 
API.
---
 .../main/org/apache/sis/referencing/CRS.java       | 25 ++++++++++++++++------
 .../sis/referencing/datum/AbstractDatum.java       |  1 -
 .../referencing/datum/DefaultGeodeticDatum.java    |  1 -
 .../referencing/datum/DefaultVerticalDatum.java    |  1 -
 .../datum}/DynamicReferenceFrame.java              |  4 ++--
 5 files changed, 21 insertions(+), 11 deletions(-)

diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
index 3e05ff401b..c438930a46 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java
@@ -97,8 +97,9 @@ import org.apache.sis.util.logging.Logging;
 import org.opengis.referencing.crs.GeneralDerivedCRS;
 
 // Specific to the main branch:
-import org.apache.sis.pending.geoapi.referencing.DynamicReferenceFrame;
 import org.apache.sis.coordinate.DefaultCoordinateMetadata;
+import org.apache.sis.referencing.datum.DefaultGeodeticDatum;
+import org.apache.sis.referencing.datum.DefaultVerticalDatum;
 import static 
org.apache.sis.pending.geoapi.referencing.MissingMethods.getDatumEnsemble;
 
 
@@ -909,6 +910,20 @@ public final class CRS extends Static {
         return envelope;
     }
 
+    /**
+     * Returns the frame reference epoch of the given datum,
+     * or {@code null} if the datum is not dynamic.
+     */
+    private static Temporal getFrameReferenceEpoch(final Datum datum) {
+        if (datum instanceof DefaultGeodeticDatum.Dynamic) {
+            return ((DefaultGeodeticDatum.Dynamic) 
datum).getFrameReferenceEpoch();
+        }
+        if (datum instanceof DefaultVerticalDatum.Dynamic) {
+            return ((DefaultVerticalDatum.Dynamic) 
datum).getFrameReferenceEpoch();
+        }
+        return null;
+    }
+
     /**
      * Returns the epoch to which the coordinates of stations defining the 
dynamic CRS are referenced.
      * If the CRS is associated to a dynamic datum, then the epoch
@@ -925,14 +940,12 @@ public final class CRS extends Static {
         Temporal epoch = null;
         if (crs instanceof SingleCRS) {
             final Datum datum = ((SingleCRS) crs).getDatum();
-            if (datum instanceof DynamicReferenceFrame) {
-                epoch = ((DynamicReferenceFrame) 
datum).getFrameReferenceEpoch();
-            }
+            epoch = getFrameReferenceEpoch(datum);
         } else if (crs instanceof CompoundCRS) {
             for (SingleCRS component : getSingleComponents(crs)) {
                 final Datum datum = component.getDatum();
-                if (datum instanceof DynamicReferenceFrame) {
-                    final Temporal t = ((DynamicReferenceFrame) 
datum).getFrameReferenceEpoch();
+                {   // For keeping the same indentation than on the 
`geoapi-3.1` branch.
+                    final Temporal t = getFrameReferenceEpoch(datum);
                     if (t != null) {
                         if (epoch == null) epoch = t;
                         else if (!epoch.equals(t)) {
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/AbstractDatum.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/AbstractDatum.java
index 864983ab28..d641cfb86c 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/AbstractDatum.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/AbstractDatum.java
@@ -50,7 +50,6 @@ import static 
org.apache.sis.util.collection.Containers.property;
 import org.opengis.referencing.ReferenceIdentifier;
 import org.opengis.metadata.extent.Extent;
 import org.apache.sis.referencing.internal.Legacy;
-import org.apache.sis.pending.geoapi.referencing.DynamicReferenceFrame;
 
 
 /**
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
index 23b9754dbe..50c0e25070 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
@@ -54,7 +54,6 @@ import static 
org.apache.sis.referencing.privy.WKTUtilities.toFormattable;
 
 // Specific to the main branch:
 import org.opengis.referencing.ReferenceIdentifier;
-import org.apache.sis.pending.geoapi.referencing.DynamicReferenceFrame;
 
 
 /**
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
index 5318757721..2cb7303a74 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
@@ -38,7 +38,6 @@ import org.opengis.referencing.datum.VerticalDatumType;
 
 // Specific to the main branch:
 import org.opengis.referencing.ReferenceIdentifier;
-import org.apache.sis.pending.geoapi.referencing.DynamicReferenceFrame;
 
 
 /**
diff --git 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/pending/geoapi/referencing/DynamicReferenceFrame.java
 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DynamicReferenceFrame.java
similarity index 92%
rename from 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/pending/geoapi/referencing/DynamicReferenceFrame.java
rename to 
endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DynamicReferenceFrame.java
index e22df3a479..3bf3e907f7 100644
--- 
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/pending/geoapi/referencing/DynamicReferenceFrame.java
+++ 
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DynamicReferenceFrame.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sis.pending.geoapi.referencing;
+package org.apache.sis.referencing.datum;
 
 import java.time.temporal.Temporal;
 import org.opengis.referencing.datum.Datum;
@@ -26,7 +26,7 @@ import static org.opengis.annotation.Specification.*;
 /**
  * Placeholder for an interface that may be added in GeoAPI 3.1.
  */
-public interface DynamicReferenceFrame extends Datum {
+interface DynamicReferenceFrame extends Datum {
     /**
      * {@return the epoch to which the coordinates of stations defining the 
dynamic datum are referenced}.
      */

Reply via email to