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 c7d4b3ede731f8467ff2c08d2f26cee36982c27f Merge: 1cb46836e6 a2eed4d0f8 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Mon Jan 2 14:20:05 2023 +0100 Merge branch 'geoapi-4.0' into geoapi-3.1 Mostly use of Math.fma(…) and resolution of some compiler warnings. .../java/org/apache/sis/console/CommandRunner.java | 2 +- .../org/apache/sis/gui/coverage/GridTileCache.java | 2 +- .../org/apache/sis/gui/dataset/ResourceEvent.java | 3 + .../java/org/apache/sis/coverage/Category.java | 2 + .../org/apache/sis/coverage/RegionOfInterest.java | 6 +- .../org/apache/sis/coverage/SampleDimension.java | 2 + .../org/apache/sis/coverage/SampleRangeFormat.java | 2 +- .../main/java/org/apache/sis/coverage/ToNaN.java | 2 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 5 +- .../java/org/apache/sis/coverage/package-info.java | 2 +- .../apache/sis/feature/AbstractAssociation.java | 1 + .../org/apache/sis/feature/AbstractAttribute.java | 1 + .../org/apache/sis/feature/AbstractFeature.java | 3 +- .../apache/sis/feature/AbstractIdentifiedType.java | 4 + .../org/apache/sis/feature/AssociationView.java | 1 + .../java/org/apache/sis/feature/AttributeView.java | 2 +- .../apache/sis/feature/DefaultAssociationRole.java | 14 +- .../apache/sis/feature/DefaultAttributeType.java | 1 + .../org/apache/sis/feature/DefaultFeatureType.java | 5 + .../java/org/apache/sis/feature/DenseFeature.java | 2 + .../org/apache/sis/feature/EnvelopeOperation.java | 4 + .../java/org/apache/sis/feature/FeatureFormat.java | 5 +- .../sis/feature/FeatureOperationException.java | 1 + .../sis/feature/InvalidFeatureException.java | 1 + .../java/org/apache/sis/feature/LinkOperation.java | 1 + .../org/apache/sis/feature/NamedFeatureType.java | 2 + .../java/org/apache/sis/feature/PropertyView.java | 2 +- .../apache/sis/feature/SingletonAssociation.java | 1 + .../org/apache/sis/feature/SingletonAttribute.java | 1 + .../java/org/apache/sis/feature/SparseFeature.java | 1 + .../apache/sis/feature/StringJoinOperation.java | 4 + .../apache/sis/feature/builder/TypeBuilder.java | 1 - .../java/org/apache/sis/filter/BinaryFunction.java | 4 +- .../apache/sis/filter/BinaryGeometryFilter.java | 5 +- .../org/apache/sis/filter/ComparisonFilter.java | 1 - .../org/apache/sis/filter/ConvertFunction.java | 2 +- .../org/apache/sis/filter/DefaultSortProperty.java | 2 +- .../java/org/apache/sis/filter/DistanceFilter.java | 2 +- .../java/org/apache/sis/filter/LeafExpression.java | 2 +- .../java/org/apache/sis/filter/LikeFilter.java | 2 +- .../java/org/apache/sis/filter/LogicalFilter.java | 4 +- .../java/org/apache/sis/filter/PropertyValue.java | 3 +- .../java/org/apache/sis/filter/UnaryFunction.java | 2 +- .../org/apache/sis/index/tree/NodeIterator.java | 1 + .../java/org/apache/sis/index/tree/PointTree.java | 15 +- .../org/apache/sis/index/tree/PointTreeNode.java | 15 +- .../org/apache/sis/index/tree/QuadTreeNode.java | 7 +- .../org/apache/sis/internal/feature/Resources.java | 1 - .../internal/feature/SpatialOperationContext.java | 8 +- .../sis/internal/feature/j2d/ShapeWrapper.java | 1 + .../feature/jts/PackedCoordinateSequence.java | 5 + .../sis/internal/filter/GeometryConverter.java | 2 +- .../sis/internal/filter/SortByComparator.java | 1 + .../internal/filter/sqlmm/FunctionWithSRID.java | 1 + .../internal/filter/sqlmm/GeometryConstructor.java | 1 + .../sis/internal/filter/sqlmm/OneGeometry.java | 3 +- .../apache/sis/internal/filter/sqlmm/ST_Point.java | 1 + .../sis/internal/filter/sqlmm/ST_Transform.java | 1 + .../sis/internal/filter/sqlmm/TwoGeometries.java | 2 + .../sis/internal/processing/isoline/Fragments.java | 2 +- .../sis/internal/jaxb/IdentifierMapAdapter.java | 2 +- .../sis/internal/jaxb/NonMarshalledAuthority.java | 1 - .../sis/internal/jaxb/SpecializedIdentifier.java | 2 +- .../sis/internal/jaxb/lan/LocaleAndCharset.java | 4 +- .../apache/sis/internal/metadata/Resources.java | 1 - .../sis/internal/simple/SimpleAttributeType.java | 1 + .../internal/simple/SimpleIdentifiedObject.java | 1 + .../sis/internal/simple/SimpleIdentifier.java | 1 + .../org/apache/sis/metadata/MetadataFormat.java | 2 +- .../org/apache/sis/metadata/MetadataStandard.java | 2 +- .../org/apache/sis/metadata/iso/ISOMetadata.java | 2 +- .../apache/sis/metadata/sql/MetadataWriter.java | 6 +- .../org/apache/sis/util/iso/DefaultRecord.java | 2 +- .../org/apache/sis/util/iso/DefaultRecordType.java | 2 +- .../org/apache/sis/util/iso/DefaultTypeName.java | 2 +- .../org/apache/sis/util/iso/RecordDefinition.java | 2 +- .../main/java/org/apache/sis/util/iso/Types.java | 1 + .../main/java/org/apache/sis/xml/NilReason.java | 3 +- .../src/main/java/org/apache/sis/xml/XLink.java | 1 + .../sis/metadata/iso/extent/ExtentsTest.java | 1 - .../apache/sis/test/xml/DocumentComparator.java | 6 +- .../org/apache/sis/geometry/AbstractEnvelope.java | 12 +- .../org/apache/sis/geometry/ArrayEnvelope.java | 1 + .../org/apache/sis/geometry/CoordinateFormat.java | 8 +- .../org/apache/sis/geometry/DirectPosition1D.java | 1 + .../org/apache/sis/geometry/DirectPosition2D.java | 1 + .../java/org/apache/sis/geometry/Envelope2D.java | 1 + .../java/org/apache/sis/geometry/Envelopes.java | 3 - .../apache/sis/geometry/GeneralDirectPosition.java | 1 + .../org/apache/sis/geometry/GeneralEnvelope.java | 5 +- .../java/org/apache/sis/geometry/Shapes2D.java | 1 - .../internal/referencing/EPSGParameterDomain.java | 1 + .../apache/sis/internal/referencing/Formulas.java | 10 +- .../apache/sis/internal/referencing/RTreeNode.java | 1 + .../referencing/j2d/AffineTransform2D.java | 2 +- .../referencing/j2d/IntervalRectangle.java | 8 +- .../referencing/j2d/ParameterizedAffine.java | 3 +- .../sis/internal/referencing/j2d/package-info.java | 2 +- .../sis/internal/referencing/package-info.java | 2 +- .../referencing/provider/DatumShiftGridFile.java | 3 + .../referencing/provider/DatumShiftGridGroup.java | 5 +- .../provider/FranceGeocentricInterpolation.java | 5 +- .../referencing/provider/GeocentricAffine.java | 1 - .../provider/MolodenskyInterpolation.java | 3 + .../sis/internal/referencing/provider/NADCON.java | 5 +- .../sis/internal/referencing/provider/NTv2.java | 3 +- .../referencing/provider/package-info.java | 2 +- .../main/java/org/apache/sis/io/wkt/Formatter.java | 1 - .../apache/sis/io/wkt/GeodeticObjectParser.java | 1 - .../java/org/apache/sis/io/wkt/StoredTree.java | 1 + .../main/java/org/apache/sis/io/wkt/WKTFormat.java | 5 +- .../main/java/org/apache/sis/io/wkt/Warnings.java | 25 +-- .../java/org/apache/sis/io/wkt/package-info.java | 2 +- .../parameter/DefaultParameterDescriptorGroup.java | 3 +- .../sis/parameter/DefaultParameterValue.java | 4 +- .../apache/sis/parameter/FilteredParameters.java | 3 +- .../sis/parameter/MapProjectionParameters.java | 3 + .../org/apache/sis/parameter/ParameterFormat.java | 6 +- .../apache/sis/parameter/ParameterValueList.java | 4 +- .../java/org/apache/sis/parameter/Parameters.java | 3 +- .../org/apache/sis/parameter/TensorParameters.java | 2 +- .../org/apache/sis/parameter/TensorValues.java | 2 +- .../sis/parameter/UninitializedParameter.java | 2 +- .../parameter/UnmodifiableParameterValueGroup.java | 4 +- .../sis/referencing/AbstractIdentifiedObject.java | 8 +- .../sis/referencing/AbstractReferenceSystem.java | 4 +- .../sis/referencing/ImmutableIdentifier.java | 4 +- .../org/apache/sis/referencing/Properties.java | 1 + .../apache/sis/referencing/crs/AbstractCRS.java | 2 +- .../sis/referencing/crs/AbstractDerivedCRS.java | 2 +- .../sis/referencing/crs/DefaultCompoundCRS.java | 1 + .../sis/referencing/crs/DefaultEngineeringCRS.java | 2 +- .../sis/referencing/crs/DefaultGeodeticCRS.java | 1 + .../sis/referencing/crs/DefaultImageCRS.java | 1 + .../sis/referencing/crs/DefaultParametricCRS.java | 1 + .../sis/referencing/crs/DefaultTemporalCRS.java | 1 + .../sis/referencing/crs/DefaultVerticalCRS.java | 1 + .../org/apache/sis/referencing/cs/AbstractCS.java | 2 +- .../sis/referencing/cs/DefaultCompoundCS.java | 5 +- .../cs/DefaultCoordinateSystemAxis.java | 1 + .../sis/referencing/datum/AbstractDatum.java | 3 + .../sis/referencing/datum/BursaWolfParameters.java | 2 + .../sis/referencing/datum/DatumShiftGrid.java | 3 + .../sis/referencing/datum/DefaultEllipsoid.java | 1 + .../referencing/datum/DefaultGeodeticDatum.java | 2 + .../referencing/datum/DefaultPrimeMeridian.java | 1 + .../org/apache/sis/referencing/datum/Sphere.java | 3 - .../factory/ConcurrentAuthorityFactory.java | 1 - .../factory/UnavailableFactoryException.java | 4 +- .../sis/referencing/factory/package-info.java | 2 +- .../referencing/factory/sql/EPSGDataAccess.java | 1 - .../operation/AbstractCoordinateOperation.java | 14 +- .../operation/AbstractSingleOperation.java | 4 +- .../operation/CoordinateOperationContext.java | 2 +- .../operation/CoordinateOperationFinder.java | 24 +-- .../operation/DefaultConcatenatedOperation.java | 2 +- .../sis/referencing/operation/DefaultFormula.java | 4 +- .../operation/DefaultOperationMethod.java | 4 +- .../operation/DefaultPassThroughOperation.java | 2 +- .../operation/InverseOperationMethod.java | 2 +- .../operation/builder/LinearTransformBuilder.java | 1 - .../builder/LocalizationGridException.java | 1 + .../operation/builder/ResidualGrid.java | 1 + .../operation/matrix/GeneralMatrix.java | 67 +++++-- .../sis/referencing/operation/matrix/Matrices.java | 55 +++--- .../referencing/operation/matrix/MatrixSIS.java | 10 +- .../operation/matrix/UnmodifiableMatrix.java | 1 + .../referencing/operation/matrix/package-info.java | 2 +- .../sis/referencing/operation/package-info.java | 2 +- .../operation/projection/AuthalicConversion.java | 18 +- .../operation/projection/ConformalProjection.java | 27 +-- .../referencing/operation/projection/Inverter.java | 2 +- .../projection/LambertAzimuthalEqualArea.java | 12 +- .../referencing/operation/projection/Mercator.java | 6 - .../operation/projection/MeridianArcBased.java | 58 ++++-- .../operation/projection/NormalizedProjection.java | 2 +- .../operation/projection/ZonedGridSystem.java | 3 + .../operation/projection/package-info.java | 2 +- .../transform/AbstractLinearTransform.java | 14 +- .../operation/transform/ConcatenatedTransform.java | 3 + .../operation/transform/ConstantTransform1D.java | 13 +- .../operation/transform/ContextualParameters.java | 18 +- .../operation/transform/DatumShiftTransform.java | 2 + .../transform/DefaultMathTransformFactory.java | 3 +- .../transform/EllipsoidToCentricTransform.java | 1 + .../transform/ExponentialTransform1D.java | 1 + .../operation/transform/IdentityTransform1D.java | 4 +- .../transform/InterpolatedGeocentricTransform.java | 1 + .../transform/InterpolatedMolodenskyTransform.java | 4 + .../InterpolatedMolodenskyTransform2D.java | 3 + .../operation/transform/LinearInterpolator1D.java | 11 +- .../operation/transform/LinearTransform1D.java | 200 ++++++++++++++++----- .../transform/LogarithmicTransform1D.java | 1 + .../operation/transform/MathTransforms.java | 8 +- .../operation/transform/PassThroughTransform.java | 1 + .../operation/transform/PoleRotation.java | 1 + .../operation/transform/ProjectiveTransform.java | 27 ++- .../transform/SpecializableTransform.java | 5 + .../operation/transform/TransferFunction.java | 1 + .../operation/transform/TransformAdapter2D.java | 1 + .../sis/referencing/factory/TestFactorySource.java | 1 - .../factory/sql/epsg/DataScriptFormatter.java | 1 - .../operation/CoordinateOperationFinderTest.java | 4 +- .../operation/matrix/GeneralMatrixTest.java | 5 +- .../referencing/operation/matrix/MatricesTest.java | 19 +- .../operation/matrix/MatrixTestCase.java | 31 ++-- .../operation/projection/SinusoidalTest.java | 2 +- .../operation/transform/SinusoidalShiftGrid.java | 2 +- .../sis/internal/converter/ArrayConverter.java | 1 + .../internal/converter/CharSequenceConverter.java | 1 + .../sis/internal/converter/FallbackConverter.java | 2 + .../sis/internal/converter/IdentityConverter.java | 8 +- .../sis/internal/converter/StringConverter.java | 22 +-- .../sis/internal/converter/package-info.java | 2 +- .../sis/internal/util/AutoMessageFormat.java | 2 +- .../apache/sis/internal/util/CheckedHashSet.java | 1 + .../org/apache/sis/internal/util/DoubleDouble.java | 70 ++------ .../sis/internal/util/SimpleCharacterIterator.java | 10 +- .../sis/internal/util/UnmodifiableArrayList.java | 1 + .../main/java/org/apache/sis/math/ArrayVector.java | 23 ++- .../org/apache/sis/math/ConcatenatedVector.java | 1 + .../org/apache/sis/math/LinearlyDerivedVector.java | 1 + .../java/org/apache/sis/math/MathFunctions.java | 37 ++-- .../java/org/apache/sis/math/RepeatedVector.java | 1 + .../main/java/org/apache/sis/math/Statistics.java | 1 + .../java/org/apache/sis/math/package-info.java | 2 +- .../org/apache/sis/measure/AbstractConverter.java | 2 +- .../apache/sis/measure/ConcatenatedConverter.java | 2 + .../org/apache/sis/measure/ConventionalUnit.java | 2 +- .../java/org/apache/sis/measure/DerivedScalar.java | 4 +- .../sis/measure/FormattedCharacterIterator.java | 23 +-- .../org/apache/sis/measure/LinearConverter.java | 36 ++-- .../org/apache/sis/measure/MeasurementRange.java | 1 + .../main/java/org/apache/sis/measure/Range.java | 1 + .../main/java/org/apache/sis/measure/Scalar.java | 2 +- .../apache/sis/measure/SexagesimalConverter.java | 2 +- .../java/org/apache/sis/measure/UnitDimension.java | 2 +- .../java/org/apache/sis/measure/UnitFormat.java | 5 +- .../main/java/org/apache/sis/measure/Units.java | 1 + .../src/main/java/org/apache/sis/setup/About.java | 2 +- .../sis/util/collection/DefaultTreeTable.java | 5 +- .../org/apache/sis/util/collection/DerivedMap.java | 6 +- .../org/apache/sis/util/collection/DerivedSet.java | 2 +- .../sis/util/collection/FrequencySortedSet.java | 3 +- .../org/apache/sis/util/collection/RangeSet.java | 1 + .../apache/sis/util/collection/TreeNodeList.java | 2 + .../sis/util/collection/TreeTableFormat.java | 14 +- .../resources/ResourceInternationalString.java | 1 + .../apache/sis/internal/util/DoubleDoubleTest.java | 8 +- .../measure/FormattedCharacterIteratorTest.java | 2 +- .../apache/sis/measure/LinearConverterTest.java | 1 - ide-project/NetBeans/nbproject/cfg_hints.xml | 52 ++++++ .../sis/internal/profile/fra/Constraints.java | 1 + .../internal/profile/fra/DataIdentification.java | 1 + .../profile/fra/DirectReferenceSystem.java | 2 +- .../profile/fra/IndirectReferenceSystem.java | 2 +- .../sis/internal/profile/fra/LegalConstraints.java | 1 + .../internal/profile/fra/SecurityConstraints.java | 1 + .../org/apache/sis/storage/geotiff/CRSBuilder.java | 3 +- .../sis/internal/netcdf/ucar/DecoderWrapper.java | 1 - .../apache/sis/storage/netcdf/MetadataReader.java | 1 - .../sis/internal/storage/wkt/StoreFormat.java | 2 +- .../apache/sis/storage/CanNotProbeException.java | 5 +- .../java/org/apache/sis/storage/CoverageQuery.java | 2 +- .../org/apache/sis/storage/DataStoreRegistry.java | 2 +- .../java/org/apache/sis/storage/FeatureQuery.java | 5 + .../org/apache/sis/storage/StorageConnector.java | 1 - .../storage/gpx/GroupAsPolylineOperation.java | 1 + 268 files changed, 955 insertions(+), 608 deletions(-) diff --cc core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java index d7618304d9,7b3b9d21f2..504756fe38 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java @@@ -52,7 -51,8 +52,8 @@@ public class SimpleIdentifiedObject imp /** * The primary name by which this object is identified. */ + @SuppressWarnings("serial") // Most SIS implementations are serializable. - protected Identifier name; + protected ReferenceIdentifier name; /** * Creates an identified object without identifier. diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java index 3057fd73cf,1f9d776561..307548b1e0 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java @@@ -180,8 -177,8 +180,8 @@@ public class AbstractIdentifiedObject e * @see #getName() * @see #getNames() */ - @SuppressWarnings("serial") // Not statically typed as Serializable. + @SuppressWarnings("serial") // Most SIS implementations are serializable. - private Identifier name; + private ReferenceIdentifier name; /** * An alternative name by which this object is identified, or {@code null} if none. @@@ -189,9 -186,9 +189,9 @@@ * we may get both on unmarshalling. * * <p><b>Consider this field as final!</b> - * This field is modified only at unmarshalling time by {@link Names#add(Identifier)}.</p> + * This field is modified only at unmarshalling time by {@code Names.add(Identifier)}.</p> */ - @SuppressWarnings("serial") // Not statically typed as Serializable. + @SuppressWarnings("serial") // Most SIS implementations are serializable. private Collection<GenericName> alias; /** @@@ -204,8 -201,8 +204,8 @@@ * @see #getIdentifiers() * @see #getIdentifier() */ - @SuppressWarnings("serial") // Not statically typed as Serializable. + @SuppressWarnings("serial") // Most SIS implementations are serializable. - private Set<Identifier> identifiers; + private Set<ReferenceIdentifier> identifiers; /** * Comments on or information about this object, or {@code null} if none. diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java index 1fd0b7390b,dbd6c52dcd..3a421fcb49 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java @@@ -71,8 -70,8 +71,8 @@@ final class DefaultConcatenatedOperatio * <p><b>Consider this field as final!</b> * This field is modified only at unmarshalling time by {@link #setSteps(CoordinateOperation[])}</p> */ - @SuppressWarnings("serial") // Not statically typed as Serializable. + @SuppressWarnings("serial") // Most SIS implementations are serializable. - private List<? extends CoordinateOperation> operations; + private List<SingleOperation> operations; /** * Constructs a concatenated operation from a set of properties and a diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java index fc4198a8a1,4ac1387348..38890ea54a --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java @@@ -75,8 -72,8 +75,8 @@@ public class DefaultPassThroughOperatio * * @see #getOperation() */ - @SuppressWarnings("serial") // Not statically typed as Serializable. + @SuppressWarnings("serial") // Most SIS implementations are serializable. - private CoordinateOperation operation; + private SingleOperation operation; /** * Constructs a pass-through operation from a set of properties.