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
commit 11dcc5178713ad287eb771df66940547355b3c47 Merge: eb20f53e20 b325a0c5f8 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Sat Dec 30 14:22:55 2023 +0100 Merge branch 'geoapi-4.0' into geoapi-3.1. The work includes `xlink:href` to external GML documents, resolve `PARAMETERFILE["foo"]` values relatively to the WKT of GML file declaring the parameter, and `CRS.forCode(String)` capable to return CRS defined in the GML document being parsed. .../org/apache/sis/console/CommandRunnerTest.java | 15 +- .../sis/coverage/grid/GridCoverageBuilder.java | 2 +- .../apache/sis/coverage/grid/GridExtentTest.java | 23 +- .../main/org/apache/sis/xml/MarshalContext.java | 34 +- .../main/org/apache/sis/xml/MarshallerPool.java | 47 ++- .../main/org/apache/sis/xml/Pooled.java | 71 +++- .../main/org/apache/sis/xml/PooledMarshaller.java | 53 +-- .../main/org/apache/sis/xml/PooledTemplate.java | 6 +- .../org/apache/sis/xml/PooledUnmarshaller.java | 175 ++++++--- .../main/org/apache/sis/xml/ReferenceResolver.java | 228 ++++++++++-- .../main/org/apache/sis/xml/XLink.java | 13 +- .../main/org/apache/sis/xml/XML.java | 7 +- .../main/org/apache/sis/xml/bind/Context.java | 341 +++++++++++++---- .../org/apache/sis/xml/bind/ScopedIdentifier.java | 145 ++++++++ .../apache/sis/xml/util/ExternalLinkHandler.java | 290 +++++++++++++++ .../main/org/apache/sis/xml/util/URISource.java | 120 ++++++ .../main/org/apache/sis/xml/util/XmlUtilities.java | 41 ++ .../metadata/iso/citation/DefaultCitationTest.java | 16 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../sis/metadata/xml/2016/UsingExternalXLink.xml | 51 +++ .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/ReferenceResolverTest.java | 66 ++++ .../org/apache/sis/xml/XLinkMarshallingTest.java | 10 +- .../test/org/apache/sis/xml/XLinkTest.java | 25 +- .../apache/sis/xml/bind/gco/StringAdapterTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java | 2 +- .../test/org/apache/sis/xml/test/TestCase.java | 46 ++- .../apache/sis/xml/test/TestReferenceResolver.java | 56 +++ .../org/apache/sis/xml/util/XmlUtilitiesTest.java | 7 +- .../main/org/apache/sis/io/wkt/AbstractParser.java | 23 +- .../org/apache/sis/io/wkt/FormattableObject.java | 17 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 11 +- .../org/apache/sis/io/wkt/MathTransformParser.java | 20 +- .../main/org/apache/sis/io/wkt/Parser.java | 4 +- .../main/org/apache/sis/io/wkt/WKTFormat.java | 129 ++++--- .../main/org/apache/sis/io/wkt/Warnings.java | 2 + .../sis/parameter/AbstractParameterDescriptor.java | 13 +- .../sis/parameter/DefaultParameterDescriptor.java | 15 +- .../parameter/DefaultParameterDescriptorGroup.java | 15 +- .../sis/parameter/DefaultParameterValue.java | 172 +++++++-- .../main/org/apache/sis/parameter/Parameters.java | 28 ++ .../sis/parameter/UnmodifiableParameterValue.java | 10 + .../org/apache/sis/parameter/package-info.java | 2 +- .../sis/referencing/AbstractIdentifiedObject.java | 9 +- .../main/org/apache/sis/referencing/CRS.java | 53 ++- .../referencing/factory/GeodeticObjectFactory.java | 8 +- .../referencing/factory/sql/EPSGDataAccess.java | 4 +- .../CompressedGrid.java} | 20 +- .../referencing/operation/gridded/GridFile.java | 299 +++++++++++++++ .../GridGroup.java} | 43 ++- .../referencing/operation/gridded/GridLoader.java | 143 +++++++ .../LoadedGrid.java} | 184 ++++----- .../{provider => gridded}/package-info.java | 10 +- .../operation/provider/AbstractProvider.java | 2 +- .../operation/provider/DatumShiftGridLoader.java | 248 ------------ .../provider/FranceGeocentricInterpolation.java | 59 ++- .../sis/referencing/operation/provider/NADCON.java | 48 +-- .../sis/referencing/operation/provider/NTv2.java | 69 ++-- .../operation/provider/package-info.java | 5 +- .../operation/transform/ContextualParameters.java | 2 +- .../transform/DefaultMathTransformFactory.java | 8 +- .../transform/SpecializableTransform.java | 2 +- .../util/j2d/ImmutableAffineTransform.java | 2 +- .../org/apache/sis/referencing/util/j2d/Tile.java | 4 +- .../referencing/CC_GeneralOperationParameter.java | 1 + .../xml/bind/referencing/CC_OperationMethod.java | 7 +- .../org/apache/sis/xml/bind/referencing/Code.java | 28 +- .../test/org/apache/sis/io/wkt/ColorsTest.java | 14 +- .../org/apache/sis/io/wkt/ComparisonWithEPSG.java | 6 +- .../test/org/apache/sis/io/wkt/ConventionTest.java | 2 +- .../test/org/apache/sis/io/wkt/ElementTest.java | 144 +++---- .../sis/io/wkt/GeodeticObjectParserTest.java | 336 ++++++++--------- .../apache/sis/io/wkt/MathTransformParserTest.java | 20 +- .../test/org/apache/sis/io/wkt/SymbolsTest.java | 39 +- .../org/apache/sis/io/wkt/TransliteratorTest.java | 20 +- .../org/apache/sis/io/wkt/WKTDictionaryTest.java | 109 +++--- .../test/org/apache/sis/io/wkt/WKTFormatTest.java | 60 ++- .../test/org/apache/sis/io/wkt/WKTParserTest.java | 78 ++-- .../sis/parameter/DefaultParameterValueTest.java | 414 +++++++++------------ .../sis/parameter/ParameterMarshallingTest.java | 81 ++-- .../referencing/AbstractIdentifiedObjectTest.java | 2 +- .../operation/SingleOperationMarshallingTest.java | 148 +++++--- .../sis/referencing/operation/Transformation.xml | 4 +- .../CompressedGridTest.java} | 12 +- .../LoadedGridTest.java} | 22 +- .../operation/provider/DatumShiftTestCase.java | 5 +- .../FranceGeocentricInterpolationTest.java | 31 +- .../referencing/operation/provider/NADCONTest.java | 23 +- .../referencing/operation/provider/NTv2Test.java | 36 +- .../transform/MathTransformFactoryMock.java | 31 ++ .../operation/transform/PoleRotationTest.java | 2 +- .../sis/test/integration/DatumShiftTest.java | 5 +- .../apache/sis/storage/netcdf/base/Variable.java | 4 +- .../org/apache/sis/storage/base/PRJDataStore.java | 21 +- .../sis/io/stream/ChannelDataOutputTest.java | 20 +- .../org/apache/sis/storage/FeatureQueryTest.java | 5 +- .../apache/sis/storage/StorageConnectorTest.java | 49 ++- .../main/org/apache/sis/system/DataDirectory.java | 33 +- .../main/org/apache/sis/util/Utilities.java | 2 +- .../main/org/apache/sis/util/collection/Cache.java | 2 +- .../apache/sis/util/internal/CheckedArrayList.java | 2 +- .../apache/sis/util/internal/DefinitionURI.java | 22 +- .../sis/util/resources/IndexedResourceBundle.java | 2 +- .../org/apache/sis/util/resources/Messages.java | 4 +- .../apache/sis/util/resources/Messages.properties | 2 +- .../sis/util/resources/Messages_fr.properties | 2 +- .../org/apache/sis/measure/UnitFormatTest.java | 36 +- .../test/org/apache/sis/test/Assertions.java | 84 +++-- .../org/apache/sis/util/ArgumentChecksTest.java | 44 +-- .../sis/util/internal/DefinitionURITest.java | 10 + parent/pom.xml | 9 +- 111 files changed, 3747 insertions(+), 1865 deletions(-) diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java index 1314a4c422,8d4b7d9cc4..7c71bb41fe --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java @@@ -1065,9 -1064,14 +1067,14 @@@ public class AbstractIdentifiedObject e if (identifiers != null) { propertyAlreadySet("setIdentifier", "identifier"); } else if (identifier != null) { - final Identifier id = identifier.getIdentifier(); + final ReferenceIdentifier id = identifier.getIdentifier(); if (id != null) { identifiers = Collections.singleton(id); + ScopedIdentifier<IdentifiedObject> key = new ScopedIdentifier<>(getInterface(), identifier.toString()); + key.store(IdentifiedObject.class, this, AbstractIdentifiedObject.class, "setIdentifier"); + if (key != (key = key.rename(identifier.code))) { + key.store(IdentifiedObject.class, this, null, null); // Shorter form without codespace. + } } } } diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java index a0e086be8f,8dd7e0461d..f3eb6a8253 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java @@@ -25,13 -25,9 +25,12 @@@ import org.apache.sis.util.internal.Con import org.apache.sis.util.internal.DefinitionURI; import org.apache.sis.metadata.internal.NameMeaning; import org.apache.sis.metadata.internal.Identifiers; - import org.apache.sis.referencing.NamedIdentifier; import org.apache.sis.metadata.iso.citation.Citations; - import static org.apache.sis.metadata.iso.citation.Citations.toCodeSpace; + import org.apache.sis.referencing.NamedIdentifier; +// Specific to the main and geoapi-3.1 branches: +import org.opengis.referencing.ReferenceIdentifier; + /** * The {@code gml:CodeType}, which is made of a code space and a code value.