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}.
*/