This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sis.git
commit a546a473a81dd710c674ceed6db2a5cdbd914586 Merge: 3362ae7b9b 1beb63780c Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Wed Aug 10 17:04:47 2022 +0200 Merge branch 'geoapi-3.1' .../org/apache/sis/gui/map/ValuesUnderCursor.java | 6 +- .../apache/sis/internal/gui/DataStoreOpener.java | 14 +- .../sis/internal/gui/control/SyncWindowList.java | 34 +-- .../sis/internal/gui/control/ValueColorMapper.java | 2 +- .../org/apache/sis/openoffice/TransformerTest.java | 2 +- .../util/resources/IndexedResourceCompiler.java | 2 +- .../org/apache/sis/coverage/BandedCoverage.java | 32 ++- .../java/org/apache/sis/coverage/Category.java | 2 +- .../org/apache/sis/coverage/SampleDimension.java | 2 +- .../sis/coverage/grid/BufferedGridCoverage.java | 8 +- .../sis/coverage/grid/ConvertedGridCoverage.java | 87 ++------ .../{GridEvaluator.java => DefaultEvaluator.java} | 75 ++++--- .../sis/coverage/grid/DerivedGridCoverage.java | 9 +- .../apache/sis/coverage/grid/EvaluatorWrapper.java | 126 +++++++++++ .../coverage/grid/FractionalGridCoordinates.java | 6 +- .../org/apache/sis/coverage/grid/GridCoverage.java | 86 +++++++- .../apache/sis/coverage/grid/GridCoverage2D.java | 8 +- .../org/apache/sis/coverage/grid/GridExtent.java | 10 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 6 +- .../apache/sis/coverage/grid/ImageRenderer.java | 2 +- .../apache/sis/feature/AbstractIdentifiedType.java | 2 +- .../org/apache/sis/filter/BinarySpatialFilter.java | 2 +- .../apache/sis/filter/DefaultFilterFactory.java | 2 +- .../java/org/apache/sis/filter/PropertyValue.java | 5 +- .../src/main/java/org/apache/sis/filter/XPath.java | 86 ++++++++ .../sis/coverage/grid/GridCoverage2DTest.java | 13 +- .../sis/coverage/grid/GridDerivationTest.java | 2 +- .../org/apache/sis/feature/FeatureTestCase.java | 2 +- .../java/org/apache/sis/filter/XPathTest.java} | 22 +- .../org/apache/sis/image/InterpolationTest.java | 2 +- .../org/apache/sis/image/PixelIteratorTest.java | 2 +- .../apache/sis/test/suite/FeatureTestSuite.java | 1 + .../java/org/apache/sis/internal/jaxb/Context.java | 4 +- .../sis/internal/jaxb/lan/LocaleAndCharset.java | 2 +- .../java/org/apache/sis/metadata/TreeNode.java | 2 +- .../DefaultRepresentativeFraction.java | 4 +- .../apache/sis/metadata/sql/MetadataWriter.java | 2 +- .../java/org/apache/sis/util/iso/AbstractName.java | 15 +- .../apache/sis/util/iso/DefaultNameFactory.java | 9 +- .../org/apache/sis/util/iso/DefaultNameSpace.java | 33 ++- .../org/apache/sis/util/iso/DefaultRecordType.java | 6 +- .../java/org/apache/sis/util/iso/package-info.java | 2 +- .../java/org/apache/sis/xml/ValueConverter.java | 47 ++++- .../main/java/org/apache/sis/xml}/XPointer.java | 52 ++++- .../main/java/org/apache/sis/xml/package-info.java | 2 +- .../internal/jaxb/ModifiableIdentifierMapTest.java | 2 +- .../org/apache/sis/metadata/SpecialCasesTest.java | 8 +- .../extent/DefaultGeographicBoundingBoxTest.java | 2 +- .../sis/metadata/iso/extent/ExtentsTest.java | 2 +- .../java/org/apache/sis/test/MetadataAssert.java | 4 +- .../apache/sis/test/suite/MetadataTestSuite.java | 3 +- .../sis/test/xml/AnnotationConsistencyCheck.java | 2 +- .../apache/sis/test/xml/DocumentComparator.java | 2 +- .../java/org/apache/sis/test/xml/TestCase.java | 6 +- .../org/apache/sis/xml/ValueConverterTest.java | 18 +- .../java/org/apache/sis/xml}/XPointerTest.java | 18 +- .../sis/geometry/AbstractDirectPosition.java | 2 +- .../org/apache/sis/geometry/AbstractEnvelope.java | 18 +- .../org/apache/sis/geometry/CoordinateFormat.java | 2 +- .../java/org/apache/sis/geometry/Envelopes.java | 2 +- .../referencing/GeodeticObjectBuilder.java | 18 +- .../internal/referencing/ReferencingUtilities.java | 39 ++-- .../referencing/provider/AbridgedMolodensky.java | 12 +- .../referencing/provider/AbstractLambert.java | 14 +- .../referencing/provider/AbstractMercator.java | 14 +- .../referencing/provider/AbstractProvider.java | 113 ++++++---- .../provider/AbstractStereographic.java | 14 +- .../referencing/provider/AlbersEqualArea.java | 14 +- .../referencing/provider/AxisOrderReversal.java | 23 +- .../referencing/provider/AxisOrderReversal3D.java | 4 +- .../provider/AzimuthalEquidistantSpherical.java | 12 +- .../referencing/provider/CassiniSoldner.java | 7 +- .../provider/CoordinateFrameRotation.java | 12 +- .../provider/CoordinateFrameRotation2D.java | 12 +- .../provider/CoordinateFrameRotation3D.java | 12 +- .../referencing/provider/Equirectangular.java | 31 +-- .../provider/FranceGeocentricInterpolation.java | 21 +- .../referencing/provider/GeocentricAffine.java | 56 +++-- .../GeocentricAffineBetweenGeographic.java | 35 +-- .../provider/GeocentricToGeographic.java | 29 +-- .../provider/GeocentricToTopocentric.java | 234 +++++++++++++++++++++ .../provider/GeocentricTranslation.java | 12 +- .../provider/GeocentricTranslation2D.java | 12 +- .../provider/GeocentricTranslation3D.java | 12 +- .../referencing/provider/GeodeticOperation.java | 45 ++-- .../referencing/provider/Geographic2Dto3D.java | 4 +- .../referencing/provider/Geographic3Dto2D.java | 4 +- .../referencing/provider/GeographicOffsets.java | 12 +- .../provider/GeographicRedimension.java | 25 +-- .../provider/GeographicToGeocentric.java | 27 +-- .../provider/GeographicToTopocentric.java | 149 +++++++++++++ .../referencing/provider/Interpolation1D.java | 17 +- .../provider/LambertAzimuthalEqualArea.java | 16 +- .../provider/LambertCylindricalEqualArea.java | 14 +- .../LambertCylindricalEqualAreaSpherical.java | 14 +- .../referencing/provider/MapProjection.java | 45 ++-- .../referencing/provider/MapProjection3D.java | 26 +-- .../provider/ModifiedAzimuthalEquidistant.java | 12 +- .../internal/referencing/provider/Mollweide.java | 5 +- .../internal/referencing/provider/Molodensky.java | 12 +- .../sis/internal/referencing/provider/NADCON.java | 17 +- .../sis/internal/referencing/provider/NTv1.java | 17 +- .../sis/internal/referencing/provider/NTv2.java | 17 +- .../referencing/provider/NorthPoleRotation.java | 17 +- .../referencing/provider/Orthographic.java | 14 +- .../internal/referencing/provider/Polyconic.java | 14 +- .../referencing/provider/PositionVector7Param.java | 10 +- .../provider/PositionVector7Param2D.java | 12 +- .../provider/PositionVector7Param3D.java | 12 +- .../referencing/provider/PseudoPlateCarree.java | 18 +- ...sOrderReversal3D.java => PseudoSinusoidal.java} | 35 +-- .../referencing/provider/SatelliteTracking.java | 5 +- .../internal/referencing/provider/Sinusoidal.java | 25 ++- .../referencing/provider/SouthPoleRotation.java | 17 +- .../referencing/provider/VerticalOffset.java | 14 +- .../internal/referencing/provider/Wraparound.java | 17 +- .../provider/ZonedTransverseMercator.java | 31 +-- .../referencing/provider/package-info.java | 2 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 71 ++++--- .../main/java/org/apache/sis/io/wkt/Symbols.java | 2 +- .../java/org/apache/sis/io/wkt/WKTDictionary.java | 2 +- .../java/org/apache/sis/io/wkt/package-info.java | 2 +- .../sis/parameter/AbstractParameterDescriptor.java | 4 +- .../org/apache/sis/parameter/ParameterBuilder.java | 12 +- .../java/org/apache/sis/parameter/Parameters.java | 37 +++- .../org/apache/sis/parameter/TensorParameters.java | 2 +- .../java/org/apache/sis/referencing/Builder.java | 6 +- .../main/java/org/apache/sis/referencing/CRS.java | 4 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 34 +-- .../sis/referencing/crs/DefaultProjectedCRS.java | 85 +------- .../sis/referencing/crs/ExplicitParameters.java | 133 ++++++++++++ .../sis/referencing/cs/CoordinateSystems.java | 15 ++ .../sis/referencing/datum/BursaWolfParameters.java | 2 +- .../factory/IdentifiedObjectFinder.java | 2 +- .../referencing/factory/IdentifiedObjectSet.java | 2 +- .../referencing/factory/sql/EPSGDataAccess.java | 6 + .../sis/referencing/factory/sql/SQLTranslator.java | 2 +- .../operation/CoordinateOperationFinder.java | 5 +- .../operation/CoordinateOperationRegistry.java | 4 +- .../referencing/operation/DefaultConversion.java | 6 +- .../DefaultCoordinateOperationFactory.java | 2 +- .../operation/MathTransformContext.java | 2 +- .../operation/projection/AlbersEqualArea.java | 4 +- .../operation/projection/AuthalicMercator.java | 6 +- .../operation/projection/AzimuthalEquidistant.java | 4 +- .../operation/projection/CassiniSoldner.java | 3 +- .../operation/projection/CylindricalEqualArea.java | 6 +- .../projection/LambertAzimuthalEqualArea.java | 3 +- .../projection/LambertConicConformal.java | 4 +- .../referencing/operation/projection/Mercator.java | 5 +- .../projection/ModifiedAzimuthalEquidistant.java | 4 +- .../operation/projection/Mollweide.java | 3 +- .../operation/projection/NormalizedProjection.java | 6 +- .../operation/projection/ObliqueMercator.java | 3 +- .../operation/projection/ObliqueStereographic.java | 8 +- .../operation/projection/Orthographic.java | 3 +- .../operation/projection/PolarStereographic.java | 3 +- .../operation/projection/Polyconic.java | 6 +- .../operation/projection/SatelliteTracking.java | 3 +- .../operation/projection/Sinusoidal.java | 70 +++++- .../operation/projection/TransverseMercator.java | 3 +- .../operation/projection/ZonedGridSystem.java | 2 +- .../operation/projection/package-info.java | 2 +- .../operation/transform/AbstractMathTransform.java | 2 +- .../transform/DefaultMathTransformFactory.java | 116 +++++++--- .../transform/EllipsoidToCentricTransform.java | 7 +- .../operation/transform/MathTransforms.java | 4 +- .../operation/transform/MolodenskyTransform.java | 13 +- ...g.opengis.referencing.operation.OperationMethod | 3 + .../org/apache/sis/geometry/EnvelopesTest.java | 2 +- .../apache/sis/geometry/GeneralEnvelopeTest.java | 6 +- .../java/org/apache/sis/geometry/Shapes2DTest.java | 2 +- .../org/apache/sis/geometry/TransformTestCase.java | 2 +- .../referencing/j2d/ShapeUtilitiesTest.java | 4 +- .../referencing/provider/ProviderMock.java | 14 +- .../referencing/provider/ProvidersTest.java | 5 +- .../referencing/provider/SeismicBinGridMock.java | 2 +- .../provider/TopocentricConversionMock.java | 63 ------ .../sis/io/wkt/GeodeticObjectParserTest.java | 50 ++++- .../org/apache/sis/io/wkt/TransliteratorTest.java | 4 +- .../org/apache/sis/parameter/TensorValuesTest.java | 2 +- .../java/org/apache/sis/referencing/CRSTest.java | 2 + .../sis/referencing/GeodeticCalculatorTest.java | 2 +- .../sis/referencing/crs/DefaultDerivedCRSTest.java | 8 +- .../sis/referencing/cs/CoordinateSystemsTest.java | 4 +- .../factory/IdentifiedObjectFinderTest.java | 2 +- .../operation/matrix/MatrixTestCase.java | 6 +- .../operation/transform/MathTransformTestCase.java | 2 +- .../transform/TransformResultComparator.java | 10 +- .../sis/referencing/report/HTMLGenerator.java | 2 +- .../org/apache/sis/test/ReferencingAssert.java | 2 +- .../sis/test/integration/ConsistencyTest.java | 2 +- .../integration/CoordinateReferenceSystemTest.java | 38 +++- .../apache/sis/test/integration/package-info.java | 2 +- .../apache/sis/test/widget/SwingAssertions.java | 2 +- ...g.opengis.referencing.operation.OperationMethod | 1 - .../org/apache/sis/referencing/crs/DerivedCRS.xml | 2 +- .../sis/internal/converter/ConverterRegistry.java | 2 +- .../apache/sis/internal/util/DefinitionURI.java | 144 +++++-------- .../org/apache/sis/internal/util/DoubleDouble.java | 6 +- .../apache/sis/internal/util/SetOfUnknownSize.java | 6 +- .../java/org/apache/sis/internal/util/XPaths.java | 182 ---------------- .../main/java/org/apache/sis/math/ArrayVector.java | 12 +- .../main/java/org/apache/sis/math/Fraction.java | 4 +- .../java/org/apache/sis/math/MathFunctions.java | 6 +- .../src/main/java/org/apache/sis/math/Vector.java | 2 +- .../java/org/apache/sis/measure/AbstractUnit.java | 6 +- .../java/org/apache/sis/measure/Quantities.java | 38 ++-- .../org/apache/sis/measure/QuantityFormat.java | 34 +-- .../main/java/org/apache/sis/measure/Range.java | 2 +- .../java/org/apache/sis/measure/RangeFormat.java | 2 +- .../apache/sis/measure/SexagesimalConverter.java | 14 +- .../java/org/apache/sis/measure/SystemUnit.java | 2 +- .../java/org/apache/sis/measure/UnitFormat.java | 89 +++----- .../java/org/apache/sis/measure/UnitServices.java | 2 +- .../main/java/org/apache/sis/measure/Units.java | 19 +- .../java/org/apache/sis/util/ArgumentChecks.java | 4 +- .../java/org/apache/sis/util/CharSequences.java | 4 +- .../main/java/org/apache/sis/util/Emptiable.java | 2 +- .../org/apache/sis/util/collection/RangeSet.java | 2 +- .../org/apache/sis/util/collection/TreeTable.java | 4 +- .../apache/sis/util/collection/WeakHashSet.java | 2 +- .../java/org/apache/sis/util/resources/Errors.java | 22 +- .../apache/sis/util/resources/Errors.properties | 4 +- .../apache/sis/util/resources/Errors_fr.properties | 4 +- .../org/apache/sis/util/resources/Vocabulary.java | 5 + .../sis/util/resources/Vocabulary.properties | 1 + .../sis/util/resources/Vocabulary_fr.properties | 1 + .../sis/internal/util/DefinitionURITest.java | 29 ++- .../org/apache/sis/internal/util/XPathsTest.java | 58 ----- .../java/org/apache/sis/io/AppenderTestCase.java | 2 +- .../sis/measure/SexagesimalConverterTest.java | 18 +- .../org/apache/sis/measure/UnitFormatTest.java | 4 +- .../java/org/apache/sis/measure/UnitsTest.java | 23 +- .../src/test/java/org/apache/sis/test/Assert.java | 2 +- .../apache/sis/test/suite/UtilityTestSuite.java | 4 +- pom.xml | 18 +- .../apache/sis/internal/earth/netcdf/GCOM_C.java | 6 +- .../sis/internal/earth/netcdf/package-info.java | 2 +- src/main/javadoc/sis.css | 34 --- .../apache/sis/storage/geotiff/GeoTiffStore.java | 56 +++-- .../sis/storage/geotiff/ImageFileDirectory.java | 11 +- .../sis/storage/geotiff/ImageMetadataBuilder.java | 8 +- .../sis/storage/geotiff/SelfConsistencyTest.java | 37 +++- .../org/apache/sis/internal/netcdf/CRSBuilder.java | 1 + .../org/apache/sis/internal/netcdf/CRSMerger.java | 76 +++++++ .../org/apache/sis/internal/netcdf/Convention.java | 4 + .../java/org/apache/sis/internal/netcdf/Grid.java | 31 ++- .../apache/sis/internal/netcdf/GridMapping.java | 193 ++++++++++------- .../org/apache/sis/internal/netcdf/Variable.java | 10 +- .../apache/sis/internal/netcdf/impl/GridInfo.java | 19 +- .../sis/internal/netcdf/impl/package-info.java | 2 +- .../sis/internal/netcdf/ucar/GridWrapper.java | 29 +-- .../apache/sis/storage/netcdf/MetadataReader.java | 21 +- .../org/apache/sis/internal/netcdf/GridTest.java | 6 +- .../org/apache/sis/internal/netcdf/TestCase.java | 6 +- .../sis/internal/netcdf/impl/GridInfoTest.java | 4 +- .../apache/sis/internal/sql/feature/Database.java | 2 +- .../sis/internal/storage/StoreUtilities.java | 13 +- .../internal/storage/csv/MovingFeatureBuilder.java | 4 +- .../org/apache/sis/internal/storage/csv/Store.java | 2 +- .../internal/storage/image/WorldFileResource.java | 9 +- .../sis/internal/storage/io/ChannelDataOutput.java | 2 +- .../apache/sis/internal/storage/package-info.java | 2 +- .../internal/storage/image/WorldFileStoreTest.java | 4 +- .../internal/storage/io/ChannelDataOutputTest.java | 2 +- .../sis/internal/storage/gpx/ReaderTest.java | 2 +- 267 files changed, 2723 insertions(+), 2055 deletions(-) diff --cc core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ConvertedGridCoverage.java index a05ee9fc55,b3f2b6d9aa..3644a3b020 --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ConvertedGridCoverage.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/ConvertedGridCoverage.java @@@ -31,9 -30,11 +30,11 @@@ import org.apache.sis.coverage.SampleDi import org.apache.sis.measure.MeasurementRange; import org.apache.sis.measure.NumberRange; import org.apache.sis.image.DataType; - import org.apache.sis.coverage.CannotEvaluateException; import org.apache.sis.image.ImageProcessor; + // Branch-dependent imports -import org.opengis.coverage.CannotEvaluateException; ++import org.apache.sis.coverage.CannotEvaluateException; + /** * Decorates a {@link GridCoverage} in order to convert sample values on the fly. diff --cc core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DefaultEvaluator.java index 02026ff6d5,aede5d3ed7..ac85973a5b --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DefaultEvaluator.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/DefaultEvaluator.java @@@ -49,11 -49,13 +49,13 @@@ import org.apache.sis.util.logging.Logg import static java.util.logging.Logger.getLogger; + // Branch-dependent imports -import org.opengis.coverage.CannotEvaluateException; -import org.opengis.coverage.PointOutsideCoverageException; ++import org.apache.sis.coverage.CannotEvaluateException; ++import org.apache.sis.coverage.PointOutsideCoverageException; + /** - * Computes or interpolates values of sample dimensions at given positions. + * Default implementation of {@link GridCoverage.Evaluator} for interpolating values at given positions. * Values are computed by calls to {@link #apply(DirectPosition)} and are returned as {@code double[]}. * * <h2>Multi-threading</h2> diff --cc core/sis-feature/src/main/java/org/apache/sis/coverage/grid/EvaluatorWrapper.java index 0000000000,014335bcb7..1d685fae23 mode 000000,100644..100644 --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/EvaluatorWrapper.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/EvaluatorWrapper.java @@@ -1,0 -1,126 +1,126 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.sis.coverage.grid; + + import java.util.Map; + import org.opengis.geometry.DirectPosition; + import org.opengis.referencing.operation.TransformException; + + // Branch-dependent imports -import org.opengis.coverage.CannotEvaluateException; ++import org.apache.sis.coverage.CannotEvaluateException; + + + /** + * An evaluator which delegates all operations to another evaluator. + * The default implementation of all methods except {@link #getCoverage()} delegates to the source evaluator. + * + * @author Martin Desruisseaux (Geomatys) + * @version 1.3 + * @since 1.3 + * @module + */ + abstract class EvaluatorWrapper implements GridCoverage.Evaluator { + /** + * The evaluator provided by source coverage. + * This is where all operations are delegated. + */ + private final GridCoverage.Evaluator source; + + /** + * Creates a new evaluator wrapper. + * + * @param source the evaluator to wrap. + */ + EvaluatorWrapper(final GridCoverage.Evaluator source) { + this.source = source; + } + + /** + * Returns whether to return {@code null} instead of throwing an exception if a point is outside coverage bounds. + */ + @Override + public boolean isNullIfOutside() { + return source.isNullIfOutside(); + } + + /** + * Specifies whether to return {@code null} instead of throwing an exception if a point is outside coverage bounds. + */ + @Override + public void setNullIfOutside(final boolean flag) { + source.setNullIfOutside(flag); + } + + /** + * Returns {@code true} if this evaluator is allowed to wraparound coordinates that are outside the grid. + */ + @Override + public boolean isWraparoundEnabled() { + return source.isWraparoundEnabled(); + } + + /** + * Specifies whether this evaluator is allowed to wraparound coordinates that are outside the grid. + */ + @Override + public void setWraparoundEnabled(final boolean allow) { + source.setWraparoundEnabled(allow); + } + + /** + * Returns the default slice where to perform evaluation, or an empty map if unspecified. + * This method should be overridden if this evaluator has been created for a coverage + * with a different grid geometry than the coverage of the wrapped evaluator. + */ + @Override + public Map<Integer,Long> getDefaultSlice() { + return source.getDefaultSlice(); + } + + /** + * Sets the default slice where to perform evaluation when the points do not have enough dimensions. + * This method should be overridden if this evaluator has been created for a coverage + * with a different grid geometry than the coverage of the wrapped evaluator. + */ + @Override + public void setDefaultSlice(Map<Integer,Long> slice) { + source.setDefaultSlice(slice); + } + + /** + * Converts the specified geospatial position to grid coordinates. + * This method should be overridden if this evaluator has been created for a coverage + * with a different grid geometry than the coverage of the wrapped evaluator. + */ + @Override + public FractionalGridCoordinates toGridCoordinates(final DirectPosition point) throws TransformException { + return source.toGridCoordinates(point); + } + + /** + * Returns a sequence of double values for a given point in the coverage. + * This method should be overridden if this evaluator is for a coverage + * doing some on-the-fly conversion of sample values. + * + * @param point the coordinate point where to evaluate. + * @throws CannotEvaluateException if the values can not be computed. + */ + @Override + public double[] apply(final DirectPosition point) throws CannotEvaluateException { + return source.apply(point); + } + } diff --cc core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java index 90091c73fc,e71d284659..727897c3b5 --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtent.java @@@ -675,9 -715,10 +675,9 @@@ public class GridExtent implements Seri * * @param index the dimension for which to obtain the coordinate value. * @return the low coordinate value at the given dimension, inclusive. - * @throws IndexOutOfBoundsException if the given index is negative or is equals or greater + * @throws IndexOutOfBoundsException if the given index is negative or is equal or greater * than the {@linkplain #getDimension() grid dimension}. * - * @see #getLow() * @see #getHigh(int) * @see #withRange(int, long, long) */ @@@ -691,9 -733,10 +691,9 @@@ * * @param index the dimension for which to obtain the coordinate value. * @return the high coordinate value at the given dimension, <strong>inclusive</strong>. - * @throws IndexOutOfBoundsException if the given index is negative or is equals or greater + * @throws IndexOutOfBoundsException if the given index is negative or is equal or greater * than the {@linkplain #getDimension() grid dimension}. * - * @see #getHigh() * @see #getLow(int) * @see #withRange(int, long, long) */ diff --cc core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java index 7649a25e7e,ae9d2fc759..b70ac7460c --- a/core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java +++ b/core/sis-feature/src/main/java/org/apache/sis/filter/PropertyValue.java @@@ -29,17 -29,16 +29,16 @@@ import org.apache.sis.feature.builder.F import org.apache.sis.feature.builder.PropertyTypeBuilder; import org.apache.sis.feature.builder.AttributeTypeBuilder; import org.apache.sis.util.resources.Errors; - import org.apache.sis.internal.util.XPaths; // Branch-dependent imports -import org.opengis.feature.Feature; -import org.opengis.feature.FeatureType; -import org.opengis.feature.PropertyType; -import org.opengis.feature.AttributeType; -import org.opengis.feature.IdentifiedType; -import org.opengis.feature.Operation; -import org.opengis.feature.PropertyNotFoundException; -import org.opengis.filter.ValueReference; +import org.opengis.util.ScopedName; +import org.apache.sis.feature.AbstractFeature; +import org.apache.sis.feature.AbstractIdentifiedType; +import org.apache.sis.feature.AbstractOperation; +import org.apache.sis.feature.DefaultAttributeType; +import org.apache.sis.feature.DefaultFeatureType; +import org.apache.sis.internal.geoapi.filter.Name; +import org.apache.sis.internal.geoapi.filter.ValueReference; /** @@@ -108,9 -102,9 +107,9 @@@ abstract class PropertyValue<V> extend * @throws IllegalArgumentException if the given XPath is not supported. */ @SuppressWarnings("unchecked") - static <V> ValueReference<Feature,V> create(String xpath, final Class<V> type) { + static <V> ValueReference<AbstractFeature,V> create(String xpath, final Class<V> type) { boolean isVirtual = false; - List<String> path = XPaths.split(xpath); + List<String> path = XPath.split(xpath); split: if (path != null) { /* * If the XPath is like "/∗/property" where the root "/" is the feature instance, diff --cc core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java index fa897c6f2f,db88eca51d..e22cba941f --- a/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java +++ b/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java @@@ -50,6 -50,8 +50,7 @@@ import org.junit.runners.Suite org.apache.sis.feature.FeatureOperationsTest.class, org.apache.sis.feature.FeatureFormatTest.class, org.apache.sis.feature.FeaturesTest.class, + org.apache.sis.filter.XPathTest.class, - org.apache.sis.filter.CapabilitiesTest.class, org.apache.sis.filter.LeafExpressionTest.class, org.apache.sis.filter.LogicalFilterTest.class, org.apache.sis.filter.IdentifierFilterTest.class, diff --cc core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java index fb6a77b17f,052bf08b4d..4f258bd584 --- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java @@@ -75,7 -74,7 +75,8 @@@ import org.apache.sis.metadata.iso.exte import org.apache.sis.metadata.iso.extent.DefaultTemporalExtent; import org.apache.sis.internal.metadata.AxisNames; import org.apache.sis.internal.metadata.TransformationAccuracy; +import org.apache.sis.internal.referencing.ServicesForMetadata; + import org.apache.sis.internal.referencing.provider.AbstractProvider; import org.apache.sis.internal.referencing.ReferencingFactoryContainer; import org.apache.sis.internal.referencing.EllipsoidalHeightCombiner; import org.apache.sis.internal.referencing.VerticalDatumTypes; diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java index 9e8e0e5936,f8e57daec4..4f4b1f09f3 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java @@@ -55,14 -54,13 +54,12 @@@ import org.apache.sis.internal.referenc import org.apache.sis.internal.referencing.WKTUtilities; import org.apache.sis.internal.referencing.WKTKeywords; import org.apache.sis.io.wkt.Convention; - import org.apache.sis.io.wkt.FormattableObject; import org.apache.sis.io.wkt.Formatter; import org.apache.sis.util.ComparisonMode; - import org.apache.sis.util.Classes; // Branch-dependent imports -import org.opengis.referencing.cs.ParametricCS; -import org.opengis.referencing.crs.ParametricCRS; -import org.opengis.referencing.datum.ParametricDatum; +import org.apache.sis.referencing.cs.DefaultParametricCS; +import org.apache.sis.referencing.datum.DefaultParametricDatum; /**