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 b86dbe8b92f1e17747cb2acf85534c629ec6454b Merge: 9ca908d78d 4ec3a9b103 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Thu Apr 4 18:20:21 2024 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1: First round of upgrade to ISO 19111:2019. https://issues.apache.org/jira/browse/SIS-592 .../org/apache/sis/metadata/PropertyAccessor.java | 7 +- .../apache/sis/metadata/PropertyComparator.java | 2 +- .../apache/sis/metadata/iso/extent/Extents.java | 1 + .../main/org/apache/sis/util/iso/Types.java | 10 +- .../apache/sis/metadata/PropertyAccessorTest.java | 6 +- .../apache/sis/test/mock/GeographicCRSMock.java} | 35 ++-- .../org/apache/sis/test/mock/VerticalCRSMock.java | 53 ++++-- .../org/apache/sis/util/iso/TypeNamesTest.java | 2 +- .../test/org/apache/sis/util/iso/TypesTest.java | 13 +- .../sis/openoffice/ReferencingFunctions.java | 4 +- .../main/module-info.java | 1 + .../sis/coordinate/AbstractCoordinateSet.java | 80 ++++++++ .../sis/coordinate/DefaultCoordinateMetadata.java | 208 +++++++++++++++++++++ .../package-info.java} | 32 +--- .../apache/sis/geometry/WraparoundAdjustment.java | 2 +- .../main/org/apache/sis/io/wkt/Convention.java | 3 +- .../main/org/apache/sis/io/wkt/Formatter.java | 26 ++- .../apache/sis/io/wkt/GeodeticObjectParser.java | 16 +- .../main/org/apache/sis/io/wkt/VerticalInfo.java | 10 +- .../main/org/apache/sis/io/wkt/WKTDictionary.java | 20 +- .../main/org/apache/sis/referencing/CRS.java | 75 ++++++-- .../main/org/apache/sis/referencing/CommonCRS.java | 4 +- .../org/apache/sis/referencing/DisplayName.java | 84 +++++++++ .../sis/referencing/EPSGFactoryFallback.java | 1 + .../apache/sis/referencing/IdentifiedObjects.java | 26 ++- .../sis/referencing/StandardDefinitions.java | 6 +- .../apache/sis/referencing/crs/AbstractCRS.java | 1 + .../sis/referencing/crs/DefaultCompoundCRS.java | 79 ++++++-- .../sis/referencing/crs/DefaultDerivedCRS.java | 36 +++- .../sis/referencing/crs/DefaultEngineeringCRS.java | 3 + .../sis/referencing/crs/DefaultGeocentricCRS.java | 4 + .../sis/referencing/crs/DefaultImageCRS.java | 4 + .../org/apache/sis/referencing/crs/SubTypes.java | 7 +- .../apache/sis/referencing/cs/DefaultTimeCS.java | 16 ++ .../sis/referencing/cs/DefaultUserDefinedCS.java | 3 + .../org/apache/sis/referencing/cs/Normalizer.java | 12 +- .../org/apache/sis/referencing/cs/SubTypes.java | 1 + .../sis/referencing/datum/AbstractDatum.java | 111 +++++++---- .../referencing/datum/DefaultEngineeringDatum.java | 10 +- .../referencing/datum/DefaultGeodeticDatum.java | 10 +- .../sis/referencing/datum/DefaultImageDatum.java | 16 +- .../referencing/datum/DefaultParametricDatum.java | 11 +- .../referencing/datum/DefaultTemporalDatum.java | 10 +- .../referencing/datum/DefaultVerticalDatum.java | 85 ++++++++- .../org/apache/sis/referencing/datum/SubTypes.java | 1 + .../apache/sis/referencing/datum/package-info.java | 2 +- .../referencing/factory/AuthorityFactoryProxy.java | 25 ++- .../factory/CommonAuthorityFactory.java | 30 +-- .../factory/ConcurrentAuthorityFactory.java | 23 ++- .../factory/GeodeticAuthorityFactory.java | 53 +++++- .../referencing/factory/GeodeticObjectFactory.java | 35 +++- .../factory/IdentifiedObjectFinder.java | 4 +- .../factory/MultiAuthoritiesFactory.java | 26 ++- .../referencing/factory/sql/AuthorityCodes.java | 8 +- .../referencing/factory/sql/EPSGDataAccess.java | 39 ++-- .../sis/referencing/factory/sql/TableInfo.java | 1 + .../sis/referencing/factory/sql/package-info.java | 2 +- .../sis/referencing/internal/EPSGFactoryProxy.java | 8 +- .../referencing/internal/EPSGFactoryProxyCRS.java | 2 + .../internal/EPSGFactoryProxyDatum.java | 1 + .../org/apache/sis/referencing/internal/Epoch.java | 93 +++++++++ .../apache/sis/referencing/internal/Resources.java | 5 + .../sis/referencing/internal/Resources.properties | 1 + .../referencing/internal/Resources_fr.properties | 1 + .../referencing/internal/VerticalDatumTypes.java | 1 + .../operation/AbstractCoordinateOperation.java | 74 ++++++-- .../operation/CoordinateOperationRegistry.java | 3 +- .../operation/DefaultConcatenatedOperation.java | 4 +- .../referencing/operation/DefaultConversion.java | 7 +- .../DefaultCoordinateOperationFactory.java | 2 +- .../referencing/operation/SubOperationInfo.java | 1 + .../operation/TransformedCoordinateSet.java | 151 +++++++++++++++ .../sis/referencing/privy/AxisDirections.java | 63 +------ .../referencing/privy/ReferencingUtilities.java | 52 +----- .../apache/sis/referencing/privy/WKTKeywords.java | 7 +- .../sis/xml/bind/referencing/CD_ImageDatum.java | 1 + .../xml/bind/referencing/CD_VerticalDatumType.java | 1 + .../sis/xml/bind/referencing/CS_UserDefinedCS.java | 1 + .../sis/io/wkt/GeodeticObjectParserTest.java | 3 +- .../org/apache/sis/io/wkt/WKTDictionaryTest.java | 20 +- .../test/org/apache/sis/io/wkt/WKTParserTest.java | 7 +- .../sis/parameter/DefaultParameterValueTest.java | 10 +- .../sis/referencing/AuthorityFactoriesTest.java | 17 +- .../org/apache/sis/referencing/CommonCRSTest.java | 3 + .../sis/referencing/EPSGFactoryFallbackTest.java | 2 + .../sis/referencing/crs/DefaultImageCRSTest.java | 1 + .../apache/sis/referencing/crs/HardCodedCRS.java | 1 + .../referencing/cs/DefaultCylindricalCSTest.java | 9 +- .../sis/referencing/cs/DefaultPolarCSTest.java | 9 +- .../sis/referencing/cs/DefaultSphericalCSTest.java | 5 +- .../apache/sis/referencing/cs/HardCodedAxes.java | 5 +- .../datum/DefaultGeodeticDatumTest.java | 35 ++-- .../datum/DefaultVerticalDatumTest.java | 3 +- .../sis/referencing/datum/HardCodedDatum.java | 2 + .../referencing/factory/AuthorityFactoryMock.java | 1 + .../factory/CommonAuthorityFactoryTest.java | 18 +- .../factory/MultiAuthoritiesFactoryTest.java | 3 +- .../referencing/factory/sql/EPSGFactoryTest.java | 13 +- .../apache/sis/referencing/internal/EpochTest.java | 92 +++++++++ .../internal/VerticalDatumTypesTest.java | 1 + .../operation/CoordinateOperationFinderTest.java | 1 + .../operation/SingleOperationMarshallingTest.java | 8 +- .../operation/provider/ProvidersTest.java | 2 +- .../sis/referencing/privy/AxisDirectionsTest.java | 3 - .../privy/ReferencingUtilitiesTest.java | 2 +- .../sis/referencing/privy/WKTKeywordsTest.java | 1 + .../report/CoordinateReferenceSystems.java | 12 +- .../apache/sis/test/integration/MetadataTest.java | 80 ++++---- .../sis/test/integration/MetadataVerticalTest.java | 6 +- .../sis/storage/geotiff/reader/CRSBuilder.java | 2 + .../org/apache/sis/storage/netcdf/base/Axis.java | 2 +- .../apache/sis/storage/netcdf/base/CRSBuilder.java | 1 + .../apache/sis/storage/netcdf/base/Linearizer.java | 5 +- .../main/org/apache/sis/storage/wkt/Store.java | 5 +- .../main/org/apache/sis/util/Utilities.java | 12 +- .../test/org/apache/sis/util/ClassesTest.java | 4 +- .../sis/util/logging/MonolineFormatterTest.java | 4 + geoapi/snapshot | 2 +- .../apache/sis/gui/referencing/AuthorityCodes.java | 3 +- .../org/apache/sis/gui/referencing/CRSChooser.java | 1 + 120 files changed, 1721 insertions(+), 569 deletions(-) diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java index b6a95c64a3,c54740d362..b3389026ae --- 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 @@@ -61,12 -62,8 +62,13 @@@ 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 org.opengis.metadata.content.AttributeGroup; ++import org.opengis.referencing.datum.DatumEnsemble; import org.opengis.referencing.ObjectDomain; import org.opengis.temporal.Duration; @@@ -243,9 -243,10 +244,10 @@@ public final class PropertyAccessorTes //……Declaring type……………………………Method……………………………………………JavaBeans……………………………UML identifier……………………Sentence………………………………Type………………………………………………………… GeographicCRS.class, "getCoordinateSystem", "coordinateSystem", "coordinateSystem", "Coordinate system", EllipsoidalCS.class, // Covariant return type GeodeticCRS.class, "getDatum", "datum", "datum", "Datum", GeodeticDatum.class, // Covariant return type + GeodeticCRS.class, "getDatumEnsemble", "datumEnsemble", "datumEnsemble", "Datum ensemble", DatumEnsemble.class, // Covariant return type - IdentifiedObject.class, "getName", "name", "name", "Name", Identifier.class, + IdentifiedObject.class, "getName", "name", "name", "Name", ReferenceIdentifier.class, IdentifiedObject.class, "getAlias", "alias", "alias", "Alias", GenericName[].class, - IdentifiedObject.class, "getIdentifiers", "identifiers", "identifier", "Identifiers", Identifier[].class, + IdentifiedObject.class, "getIdentifiers", "identifiers", "identifier", "Identifiers", ReferenceIdentifier[].class, IdentifiedObject.class, "getDomains", "domains", "ObjectUsage.domain", "Domains", ObjectDomain[].class, IdentifiedObject.class, "getRemarks", "remarks", "remarks", "Remarks", InternationalString.class); } diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java index a5f8d47a80,332b45903c..c735ffa6aa --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java @@@ -405,14 -402,10 +405,16 @@@ final class DefaultConcatenatedOperatio } /** - * Returns the sequence of operations. + * Returns the sequence of operations that are steps in this concatenated operation. + * The sequence can contain {@link org.opengis.referencing.operation.SingleOperation}s + * or {@link org.opengis.referencing.operation.PassThroughOperation}s. * + * <div class="warning"><b>Upcoming API change</b><br> + * This method is conformant to ISO 19111:2003. But the ISO 19111:2007 revision changed the element type + * from {@code SingleOperation} to {@link CoordinateOperation}. This change may be applied in GeoAPI 4.0. + * This is necessary for supporting usage of {@code PassThroughOperation} with {@link ConcatenatedOperation}. + * </div> + * * @return the sequence of operations. */ @Override diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/MetadataTest.java index 1488293acf,2f6d75b62d..34b91b8cb5 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/MetadataTest.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/MetadataTest.java @@@ -111,19 -113,19 +113,19 @@@ public final class MetadataTest extend * because this is what will be unmarshalled from the XML document. */ @SuppressWarnings("deprecation") - final DefaultResponsibleParty author = new DefaultResponsibleParty(Role.AUTHOR); - final Anchor country = new Anchor(URI.create("SDN:C320:2:FR"), "France"); // Non-public SIS class. - final var author = new DefaultResponsibleParty(Role.AUTHOR); ++ final var author = new DefaultResponsibleParty(Role.AUTHOR); + final var country = new Anchor(URI.create("SDN:C320:2:FR"), "France"); // Non-public SIS class. { - final DefaultOnlineResource online = new DefaultOnlineResource(URI.create("http://www.ifremer.fr/sismer/")); + final var online = new DefaultOnlineResource(URI.create("http://www.ifremer.fr/sismer/")); online.setProtocol(Constants.HTTP); - final DefaultContact contact = new DefaultContact(online); + final var contact = new DefaultContact(online); contact.getIdentifierMap().putSpecialized(IdentifierSpace.ID, "IFREMER"); contact.setPhones(List.of( new DefaultTelephone("+33 (0)2 xx.xx.xx.x6", TelephoneType.VOICE), new DefaultTelephone("+33 (0)2 xx.xx.xx.x4", TelephoneType.FACSIMILE) )); - final DefaultAddress address = new DefaultAddress(); + final var address = new DefaultAddress(); - address.setDeliveryPoints(Set.of(new SimpleInternationalString("Brest institute"))); + address.setDeliveryPoints(Set.of("Brest institute")); address.setCity(new SimpleInternationalString("Plouzane")); address.setPostalCode("29280"); address.setCountry(country); @@@ -151,8 -153,8 +153,8 @@@ new DefaultTelephone("+33 (0)4 xx.xx.xx.x5", TelephoneType.VOICE), new DefaultTelephone("+33 (0)4 xx.xx.xx.x8", TelephoneType.FACSIMILE) )); - final DefaultAddress address = new DefaultAddress(); + final var address = new DefaultAddress(); - address.setDeliveryPoints(Set.of(new SimpleInternationalString("Oceanology institute"))); + address.setDeliveryPoints(Set.of("Oceanology institute")); address.setCity(new SimpleInternationalString("Marseille")); address.setPostalCode("13288"); address.setCountry(country); @@@ -167,7 -169,7 +169,7 @@@ TopicCategory.OCEANS); // Topic category { @SuppressWarnings("deprecation") - final DefaultResponsibleParty custodian = new DefaultResponsibleParty((DefaultResponsibility) author); - final var custodian = new DefaultResponsibleParty(author); ++ final var custodian = new DefaultResponsibleParty((DefaultResponsibility) author); custodian.setRole(Role.CUSTODIAN); identification.setPointOfContacts(Set.of(custodian)); } @@@ -297,8 -299,8 +299,8 @@@ */ { @SuppressWarnings("deprecation") - final DefaultResponsibleParty distributor = new DefaultResponsibleParty((DefaultResponsibility) author); - final DefaultDistribution distributionInfo = new DefaultDistribution(); - final var distributor = new DefaultResponsibleParty(author); ++ final var distributor = new DefaultResponsibleParty((DefaultResponsibility) author); + final var distributionInfo = new DefaultDistribution(); distributor.setRole(Role.DISTRIBUTOR); distributionInfo.setDistributors(Set.of(new DefaultDistributor(distributor))); diff --cc geoapi/snapshot index f9a461bdd6,c8e052d679..41f2ea73ab --- a/geoapi/snapshot +++ b/geoapi/snapshot @@@ -1,1 -1,1 +1,1 @@@ - Subproject commit f9a461bdd615ccddd270eb38dea04f943ed1d941 -Subproject commit c8e052d67955103c0224e2a91c8e5ffe6e751e14 ++Subproject commit 41f2ea73ab004c3f5db8f19b63388fcac4875b82