This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git
commit ea550df01ab4c54f6d7a8068165003bb8edb8ad5 Merge: b0a78e75af 362154b28d Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Thu May 9 12:59:09 2024 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1: removal of some `org.opengis.temporal` interfaces. .../main/org/apache/sis/filter/TemporalFilter.java | 94 ++-------- .../test/org/apache/sis/filter/PeriodLiteral.java | 27 +-- .../org.apache.sis.metadata/main/module-info.java | 1 - .../DefaultDigitalTransferOptions.java | 17 +- .../metadata/iso/distribution/package-info.java | 2 +- .../sis/metadata/iso/extent/DefaultExtent.java | 2 - .../metadata/iso/extent/DefaultTemporalExtent.java | 31 ++-- .../apache/sis/metadata/iso/extent/Extents.java | 4 - .../iso/identification/AbstractIdentification.java | 25 +-- .../metadata/iso/identification/package-info.java | 2 +- .../metadata/iso/lineage/DefaultProcessStep.java | 5 +- .../maintenance/DefaultMaintenanceInformation.java | 14 +- .../sis/metadata/iso/maintenance/package-info.java | 6 +- .../sis/metadata/privy/TemporalUtilities.java | 144 --------------- .../apache/sis/metadata/simple/SimpleDuration.java | 76 -------- .../apache/sis/pending/temporal/DefaultPeriod.java | 9 +- .../org/apache/sis/pending/temporal/Primitive.java | 17 +- .../sis/pending/temporal/TemporalUtilities.java | 103 +++++++++++ .../apache/sis/pending/temporal/package-info.java | 6 +- .../org/apache/sis/xml/bind/gml/TM_Primitive.java | 9 +- .../org/apache/sis/xml/bind/gml/TimeInstant.java | 21 +-- .../apache/sis/xml/bind/gml/TimePeriodBound.java | 2 +- .../org/apache/sis/xml/bind/gts/TM_Duration.java | 127 ++++++++++--- .../apache/sis/xml/bind/gts/TM_PeriodDuration.java | 203 --------------------- .../apache/sis/metadata/PropertyAccessorTest.java | 4 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java | 26 +-- .../referencing/operation/projection/Robinson.java | 20 +- .../sis/storage/geotiff/reader/XMLMetadata.java | 3 +- .../apache/sis/storage/netcdf/base/CRSBuilder.java | 4 +- .../apache/sis/storage/base/MetadataBuilder.java | 26 ++- .../src/org.apache.sis.util/main/module-info.java | 3 - .../sis/pending/temporal/DefaultInstant.java | 65 ------- .../pending/temporal/DefaultPeriodDuration.java | 87 --------- .../pending/temporal/DefaultTemporalFactory.java | 155 ---------------- geoapi/snapshot | 2 +- 35 files changed, 373 insertions(+), 969 deletions(-) diff --cc endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java index 74f99cbe45,e9738893d7..2df1ede402 --- a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java +++ b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java @@@ -23,6 -23,6 +23,8 @@@ import java.io.Serializable import org.apache.sis.test.TestUtilities; // Specific to the geoapi-3.1 and geoapi-4.0 branches: ++import java.time.Instant; ++import java.time.temporal.TemporalAmount; import org.opengis.feature.Feature; import org.opengis.filter.Expression; import org.opengis.filter.Literal; @@@ -62,29 -62,14 +62,14 @@@ final class PeriodLiteral implements Pe @Override public Period getValue() {return this;} /** Returns a bound of this period. */ - @Override public org.opengis.temporal.Instant getBeginning() {return instant(begin);} - @Override public org.opengis.temporal.Instant getEnding() {return instant(end);} - - /** Wraps the value that defines a period. */ - private static org.opengis.temporal.Instant instant(final long t) { - return new org.opengis.temporal.Instant() { - @Override public Date getDate() {return new Date(t);} - @Override public String toString() {return "Instant[" + TestUtilities.format(getDate()) + '[';} - - /** Not needed for the tests. */ - @Override public ReferenceIdentifier getName() {throw new UnsupportedOperationException();} - @Override public TemporalPosition getTemporalPosition() {throw new UnsupportedOperationException();} - @Override public RelativePosition relativePosition(TemporalPrimitive o) {throw new UnsupportedOperationException();} - @Override public Duration distance(TemporalGeometricPrimitive o) {throw new UnsupportedOperationException();} - @Override public Duration length() {throw new UnsupportedOperationException();} - }; - } + @Override public Instant getBeginning() {return Instant.ofEpochMilli(begin);} + @Override public Instant getEnding() {return Instant.ofEpochMilli(end);} /** Not needed for the tests. */ - @Override public Identifier getName() {throw new UnsupportedOperationException();} + @Override public ReferenceIdentifier getName() {throw new UnsupportedOperationException();} @Override public RelativePosition relativePosition(TemporalPrimitive o) {throw new UnsupportedOperationException();} - @Override public Duration distance(TemporalGeometricPrimitive o) {throw new UnsupportedOperationException();} - @Override public Duration length() {throw new UnsupportedOperationException();} + @Override public TemporalAmount distance(TemporalGeometricPrimitive o) {throw new UnsupportedOperationException();} + @Override public TemporalAmount length() {throw new UnsupportedOperationException();} @Override public <N> Expression<Feature,N> toValueType(Class<N> target) {throw new UnsupportedOperationException();} /** diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/AbstractIdentification.java index 38c04ba18a,e3132e1663..a495ddccf2 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/AbstractIdentification.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/AbstractIdentification.java @@@ -48,13 -48,13 +48,13 @@@ import org.apache.sis.xml.bind.metadata import org.apache.sis.xml.privy.LegacyNamespaces; import org.apache.sis.util.iso.Types; +// Specific to the main and geoapi-3.1 branches: +import org.opengis.metadata.citation.ResponsibleParty; + // Specific to the geoapi-3.1 and geoapi-4.0 branches: + import java.time.temporal.TemporalAmount; import org.opengis.metadata.identification.AssociatedResource; - import org.opengis.temporal.Duration; -// Specific to the geoapi-4.0 branch: -import org.opengis.metadata.citation.Responsibility; - /** * Basic information required to uniquely identify a resource or resources. @@@ -283,12 -284,12 +284,12 @@@ public class AbstractIdentification ext citation = object.getCitation(); abstracts = object.getAbstract(); purpose = object.getPurpose(); - credits = copyCollection(object.getCredits(), InternationalString.class); + credits = copyCollection(object.getCredits(), String.class); status = copyCollection(object.getStatus(), Progress.class); - pointOfContacts = copyCollection(object.getPointOfContacts(), Responsibility.class); + pointOfContacts = copyCollection(object.getPointOfContacts(), ResponsibleParty.class); spatialRepresentationTypes = copyCollection(object.getSpatialRepresentationTypes(), SpatialRepresentationType.class); spatialResolutions = copyCollection(object.getSpatialResolutions(), Resolution.class); - temporalResolutions = copyCollection(object.getTemporalResolutions(), Duration.class); + temporalResolutions = copyCollection(object.getTemporalResolutions(), TemporalAmount.class); topicCategories = copyCollection(object.getTopicCategories(), TopicCategory.class); extents = copyCollection(object.getExtents(), Extent.class); additionalDocumentations = copyCollection(object.getAdditionalDocumentations(), Citation.class); diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java index e37f63d6a9,861ad6a85d..8bd88d1493 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java @@@ -37,11 -37,8 +37,11 @@@ import org.apache.sis.xml.bind.FilterBy import org.apache.sis.xml.privy.LegacyNamespaces; import org.apache.sis.xml.bind.gml.TM_Primitive; import org.apache.sis.xml.bind.metadata.MD_Scope; - import org.apache.sis.metadata.privy.TemporalUtilities; + import org.apache.sis.pending.temporal.TemporalUtilities; +// Specific to the main and geoapi-3.1 branches: +import org.opengis.metadata.citation.ResponsibleParty; + // Specific to the geoapi-3.1 and geoapi-4.0 branches: import org.opengis.metadata.maintenance.Scope; diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java index 6a02bdfe2e,9a6ca19e82..dd275b64e4 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java @@@ -303,6 -303,6 +303,11 @@@ public class DefaultMaintenanceInformat /** * Returns the maintenance period other than those defined. * ++ * <div class="warning"><b>Upcoming API change</b><br> ++ * The return type may be changed to {@link java.time.temporal.TemporalAmount} in Apache SIS 2.0. ++ * This change depend on a corresponding change in GeoAPI interfaces. ++ * </div> ++ * * @return the maintenance period, or {@code null}. */ @Override @@@ -314,9 -314,9 +319,14 @@@ /** * Sets the maintenance period other than those defined. * ++ * <div class="warning"><b>Upcoming API change</b><br> ++ * The parameter type may be changed to {@link java.time.temporal.TemporalAmount} in Apache SIS 2.0. ++ * This change depend on a corresponding change in GeoAPI interfaces. ++ * </div> ++ * * @param newValue the new user defined maintenance frequency. */ - public void setUserDefinedMaintenanceFrequency(final TemporalAmount newValue) { + public void setUserDefinedMaintenanceFrequency(final PeriodDuration newValue) { checkWritePermission(userDefinedMaintenanceFrequency); userDefinedMaintenanceFrequency = newValue; } diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/package-info.java index 400481289a,e72b18db41..21fee06f10 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/package-info.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/package-info.java @@@ -83,11 -83,9 +83,11 @@@ @XmlJavaTypeAdapter(MD_Scope.class), @XmlJavaTypeAdapter(MD_ScopeCode.class), @XmlJavaTypeAdapter(MD_ScopeDescription.class), - @XmlJavaTypeAdapter(TM_PeriodDuration.class), + @XmlJavaTypeAdapter(TM_Duration.class), // Java types, primitive types and basic OGC types handling + @XmlJavaTypeAdapter(FeatureTypeAdapter.class), + @XmlJavaTypeAdapter(AttributeTypeAdapter.class), @XmlJavaTypeAdapter(StringAdapter.class), @XmlJavaTypeAdapter(CharSequenceAdapter.class), @XmlJavaTypeAdapter(InternationalStringAdapter.class) diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/pending/temporal/Primitive.java index 15bebacc08,d8c284e1dd..9282f598a6 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/pending/temporal/Primitive.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/pending/temporal/Primitive.java @@@ -21,8 -20,9 +20,9 @@@ import org.opengis.temporal.RelativePos import org.opengis.temporal.TemporalGeometricPrimitive; import org.opengis.temporal.TemporalPrimitive; -// Specific to the geoapi-4.0 branch: +// Specific to the geoapi-3.1 branch: + import java.time.temporal.TemporalAmount; -import org.opengis.metadata.Identifier; +import org.opengis.referencing.ReferenceIdentifier; /** @@@ -31,7 -31,7 +31,7 @@@ * * @author Martin Desruisseaux (Geomatys) */ - class Primitive implements TemporalGeometricPrimitive, ReferenceIdentifier { -abstract class Primitive implements TemporalGeometricPrimitive, Identifier { ++abstract class Primitive implements TemporalGeometricPrimitive, ReferenceIdentifier { /** * For sub-class constructors. */ diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java index be198665a2,f093384518..4425dfc907 --- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java +++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java @@@ -62,16 -62,15 +62,16 @@@ import org.apache.sis.metadata.iso.cita import static org.apache.sis.test.TestUtilities.getSingleton; import static org.apache.sis.metadata.Assertions.assertTitleEquals; +// Specific to the main and geoapi-3.1 branches: +import org.opengis.metadata.citation.ResponsibleParty; +import org.opengis.referencing.ReferenceIdentifier; + // Specific to the geoapi-3.1 and geoapi-4.0 branches: ++import java.time.temporal.TemporalAmount; import org.opengis.metadata.content.AttributeGroup; import org.opengis.referencing.ObjectDomain; import org.opengis.referencing.datum.DatumEnsemble; - import org.opengis.temporal.Duration; -// Specific to the geoapi-4.0 branch: -import java.time.temporal.TemporalAmount; -import org.opengis.metadata.citation.Responsibility; - /** * Tests the {@link PropertyAccessor} class. Every tests in this class instantiates directly a @@@ -211,12 -210,12 +211,12 @@@ public final class PropertyAccessorTes Identification.class, "getCitation", "citation", "citation", "Citation", Citation.class, Identification.class, "getAbstract", "abstract", "abstract", "Abstract", InternationalString.class, Identification.class, "getPurpose", "purpose", "purpose", "Purpose", InternationalString.class, - Identification.class, "getCredits", "credits", "credit", "Credits", InternationalString[].class, + Identification.class, "getCredits", "credits", "credit", "Credits", String[].class, Identification.class, "getStatus", "status", "status", "Status", Progress[].class, - Identification.class, "getPointOfContacts", "pointOfContacts", "pointOfContact", "Point of contacts", Responsibility[].class, + Identification.class, "getPointOfContacts", "pointOfContacts", "pointOfContact", "Point of contacts", ResponsibleParty[].class, Identification.class, "getSpatialRepresentationTypes", "spatialRepresentationTypes", "spatialRepresentationType", "Spatial representation types", SpatialRepresentationType[].class, Identification.class, "getSpatialResolutions", "spatialResolutions", "spatialResolution", "Spatial resolutions", Resolution[].class, - Identification.class, "getTemporalResolutions", "temporalResolutions", "temporalResolution", "Temporal resolutions", Duration[].class, + Identification.class, "getTemporalResolutions", "temporalResolutions", "temporalResolution", "Temporal resolutions", TemporalAmount[].class, Identification.class, "getTopicCategories", "topicCategories", "topicCategory", "Topic categories", TopicCategory[].class, Identification.class, "getExtents", "extents", "extent", "Extents", Extent[].class, Identification.class, "getAdditionalDocumentations", "additionalDocumentations", "additionalDocumentation", "Additional documentations", Citation[].class, diff --cc geoapi/snapshot index dfec1eb8ff,76470c0640..cfb43fa592 --- a/geoapi/snapshot +++ b/geoapi/snapshot @@@ -1,1 -1,1 +1,1 @@@ - Subproject commit dfec1eb8ff155019c23e359e0efce1071dab758b -Subproject commit 76470c06402aba756ce77dd98a0d36e4e2abcb14 ++Subproject commit cfb43fa59293e86ad5e1088887674013f095fcde