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 f5bc633ac346e45db8e2cbab901c15cd7eb6e09e Merge: fee1fa85b1 9c4a34851d Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Tue Dec 13 11:33:53 2022 +0100 Merge branch 'geoapi-4.0' into geoapi-3.1. This is the upgrade from Java 8 to Java 11. https://issues.apache.org/jira/browse/SIS-561 README | 2 +- application/sis-console/pom.xml | 5 + .../org/apache/sis/console/IdentifierCommand.java | 1 + .../org/apache/sis/console/MetadataCommand.java | 4 +- .../apache/sis/console/ResourcesDownloader.java | 3 +- .../org/apache/sis/console/TransformCommand.java | 3 +- application/sis-javafx/pom.xml | 5 + application/sis-javafx/src/main/artifact/README | 6 +- application/sis-javafx/src/main/artifact/bin/sis | 2 +- .../sis-javafx/src/main/artifact/bin/sis.bat | 2 +- application/sis-javafx/src/main/artifact/bin/sisfx | 2 +- .../sis-javafx/src/main/artifact/bin/sisfx.bat | 2 +- .../main/java/org/apache/sis/gui/DataViewer.java | 3 +- .../main/java/org/apache/sis/gui/RecentFiles.java | 4 +- .../apache/sis/gui/coverage/CoverageControls.java | 4 +- .../apache/sis/gui/coverage/CoverageExplorer.java | 24 +- .../apache/sis/gui/coverage/CoverageStyling.java | 2 +- .../org/apache/sis/gui/coverage/package-info.java | 2 +- .../apache/sis/gui/dataset/ExpandedFeature.java | 6 +- .../org/apache/sis/gui/dataset/PathAction.java | 3 +- .../java/org/apache/sis/gui/map/StatusBar.java | 63 +--- .../java/org/apache/sis/gui/map/package-info.java | 2 +- .../sis/gui/metadata/StandardMetadataTree.java | 6 +- .../apache/sis/gui/referencing/AuthorityCodes.java | 3 +- .../gui/referencing/PositionableProjection.java | 2 +- .../gui/referencing/RecentReferenceSystems.java | 20 +- .../apache/sis/gui/referencing/package-info.java | 2 +- .../org/apache/sis/internal/gui/GUIUtilities.java | 4 +- .../apache/sis/internal/gui/ImageConverter.java | 5 +- .../org/apache/sis/internal/gui/RecentChoices.java | 4 +- .../apache/sis/internal/gui/GUIUtilitiesTest.java | 7 +- application/sis-openoffice/pom.xml | 5 + application/sis-webapp/pom.xml | 10 + .../org/apache/sis/services}/OSGiActivator.java | 7 +- .../org/apache/sis/services}/ServletListener.java | 8 +- .../org/apache/sis/internal/book/Assembler.java | 10 +- .../apache/sis/internal/book/CodeColorizer.java | 7 +- .../org/apache/sis/internal/book/package-info.java | 4 +- .../org/apache/sis/coverage/SampleDimension.java | 4 +- .../sis/coverage/grid/BufferedGridCoverage.java | 3 +- .../sis/coverage/grid/GridCoordinatesView.java | 5 +- .../org/apache/sis/coverage/grid/GridCoverage.java | 2 +- .../apache/sis/coverage/grid/GridCoverage2D.java | 3 +- .../apache/sis/coverage/grid/GridDerivation.java | 3 +- .../org/apache/sis/coverage/grid/GridExtent.java | 42 +-- .../apache/sis/coverage/grid/GridExtentCRS.java | 3 +- .../org/apache/sis/coverage/grid/GridGeometry.java | 31 +- .../apache/sis/coverage/grid/ImageRenderer.java | 3 +- .../apache/sis/coverage/grid/PixelTranslation.java | 23 +- .../org/apache/sis/coverage/grid/package-info.java | 2 +- .../org/apache/sis/feature/AbstractAttribute.java | 4 +- .../org/apache/sis/feature/AbstractFeature.java | 7 +- .../org/apache/sis/feature/DefaultFeatureType.java | 2 +- .../org/apache/sis/feature/FeatureOperations.java | 2 +- .../java/org/apache/sis/feature/LinkOperation.java | 3 +- .../sis/feature/builder/FeatureTypeBuilder.java | 9 +- .../org/apache/sis/filter/AssociationValue.java | 6 +- .../java/org/apache/sis/filter/BinaryFunction.java | 3 +- .../apache/sis/filter/BinaryGeometryFilter.java | 3 +- .../java/org/apache/sis/filter/Capabilities.java | 3 +- .../org/apache/sis/filter/ComparisonFilter.java | 3 +- .../org/apache/sis/filter/ConvertFunction.java | 4 +- .../java/org/apache/sis/filter/DistanceFilter.java | 7 +- .../org/apache/sis/filter/IdentifierFilter.java | 5 +- .../java/org/apache/sis/filter/LeafExpression.java | 3 +- .../java/org/apache/sis/filter/LikeFilter.java | 7 +- .../java/org/apache/sis/filter/LogicalFilter.java | 5 +- .../java/org/apache/sis/filter/Optimization.java | 5 +- .../java/org/apache/sis/filter/PropertyValue.java | 4 +- .../java/org/apache/sis/filter/UnaryFunction.java | 3 +- .../java/org/apache/sis/image/BandSelectImage.java | 3 +- .../java/org/apache/sis/image/ComputedImage.java | 2 +- .../java/org/apache/sis/image/ImageCombiner.java | 5 +- .../java/org/apache/sis/image/PlanarImage.java | 15 +- .../sis/image/PositionalConsistencyImage.java | 3 +- .../org/apache/sis/image/SourceAlignedImage.java | 3 +- .../main/java/org/apache/sis/image/TileCache.java | 3 +- .../org/apache/sis/index/tree/PointTreeNode.java | 2 +- .../org/apache/sis/index/tree/QuadTreeNode.java | 4 +- .../internal/coverage/j2d/BatchComputedImage.java | 4 +- .../internal/coverage/j2d/ColorModelFactory.java | 31 +- .../sis/internal/coverage/j2d/ColorModelPatch.java | 121 ------- .../internal/coverage/j2d/DeferredProperty.java | 4 +- .../sis/internal/coverage/j2d/ImageUtilities.java | 2 +- .../coverage/j2d/MultiBandsIndexColorModel.java | 43 ++- .../sis/internal/coverage/j2d/TiledImage.java | 4 +- .../sis/internal/coverage/j2d/package-info.java | 2 +- .../sis/internal/feature/AttributeConvention.java | 30 +- .../sis/internal/feature/GeometryFactories.java | 3 +- .../sis/internal/feature/MovingFeatures.java | 7 +- .../internal/feature/SpatialOperationContext.java | 5 +- .../apache/sis/internal/feature/j2d/Factory.java | 4 +- .../sis/internal/feature/j2d/PathBuilder.java | 2 +- .../apache/sis/internal/feature/j2d/Wrapper.java | 4 +- .../internal/feature/jts/PathIteratorAdapter.java | 6 +- .../sis/internal/feature/jts/ShapeConverter.java | 5 +- .../sis/internal/filter/GeometryConverter.java | 3 +- .../java/org/apache/sis/internal/filter/Node.java | 1 + .../sis/internal/filter/SortByComparator.java | 2 +- .../internal/filter/sqlmm/GeometryConstructor.java | 7 +- .../sis/internal/filter/sqlmm/OneGeometry.java | 7 +- .../apache/sis/internal/filter/sqlmm/Registry.java | 4 +- .../sis/internal/filter/sqlmm/ST_Transform.java | 3 +- .../sis/internal/filter/sqlmm/TwoGeometries.java | 7 +- .../internal/processing/image/TiledProcess.java | 3 +- .../coverage/grid/BufferedGridCoverageTest.java | 5 +- .../coverage/grid/ConvertedGridCoverageTest.java | 10 +- .../sis/coverage/grid/GridCoverage2DTest.java | 7 +- .../sis/coverage/grid/GridDerivationTest.java | 8 +- .../apache/sis/coverage/grid/GridExtentTest.java | 4 +- .../apache/sis/feature/AbstractOperationTest.java | 4 +- .../sis/feature/CharacteristicTypeMapTest.java | 15 +- .../org/apache/sis/feature/CustomAttribute.java | 7 +- .../sis/feature/DefaultAssociationRoleTest.java | 17 +- .../sis/feature/DefaultAttributeTypeTest.java | 5 +- .../apache/sis/feature/DefaultFeatureTypeTest.java | 3 +- .../org/apache/sis/feature/FeatureFormatTest.java | 7 +- .../apache/sis/feature/FeatureMemoryBenchmark.java | 11 +- .../apache/sis/feature/FeatureOperationsTest.java | 7 +- .../org/apache/sis/feature/FeatureTestCase.java | 20 +- .../org/apache/sis/feature/LinkOperationTest.java | 6 +- .../apache/sis/feature/PropertySingletonTest.java | 8 +- .../sis/feature/SingletonAssociationTest.java | 19 +- .../sis/feature/StringJoinOperationTest.java | 3 +- .../feature/builder/AttributeTypeBuilderTest.java | 13 +- .../builder/CharacteristicTypeBuilderTest.java | 6 +- .../feature/builder/FeatureTypeBuilderTest.java | 4 +- .../org/apache/sis/filter/LogicalFilterTest.java | 8 +- .../sis/internal/coverage/j2d/ColorizerTest.java | 4 +- .../internal/feature/AttributeConventionTest.java | 19 +- .../sis/internal/feature/GeometriesTestCase.java | 8 +- .../apache/sis/internal/feature/jts/JTSTest.java | 4 +- .../sis/internal/filter/FunctionNamesTest.java | 8 +- .../internal/filter/sqlmm/RegistryTestCase.java | 6 +- core/sis-metadata/pom.xml | 5 + .../sis/internal/jaxb/IdentifierMapAdapter.java | 8 +- .../sis/internal/jaxb/NonMarshalledAuthority.java | 5 +- .../apache/sis/internal/jaxb/TypeRegistration.java | 7 +- .../internal/jaxb/metadata/replace/SensorType.java | 2 +- .../apache/sis/internal/metadata/ExcludedSet.java | 2 - .../apache/sis/internal/metadata/NameMeaning.java | 27 +- .../sis/internal/metadata/RecordSchemaSIS.java | 5 +- .../internal/metadata/TransformationAccuracy.java | 6 +- .../sis/internal/xml/StreamWriterDelegate.java | 2 +- .../apache/sis/metadata/PropertyInformation.java | 4 +- .../java/org/apache/sis/metadata/TreeNode.java | 4 +- .../iso/DefaultExtendedElementInformation.java | 16 +- .../apache/sis/metadata/iso/DefaultMetadata.java | 50 +-- .../sis/metadata/iso/citation/DefaultCitation.java | 6 +- .../sis/metadata/iso/citation/DefaultContact.java | 12 +- .../iso/citation/DefaultResponsibleParty.java | 18 +- .../metadata/iso/citation/DefaultTelephone.java | 10 +- .../iso/constraint/DefaultReleasability.java | 26 +- .../sis/metadata/iso/constraint/package-info.java | 2 +- .../iso/content/DefaultCoverageDescription.java | 8 +- .../DefaultFeatureCatalogueDescription.java | 8 +- .../iso/content/DefaultRangeDimension.java | 4 +- .../metadata/iso/distribution/DefaultDataFile.java | 6 +- .../DefaultDigitalTransferOptions.java | 4 +- .../metadata/iso/distribution/DefaultFormat.java | 12 +- .../metadata/iso/distribution/DefaultMedium.java | 4 +- .../distribution/DefaultStandardOrderProcess.java | 24 -- .../iso/identification/AbstractIdentification.java | 4 +- .../DefaultAggregateInformation.java | 10 +- .../identification/DefaultDataIdentification.java | 8 +- .../metadata/iso/lineage/DefaultProcessStep.java | 4 +- .../sis/metadata/iso/lineage/DefaultSource.java | 8 +- .../maintenance/DefaultMaintenanceInformation.java | 12 +- .../sis/metadata/iso/quality/AbstractElement.java | 28 +- .../iso/quality/AbstractTemporalAccuracy.java | 2 +- .../iso/quality/DefaultCoverageResult.java | 6 +- .../metadata/iso/quality/DefaultDataQuality.java | 6 +- .../DefaultNonQuantitativeAttributeAccuracy.java | 2 +- .../iso/quality/DefaultQuantitativeResult.java | 6 +- .../sis/metadata/iso/quality/DefaultScope.java | 6 +- .../sis/metadata/iso/quality/DefaultUsability.java | 2 +- .../apache/sis/metadata/sql/MetadataWriter.java | 5 +- .../org/apache/sis/util/iso/DefaultLocalName.java | 3 +- .../apache/sis/util/iso/DefaultNameFactory.java | 2 +- .../org/apache/sis/util/iso/DefaultRecord.java | 3 +- .../org/apache/sis/util/iso/DefaultRecordType.java | 2 +- .../org/apache/sis/util/iso/DefaultTypeName.java | 17 +- .../main/java/org/apache/sis/util/iso/Names.java | 4 +- .../java/org/apache/sis/util/iso/package-info.java | 2 +- .../java/org/apache/sis/xml/Implementation.java | 55 +--- .../java/org/apache/sis/xml/MarshalContext.java | 2 +- .../java/org/apache/sis/xml/MarshallerPool.java | 4 +- .../main/java/org/apache/sis/xml/Namespaces.java | 71 ++-- .../src/main/java/org/apache/sis/xml/Pooled.java | 50 +-- .../java/org/apache/sis/xml/PooledTemplate.java | 7 +- .../main/java/org/apache/sis/xml/Transformer.java | 19 +- .../org/apache/sis/xml/TransformingReader.java | 6 +- .../org/apache/sis/xml/TransformingWriter.java | 11 +- .../src/main/java/org/apache/sis/xml/XML.java | 15 +- .../main/java/org/apache/sis/xml/package-info.java | 2 +- .../internal/jaxb/cat/CodeListMarshallingTest.java | 8 +- .../sis/internal/jaxb/cat/EnumMarshallingTest.java | 4 +- .../sis/internal/jaxb/gco/MultiplicityTest.java | 4 +- .../metadata/ImplementationHelperTest.java | 5 +- .../apache/sis/internal/metadata/MergerTest.java | 17 +- .../java/org/apache/sis/metadata/HashCodeTest.java | 8 +- .../apache/sis/metadata/InformationMapTest.java | 6 +- .../apache/sis/metadata/MetadataStandardTest.java | 5 +- .../sis/metadata/ModifiableMetadataTest.java | 8 +- .../apache/sis/metadata/PropertyAccessorTest.java | 11 +- .../java/org/apache/sis/metadata/PrunerTest.java | 12 +- .../java/org/apache/sis/metadata/TreeNodeTest.java | 10 +- .../apache/sis/metadata/TreeTableFormatTest.java | 19 +- .../java/org/apache/sis/metadata/ValueMapTest.java | 64 ++-- .../sis/metadata/iso/CustomMetadataTest.java | 4 +- .../sis/metadata/iso/citation/CitationsTest.java | 3 +- .../metadata/iso/citation/DefaultCitationTest.java | 24 +- .../metadata/iso/citation/DefaultContactTest.java | 8 +- .../iso/citation/DefaultResponsibilityTest.java | 6 +- .../constraint/DefaultLegalConstraintsTest.java | 4 +- .../sis/metadata/iso/extent/DefaultExtentTest.java | 4 +- .../identification/DefaultBrowseGraphicTest.java | 7 +- .../identification/DefaultCoupledResourceTest.java | 10 +- .../DefaultDataIdentificationTest.java | 16 +- .../DefaultServiceIdentificationTest.java | 10 +- .../metadata/iso/quality/AbstractElementTest.java | 4 +- .../iso/quality/DefaultDomainConsistencyTest.java | 7 +- .../iso/quality/DefaultQuantitativeResultTest.java | 11 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 4 +- .../sis/metadata/sql/MetadataSourceTest.java | 3 +- .../sis/metadata/sql/MetadataWriterTest.java | 4 +- .../java/org/apache/sis/test/MetadataAssert.java | 3 +- .../org/apache/sis/test/mock/MetadataMock.java | 3 +- .../apache/sis/test/xml/DocumentComparator.java | 26 +- .../org/apache/sis/test/xml/PackageVerifier.java | 49 +-- .../apache/sis/util/iso/DefaultRecordTypeTest.java | 4 +- .../apache/sis/util/iso/DefaultScopedNameTest.java | 7 +- .../apache/sis/util/iso/NameMarshallingTest.java | 4 +- .../java/org/apache/sis/util/iso/TypesTest.java | 3 +- .../org/apache/sis/xml/MarshallerPoolTest.java | 4 - .../org/apache/sis/xml/RenameListGenerator.java | 9 +- .../apache/sis/xml/TransformingNamespacesTest.java | 9 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 6 +- .../apache/sis/internal/map/ListChangeEvent.java | 9 +- .../org/apache/sis/internal/map/SEPortrayer.java | 7 +- .../coverage/MultiResolutionCoverageLoader.java | 5 +- .../main/java/org/apache/sis/portrayal/Canvas.java | 2 +- .../java/org/apache/sis/portrayal/MapLayers.java | 2 +- .../apache/sis/internal/map/SEPortrayerTest.java | 7 +- .../MultiResolutionCoverageLoaderTest.java | 13 +- core/sis-referencing-by-identifiers/pom.xml | 5 + .../referencing/gazetteer/FinalLocationType.java | 8 +- .../referencing/gazetteer/GazetteerFactory.java | 4 +- .../gazetteer/MilitaryGridReferenceSystem.java | 3 +- .../referencing/gazetteer/LocationTypeTest.java | 4 +- core/sis-referencing/pom.xml | 5 + .../org/apache/sis/geometry/CoordinateFormat.java | 3 +- .../java/org/apache/sis/geometry/Envelopes.java | 2 +- .../apache/sis/geometry/WraparoundAdjustment.java | 6 +- .../referencing/CC_GeneralOperationParameter.java | 5 +- .../jaxb/referencing/CC_OperationMethod.java | 5 +- .../referencing/CC_OperationParameterGroup.java | 2 +- .../sis/internal/referencing/AxisDirections.java | 22 +- .../internal/referencing/CoordinateOperations.java | 11 +- .../referencing/GeodeticObjectBuilder.java | 8 +- .../apache/sis/internal/referencing/Legacy.java | 10 +- .../referencing/PositionalAccuracyConstant.java | 4 +- .../internal/referencing/ReferencingUtilities.java | 4 +- .../internal/referencing/j2d/TileOrganizer.java | 2 +- .../sis/internal/referencing/provider/Affine.java | 8 +- .../provider/DatumShiftGridCompressed.java | 4 +- .../referencing/provider/DatumShiftGridFile.java | 2 +- .../provider/FranceGeocentricInterpolation.java | 6 +- .../referencing/provider/GeodeticOperation.java | 2 +- .../referencing/provider/MapProjection.java | 4 +- .../referencing/provider/MapProjection3D.java | 6 +- .../internal/referencing/provider/Molodensky.java | 3 +- .../sis/internal/referencing/provider/NTv2.java | 2 +- .../provider/PolarStereographicNorth.java | 3 +- .../main/java/org/apache/sis/io/wkt/Element.java | 5 +- .../main/java/org/apache/sis/io/wkt/Formatter.java | 5 +- .../apache/sis/io/wkt/GeodeticObjectParser.java | 8 +- .../org/apache/sis/io/wkt/MathTransformParser.java | 3 +- .../org/apache/sis/io/wkt/SingletonElement.java | 2 +- .../java/org/apache/sis/io/wkt/Transliterator.java | 23 +- .../java/org/apache/sis/io/wkt/VerticalInfo.java | 3 +- .../java/org/apache/sis/io/wkt/WKTDictionary.java | 12 +- .../main/java/org/apache/sis/io/wkt/WKTFormat.java | 3 +- .../parameter/DefaultParameterDescriptorGroup.java | 13 +- .../sis/parameter/DefaultParameterValueGroup.java | 3 +- .../sis/parameter/MapProjectionParameters.java | 13 +- .../org/apache/sis/parameter/ParameterFormat.java | 3 +- .../org/apache/sis/parameter/TensorParameters.java | 5 +- .../sis/referencing/AbstractIdentifiedObject.java | 2 +- .../java/org/apache/sis/referencing/Builder.java | 4 +- .../main/java/org/apache/sis/referencing/CRS.java | 29 +- .../java/org/apache/sis/referencing/CommonCRS.java | 5 +- .../sis/referencing/EPSGFactoryFallback.java | 3 +- .../sis/referencing/crs/DefaultCompoundCRS.java | 14 +- .../cs/DefaultCoordinateSystemAxis.java | 27 +- .../org/apache/sis/referencing/cs/Normalizer.java | 3 +- .../sis/referencing/datum/DatumShiftGrid.java | 4 +- .../org/apache/sis/referencing/datum/formulas.html | 2 +- .../referencing/factory/AuthorityFactoryProxy.java | 31 +- .../sis/referencing/factory/CacheRecord.java | 2 +- .../factory/CommonAuthorityFactory.java | 4 +- .../factory/GeodeticAuthorityFactory.java | 5 +- .../referencing/factory/GeodeticObjectFactory.java | 12 +- .../factory/IdentifiedObjectFinder.java | 5 +- .../referencing/factory/IdentifiedObjectSet.java | 2 +- .../factory/MultiAuthoritiesFactory.java | 6 +- .../referencing/factory/sql/EPSGCodeFinder.java | 15 +- .../referencing/factory/sql/EPSGDataAccess.java | 13 +- .../sis/referencing/factory/sql/EPSGFactory.java | 5 +- .../factory/sql/InstallationScriptProvider.java | 3 +- .../operation/AbstractCoordinateOperation.java | 5 +- .../operation/AbstractSingleOperation.java | 2 +- .../operation/CoordinateOperationFinder.java | 2 +- .../operation/CoordinateOperationRegistry.java | 5 +- .../operation/DefaultConcatenatedOperation.java | 10 +- .../DefaultCoordinateOperationFactory.java | 14 +- .../operation/DefaultOperationMethod.java | 20 +- .../operation/InverseOperationMethod.java | 2 +- .../operation/builder/LinearTransformBuilder.java | 2 +- .../operation/builder/ResidualGrid.java | 5 +- .../sis/referencing/operation/matrix/Matrices.java | 2 +- .../transform/CoordinateSystemTransform.java | 3 +- .../transform/DefaultMathTransformFactory.java | 46 +-- .../transform/EllipsoidToCentricTransform.java | 5 +- .../operation/transform/MathTransformProvider.java | 2 +- .../operation/transform/MathTransforms.java | 5 +- .../operation/transform/PoleRotation.java | 6 +- .../transform/SpecializableTransform.java | 7 +- .../referencing/operation/transform/formulas.html | 2 +- .../operation/transform/package-info.java | 2 +- .../org/apache/sis/referencing/package-info.java | 2 +- .../org/apache/sis/geometry/EnvelopesTest.java | 4 +- .../CC_OperationParameterGroupTest.java | 9 +- .../sis/internal/jaxb/referencing/CodeTest.java | 6 +- .../referencing/SecondDefiningParameterTest.java | 16 +- .../referencing/EllipsoidalHeightCombinerTest.java | 7 +- .../sis/internal/referencing/FormulasTest.java | 7 +- .../sis/internal/referencing/WKTKeywordsTest.java | 5 +- .../provider/ParameterNameTableGenerator.java | 3 +- .../sis/io/wkt/GeodeticObjectParserTest.java | 4 +- .../org/apache/sis/io/wkt/WKTDictionaryTest.java | 12 +- .../java/org/apache/sis/io/wkt/WKTFormatTest.java | 7 +- .../DefaultParameterDescriptorGroupTest.java | 9 +- .../parameter/DefaultParameterValueGroupTest.java | 16 +- .../sis/parameter/DefaultParameterValueTest.java | 4 +- .../sis/parameter/MapProjectionParametersTest.java | 3 +- .../apache/sis/parameter/ParameterFormatTest.java | 2 +- .../sis/parameter/ParameterMarshallingTest.java | 7 +- .../org/apache/sis/parameter/ParametersTest.java | 6 +- .../apache/sis/parameter/TensorParametersTest.java | 3 +- .../org/apache/sis/parameter/TensorValuesTest.java | 10 +- .../referencing/AbstractIdentifiedObjectTest.java | 11 +- .../sis/referencing/EPSGFactoryFallbackTest.java | 24 +- .../sis/referencing/crs/AbstractCRSTest.java | 10 +- .../referencing/crs/DefaultCompoundCRSTest.java | 23 +- .../sis/referencing/crs/DefaultDerivedCRSTest.java | 4 +- .../referencing/crs/DefaultEngineeringCRSTest.java | 10 +- .../sis/referencing/crs/DefaultImageCRSTest.java | 10 +- .../referencing/crs/DefaultTemporalCRSTest.java | 6 +- .../apache/sis/referencing/crs/HardCodedCRS.java | 11 +- .../apache/sis/referencing/cs/AbstractCSTest.java | 18 +- .../sis/referencing/cs/CoordinateSystemsTest.java | 16 +- .../sis/referencing/cs/DefaultCartesianCSTest.java | 9 +- .../sis/referencing/cs/DefaultCompoundCSTest.java | 5 +- .../cs/DefaultCoordinateSystemAxisTest.java | 4 +- .../referencing/cs/DefaultCylindricalCSTest.java | 4 +- .../sis/referencing/cs/DefaultPolarCSTest.java | 4 +- .../sis/referencing/cs/DefaultSphericalCSTest.java | 4 +- .../org/apache/sis/referencing/cs/HardCodedCS.java | 31 +- .../apache/sis/referencing/cs/NormalizerTest.java | 8 +- .../datum/DefaultPrimeMeridianTest.java | 5 +- .../datum/DefaultVerticalDatumTest.java | 11 +- .../factory/CommonAuthorityFactoryTest.java | 18 +- .../factory/GeodeticObjectFactoryTest.java | 3 +- .../factory/IdentifiedObjectFinderTest.java | 4 +- .../factory/MultiAuthoritiesFactoryTest.java | 30 +- .../factory/sql/epsg/DataScriptFormatter.java | 3 +- .../operation/CoordinateOperationFinderTest.java | 11 +- .../DefaultConcatenatedOperationTest.java | 12 +- .../operation/DefaultConversionTest.java | 13 +- .../operation/HardCodedConversions.java | 12 +- .../builder/LinearTransformBuilderTest.java | 7 +- .../sis/referencing/operation/projection/NoOp.java | 6 +- .../projection/SatelliteTrackingTest.java | 4 +- .../operation/transform/CoordinateDomain.java | 2 +- .../transform/DefaultMathTransformFactoryTest.java | 3 +- .../transform/MathTransformFactoryBase.java | 3 +- .../transform/MathTransformFactoryMock.java | 3 +- .../transform/OperationMethodSetTest.java | 10 +- .../operation/transform/SinusoidalShiftGrid.java | 4 +- .../transform/WraparoundTransformTest.java | 10 +- .../report/CoordinateOperationMethods.java | 2 +- .../report/CoordinateReferenceSystems.java | 11 +- .../sis/test/integration/ConsistencyTest.java | 7 +- .../apache/sis/test/integration/MetadataTest.java | 90 +++-- core/sis-utility/pom.xml | 16 - .../sis/internal/converter/SystemRegistry.java | 7 +- .../sis/internal/converter/package-info.java | 7 +- .../sis/internal/{jdk9 => jdk17}/HexFormat.java | 2 +- .../java/org/apache/sis/internal/jdk17/JDK17.java | 72 ++++ .../sis/internal/{jdk9 => jdk17}/package-info.java | 6 +- .../java/org/apache/sis/internal/jdk9/JDK9.java | 366 --------------------- .../sis/internal/system/DefaultFactories.java | 76 +++-- .../apache/sis/internal/system/SystemListener.java | 3 +- .../apache/sis/internal/system/package-info.java | 2 +- .../java/org/apache/sis/internal/util/Cloner.java | 8 +- .../apache/sis/internal/util/CollectionsExt.java | 232 ++++--------- .../apache/sis/internal/util/DefinitionURI.java | 13 +- .../apache/sis/internal/util/FinalFieldSetter.java | 6 +- .../org/apache/sis/internal/util/Numerics.java | 16 +- .../org/apache/sis/internal/util/package-info.java | 2 +- .../main/java/org/apache/sis/math/ArrayVector.java | 13 +- .../main/java/org/apache/sis/math/Fraction.java | 17 +- .../org/apache/sis/math/LinearlyDerivedVector.java | 8 +- .../java/org/apache/sis/math/MathFunctions.java | 2 +- .../java/org/apache/sis/math/SequenceVector.java | 5 +- .../java/org/apache/sis/math/StatisticsFormat.java | 2 +- .../src/main/java/org/apache/sis/math/Vector.java | 41 +-- .../org/apache/sis/measure/AbstractConverter.java | 3 +- .../java/org/apache/sis/measure/UnitDimension.java | 23 +- .../java/org/apache/sis/measure/UnitFormat.java | 10 +- .../src/main/java/org/apache/sis/setup/About.java | 3 +- .../java/org/apache/sis/setup/GeometryLibrary.java | 2 - .../main/java/org/apache/sis/setup/OptionKey.java | 2 +- .../apache/sis/setup/OptionalInstallations.java | 3 +- .../java/org/apache/sis/util/CharSequences.java | 4 +- .../src/main/java/org/apache/sis/util/Classes.java | 4 +- .../sis/util/DefaultInternationalString.java | 10 +- .../src/main/java/org/apache/sis/util/Locales.java | 2 +- .../sis/util/collection/BackingStoreException.java | 2 +- .../sis/util/collection/DefaultTreeTable.java | 20 +- .../sis/util/collection/FrequencySortedSet.java | 3 +- .../apache/sis/util/collection/IntegerList.java | 9 +- .../apache/sis/util/collection/TableColumn.java | 3 +- .../sis/util/collection/TreeTableFormat.java | 4 +- .../java/org/apache/sis/util/logging/Logging.java | 86 ++--- .../apache/sis/util/logging/PerformanceLevel.java | 8 +- .../org/apache/sis/util/logging/package-info.java | 2 +- .../java/org/apache/sis/util/resources/Loader.java | 3 +- .../apache/sis/internal/util/AbstractMapTest.java | 3 +- .../sis/internal/util/CheckedArrayListTest.java | 6 +- .../sis/internal/util/CollectionsExtTest.java | 27 +- .../org/apache/sis/internal/util/NumericsTest.java | 35 +- .../org/apache/sis/measure/SystemUnitTest.java | 9 +- .../org/apache/sis/measure/UnitDimensionTest.java | 3 +- .../org/apache/sis/measure/UnitServicesTest.java | 4 +- .../org/apache/sis/test/ProjectDirectories.java | 3 +- .../test/java/org/apache/sis/test/TestRunner.java | 3 +- .../org/apache/sis/util/collection/CacheTest.java | 10 +- .../sis/util/collection/CodeListSetTest.java | 2 +- .../apache/sis/util/collection/DerivedSetTest.java | 10 +- .../util/collection/FrequencySortedSetTest.java | 3 +- .../sis/util/collection/IntegerListTest.java | 5 +- .../apache/sis/util/collection/LargeCodeList.java | 2 +- ide-project/NetBeans/nbproject/build-impl.xml | 25 +- ide-project/NetBeans/nbproject/genfiles.properties | 6 +- ide-project/NetBeans/nbproject/project.properties | 17 +- ide-project/NetBeans/nbproject/project.xml | 1 - pom.xml | 28 +- .../profile/fra/DirectReferenceSystemTest.java | 6 +- .../apache/sis/internal/earth/netcdf/GCOM_C.java | 33 +- .../apache/sis/internal/earth/netcdf/GCOM_W.java | 32 +- src/main/javadoc/overview.html | 2 +- storage/pom.xml | 5 + .../storage/inflater/CompressionChannel.java | 3 +- .../internal/storage/inflater/CopyFromBytes.java | 8 +- .../storage/inflater/HorizontalPredictor.java | 4 +- .../storage/inflater/PredictorChannel.java | 4 +- .../apache/sis/internal/storage/inflater/ZIP.java | 31 +- .../internal/storage/inflater/package-info.java | 2 +- .../org/apache/sis/storage/geotiff/CRSBuilder.java | 7 +- .../sis/storage/geotiff/CompressedSubset.java | 2 +- .../org/apache/sis/storage/geotiff/DataSubset.java | 2 +- .../apache/sis/storage/geotiff/Localization.java | 2 +- .../sis/storage/geotiff/MultiResolutionImage.java | 2 +- .../sis/storage/geotiff/ReversedBitsChannel.java | 2 +- .../apache/sis/storage/geotiff/XMLMetadata.java | 4 +- .../java/org/apache/sis/internal/netcdf/Axis.java | 2 +- .../org/apache/sis/internal/netcdf/CRSBuilder.java | 3 +- .../org/apache/sis/internal/netcdf/Convention.java | 5 +- .../org/apache/sis/internal/netcdf/FeatureSet.java | 2 +- .../apache/sis/internal/netcdf/GridMapping.java | 3 +- .../apache/sis/internal/netcdf/RasterResource.java | 5 +- .../org/apache/sis/internal/netcdf/Variable.java | 2 +- .../sis/internal/netcdf/impl/ChannelDecoder.java | 10 +- .../sis/internal/netcdf/impl/VariableInfo.java | 3 +- .../sis/internal/netcdf/ucar/DecoderWrapper.java | 6 +- .../sis/internal/netcdf/ucar/VariableWrapper.java | 4 +- .../apache/sis/storage/netcdf/MetadataReader.java | 16 +- .../org/apache/sis/storage/netcdf/NetcdfStore.java | 2 +- storage/sis-sqlstore/pom.xml | 5 + .../apache/sis/internal/sql/feature/Analyzer.java | 3 +- .../sis/internal/sql/feature/BinaryEncoding.java | 2 +- .../apache/sis/internal/sql/feature/Database.java | 4 +- .../sis/internal/sql/feature/PrimaryKey.java | 5 +- .../sis/internal/sql/feature/QueryAnalyzer.java | 2 +- .../sis/internal/sql/feature/TableAnalyzer.java | 2 +- .../sis/internal/sql/postgis/RasterReader.java | 3 +- .../apache/sis/storage/sql/ResourceDefinition.java | 6 +- .../sis/internal/storage/StoreUtilities.java | 3 +- .../sis/internal/storage/TiledGridCoverage.java | 2 +- .../org/apache/sis/internal/storage/csv/Store.java | 5 +- .../sis/internal/storage/esri/CharactersView.java | 6 +- .../sis/internal/storage/esri/RawRasterReader.java | 2 +- .../apache/sis/internal/storage/folder/Store.java | 5 +- .../apache/sis/internal/storage/io/ByteWriter.java | 5 +- .../sis/internal/storage/io/ChannelFactory.java | 3 +- .../sis/internal/storage/wkt/FirstKeywordPeek.java | 2 +- .../sis/internal/storage/xml/AbstractProvider.java | 45 ++- .../org/apache/sis/internal/storage/xml/Store.java | 3 +- .../sis/internal/storage/xml/StoreProvider.java | 19 +- .../sis/internal/storage/xml/package-info.java | 2 +- .../sis/storage/AbstractGridCoverageResource.java | 3 +- .../java/org/apache/sis/storage/FeatureNaming.java | 6 +- .../apache/sis/storage/GridCoverageResource.java | 5 +- .../org/apache/sis/storage/StorageConnector.java | 7 +- .../storage/aggregate/AggregatedFeatureSet.java | 4 +- .../aggregate/ConcatenatedGridResource.java | 3 +- .../sis/storage/aggregate/GroupBySample.java | 2 +- .../sis/storage/aggregate/JoinFeatureSet.java | 13 +- .../apache/sis/storage/event/StoreListeners.java | 53 +-- .../org/apache/sis/storage/event/package-info.java | 2 +- .../sis/internal/storage/MetadataBuilderTest.java | 7 +- .../apache/sis/internal/storage/csv/StoreTest.java | 26 +- .../sis/internal/storage/folder/StoreTest.java | 6 +- .../internal/storage/xml/MimeTypeDetectorTest.java | 11 +- .../org/apache/sis/storage/GridResourceMock.java | 3 +- .../aggregate/ConcatenatedFeatureSetTest.java | 17 +- .../sis/storage/aggregate/JoinFeatureSetTest.java | 6 +- .../sis/test/storage/CoverageReadConsistency.java | 2 +- .../apache/sis/internal/storage/gpx/Copyright.java | 4 +- .../storage/gpx/GroupAsPolylineOperation.java | 6 +- .../apache/sis/internal/storage/gpx/Metadata.java | 2 +- .../org/apache/sis/internal/storage/gpx/Store.java | 2 +- .../sis/internal/storage/gpx/StoreProvider.java | 11 +- .../org/apache/sis/internal/storage/gpx/Types.java | 7 +- .../sis/internal/storage/gpx/WritableStore.java | 2 +- .../sis/internal/storage/gpx/package-info.java | 2 +- .../storage/xml/stream/FormattedWriter.java | 6 +- .../storage/xml/stream/StaxDataStoreProvider.java | 12 +- .../internal/storage/xml/stream/package-info.java | 2 +- .../sis/internal/storage/gpx/MetadataTest.java | 10 +- .../sis/internal/storage/gpx/UpdaterTest.java | 6 +- .../sis/internal/storage/gpx/WriterTest.java | 31 +- 544 files changed, 2127 insertions(+), 3284 deletions(-) diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java index fa5044a87c,ab15076f17..1b136c2330 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java @@@ -17,15 -17,15 +17,15 @@@ package org.apache.sis.metadata; import java.util.Locale; + import java.util.Set; import java.util.Collection; - import java.util.Collections; import java.lang.reflect.Method; import org.opengis.annotation.UML; -import org.opengis.annotation.Obligation; import org.opengis.metadata.Datatype; +import org.opengis.metadata.Obligation; import org.opengis.metadata.citation.Citation; import org.opengis.metadata.ExtendedElementInformation; -import org.opengis.metadata.citation.Responsibility; +import org.opengis.metadata.citation.ResponsibleParty; import org.opengis.util.CodeList; import org.opengis.util.InternationalString; import org.apache.sis.internal.simple.SimpleIdentifier; diff --cc core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java index a664ec48df,da521123ad..56f019dfd1 --- a/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java @@@ -259,11 -253,11 +259,11 @@@ public class DefaultDataIdentification * @deprecated Replaced by {@code getLocalesAndCharsets().values()}. */ @Override - @Deprecated + @Deprecated(since="1.0") @Dependencies("getLocalesAndCharsets") - @XmlElement(name = "characterSet", namespace = LegacyNamespaces.GMD) - public Collection<Charset> getCharacterSets() { - return FilterByVersion.LEGACY_METADATA.accept() ? LocaleAndCharset.getCharacterSets(getLocalesAndCharsets()) : null; + // @XmlElement at the end of this class. + public Collection<CharacterSet> getCharacterSets() { + return getLocalesAndCharsets().values().stream().map(CharacterSet::fromCharset).collect(Collectors.toSet()); } /** @@@ -277,14 -267,10 +277,14 @@@ * * @deprecated Replaced by putting values in {@link #getLocalesAndCharsets()} map. */ - @Deprecated + @Deprecated(since="1.0") - public void setCharacterSets(final Collection<? extends Charset> newValues) { + public void setCharacterSets(final Collection<? extends CharacterSet> newValues) { // TODO: delete after SIS 1.0 release (method not needed by JAXB). - setLocalesAndCharsets(LocaleAndCharset.setCharacterSets(getLocalesAndCharsets(), newValues)); + Collection<Charset> c = null; + if (newValues != null) { + c = newValues.stream().map(CharacterSet::toCharset).collect(Collectors.toSet()); + } + setLocalesAndCharsets(LocaleAndCharset.setCharacterSets(getLocalesAndCharsets(), c)); } /** diff --cc core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/EnumMarshallingTest.java index f16a26a77a,9a879c4ded..c74b632cf3 --- a/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/EnumMarshallingTest.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/EnumMarshallingTest.java @@@ -16,7 -16,8 +16,7 @@@ */ package org.apache.sis.internal.jaxb.cat; - import java.util.Arrays; + import java.util.List; -import java.util.EnumSet; import java.util.Collection; import javax.xml.bind.JAXBException; import org.opengis.metadata.identification.TopicCategory; diff --cc core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java index 036c7dfec0,5778228bd3..7c8550ccc7 --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeNodeTest.java @@@ -84,18 -84,16 +84,18 @@@ public final strictfp class TreeNodeTes static DefaultCitation metadataWithHierarchy() { final DefaultCitation citation = TreeNodeChildrenTest.metadataWithMultiOccurrences(); AbstractParty party = new DefaultOrganisation("Some organisation", null, null, null); - DefaultResponsibility responsibility = new DefaultResponsibility(Role.DISTRIBUTOR, null, party); + DefaultResponsibleParty responsibility = new DefaultResponsibleParty(Role.DISTRIBUTOR); - responsibility.setParties(singleton(party)); ++ responsibility.setParties(Set.of(party)); assertTrue(citation.getCitedResponsibleParties().add(responsibility)); // Add a second responsible party with deeper hierarchy. final DefaultContact contact = new DefaultContact(); final DefaultAddress address = new DefaultAddress(); - address.setElectronicMailAddresses(singleton("Some email")); - contact.setAddresses(singleton(address)); + address.setElectronicMailAddresses(Set.of("Some email")); + contact.setAddresses(Set.of(address)); party = new DefaultIndividual("Some person of contact", null, contact); - responsibility = new DefaultResponsibility(Role.POINT_OF_CONTACT, null, party); + responsibility = new DefaultResponsibleParty(Role.POINT_OF_CONTACT); - responsibility.setParties(singleton(party)); ++ responsibility.setParties(Set.of(party)); assertTrue(citation.getCitedResponsibleParties().add(responsibility)); return citation; } diff --cc core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeTableFormatTest.java index 9571ad9a5d,3044c96886..999ed5059c --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeTableFormatTest.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeTableFormatTest.java @@@ -112,11 -111,11 +111,11 @@@ public final strictfp class TreeTableFo final DefaultCitation titled = new DefaultCitation("Some specification"); final DefaultCitation coded = new DefaultCitation(); final DefaultCitation untitled = new DefaultCitation(); - titled .setPresentationForms(singleton(PresentationForm.DOCUMENT_HARDCOPY)); - coded .setPresentationForms(singleton(PresentationForm.IMAGE_HARDCOPY)); - untitled.setCitedResponsibleParties(singleton(new DefaultResponsibleParty(Role.AUTHOR))); + titled .setPresentationForms(Set.of(PresentationForm.DOCUMENT_HARDCOPY)); + coded .setPresentationForms(Set.of(PresentationForm.IMAGE_HARDCOPY)); - untitled.setCitedResponsibleParties(Set.of(new DefaultResponsibility(Role.AUTHOR, null, null))); ++ untitled.setCitedResponsibleParties(Set.of(new DefaultResponsibleParty(Role.AUTHOR))); final DefaultProcessing processing = new DefaultProcessing(); - processing.setDocumentations(asList(titled, coded, untitled)); + processing.setDocumentations(List.of(titled, coded, untitled)); final String text = format.format(processing.asTreeTable()); assertMultilinesEquals( "Processing\n" + diff --cc core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java index d51cbd2ef5,965966d77f..fc6053874c --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/ValueMapTest.java @@@ -91,10 -89,10 +89,10 @@@ public final strictfp class ValueMapTes */ private Map<String,Object> createCitation() { title = new SimpleInternationalString("Undercurrent"); - author = new DefaultResponsibility(); + author = new DefaultResponsibleParty(); citation = new DefaultCitation(title); - author.setParties(singleton(new DefaultIndividual("Testsuya Toyoda", null, null))); - citation.setCitedResponsibleParties(singleton(author)); + author.setParties(Set.of(new DefaultIndividual("Testsuya Toyoda", null, null))); + citation.setCitedResponsibleParties(Set.of(author)); citation.setISBN("9782505004509"); citation.setEdition(NilReason.UNKNOWN.createNilObject(InternationalString.class)); return MetadataStandard.ISO_19115.asValueMap(citation, null, KeyNamePolicy.JAVABEANS_PROPERTY, ValueExistencePolicy.NON_EMPTY); @@@ -167,14 -165,15 +165,14 @@@ assertFalse("'all' shall be a larger map than 'map'.", map.entrySet().containsAll(all.entrySet())); assertArrayEquals(new SimpleEntry<?,?>[] { new SimpleEntry<>("title", title), - new SimpleEntry<>("alternateTitles", emptyList()), - new SimpleEntry<>("dates", emptyList()), + new SimpleEntry<>("alternateTitles", List.of()), + new SimpleEntry<>("dates", List.of()), new SimpleEntry<>("identifiers", citation.getIdentifiers()), - new SimpleEntry<>("citedResponsibleParties", singletonList(author)), - new SimpleEntry<>("presentationForms", emptySet()), + new SimpleEntry<>("citedResponsibleParties", List.of(author)), + new SimpleEntry<>("presentationForms", Set.of()), - new SimpleEntry<>("otherCitationDetails", List.of()), new SimpleEntry<>("ISBN", "9782505004509"), - new SimpleEntry<>("onlineResources", emptyList()), - new SimpleEntry<>("graphics", emptyList()) + new SimpleEntry<>("onlineResources", List.of()), + new SimpleEntry<>("graphics", List.of()) }, all.entrySet().toArray()); } @@@ -196,15 -195,16 +194,15 @@@ assertFalse("'all' shall be a larger map than 'map'.", map.entrySet().containsAll(all.entrySet())); assertArrayEquals(new SimpleEntry<?,?>[] { new SimpleEntry<>("title", title), - new SimpleEntry<>("alternateTitles", emptyList()), - new SimpleEntry<>("dates", emptyList()), + new SimpleEntry<>("alternateTitles", List.of()), + new SimpleEntry<>("dates", List.of()), new SimpleEntry<>("edition", NilReason.UNKNOWN.createNilObject(InternationalString.class)), new SimpleEntry<>("identifiers", citation.getIdentifiers()), - new SimpleEntry<>("citedResponsibleParties", singletonList(author)), - new SimpleEntry<>("presentationForms", emptySet()), + new SimpleEntry<>("citedResponsibleParties", List.of(author)), + new SimpleEntry<>("presentationForms", Set.of()), - new SimpleEntry<>("otherCitationDetails", List.of()), new SimpleEntry<>("ISBN", "9782505004509"), - new SimpleEntry<>("onlineResources", emptyList()), - new SimpleEntry<>("graphics", emptyList()) + new SimpleEntry<>("onlineResources", List.of()), + new SimpleEntry<>("graphics", List.of()) }, all.entrySet().toArray()); } @@@ -229,10 -229,10 +227,10 @@@ new SimpleEntry<>("edition", NilReason.UNKNOWN.createNilObject(InternationalString.class)), new SimpleEntry<>("editionDate", null), new SimpleEntry<>("identifiers", citation.getIdentifiers()), - new SimpleEntry<>("citedResponsibleParties", singletonList(author)), - new SimpleEntry<>("presentationForms", emptySet()), + new SimpleEntry<>("citedResponsibleParties", List.of(author)), + new SimpleEntry<>("presentationForms", Set.of()), new SimpleEntry<>("series", null), - new SimpleEntry<>("otherCitationDetails", List.of()), + new SimpleEntry<>("otherCitationDetails", null), // new SimpleEntry<>("collectiveTitle", null), -- deprecated as of ISO 19115:2014. new SimpleEntry<>("ISBN", "9782505004509"), new SimpleEntry<>("ISSN", null), diff --cc core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java index 81be7caac4,13da8b21bd..8fe47ab471 --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java @@@ -83,20 -82,14 +83,20 @@@ public final strictfp class DefaultCita title.add(Locale.ENGLISH, "Undercurrent"); citation.setTitle(title); citation.setISBN("9782505004509"); - citation.setPresentationForms(Arrays.asList( + citation.setPresentationForms(List.of( PresentationForm.DOCUMENT_HARDCOPY, PresentationForm.DOCUMENT_DIGITAL)); - citation.setAlternateTitles(Collections.singleton( + citation.setAlternateTitles(Set.of( new SimpleInternationalString("Andākarento"))); // Actually a different script of the Japanese title. - citation.setCitedResponsibleParties(List.of( - new DefaultResponsibility(Role.AUTHOR, null, new DefaultIndividual("Testsuya Toyoda", null, null)), - new DefaultResponsibility(Role.EDITOR, Extents.WORLD, new DefaultOrganisation("Kōdansha", null, null, null)))); + + final DefaultResponsibleParty author = new DefaultResponsibleParty(Role.AUTHOR); - author.setParties(Collections.singleton(new DefaultIndividual("Testsuya Toyoda", null, null))); ++ author.setParties(Set.of(new DefaultIndividual("Testsuya Toyoda", null, null))); + + final DefaultResponsibleParty editor = new DefaultResponsibleParty(Role.EDITOR); - editor.setParties(Collections.singleton(new DefaultOrganisation("Kōdansha", null, null, null))); - editor.setExtents(Collections.singleton(Extents.WORLD)); ++ editor.setParties(Set.of(new DefaultOrganisation("Kōdansha", null, null, null))); ++ editor.setExtents(Set.of(Extents.WORLD)); + - citation.setCitedResponsibleParties(Arrays.asList(author, editor)); ++ citation.setCitedResponsibleParties(List.of(author, editor)); return citation; } @@@ -254,11 -247,10 +254,11 @@@ contact.setContactInstructions(new SimpleInternationalString("Send carrier pigeon.")); contact.getIdentifierMap().putSpecialized(IdentifierSpace.ID, "ip-protocol"); final DefaultCitation c = new DefaultCitation("Fight against poverty"); - c.setCitedResponsibleParties(List.of( - new DefaultResponsibility(Role.ORIGINATOR, null, new DefaultIndividual("Maid Marian", null, contact)), - new DefaultResponsibility(Role.FUNDER, null, new DefaultIndividual("Robin Hood", null, contact)) - )); + final DefaultResponsibleParty r1 = new DefaultResponsibleParty(Role.ORIGINATOR); + final DefaultResponsibleParty r2 = new DefaultResponsibleParty(Role.FUNDER); - r1.setParties(Collections.singleton(new DefaultIndividual("Maid Marian", null, contact))); - r2.setParties(Collections.singleton(new DefaultIndividual("Robin Hood", null, contact))); - c.setCitedResponsibleParties(Arrays.asList(r1, r2)); ++ r1.setParties(Set.of(new DefaultIndividual("Maid Marian", null, contact))); ++ r2.setParties(Set.of(new DefaultIndividual("Robin Hood", null, contact))); ++ c.setCitedResponsibleParties(List.of(r1, r2)); c.getDates().add(new DefaultCitationDate(TestUtilities.date("2015-10-17 00:00:00"), DateType.ADOPTED)); c.getPresentationForms().add(PresentationForm.PHYSICAL_OBJECT); /* diff --cc core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java index c1e7e2ed02,0974ad48d1..cf63664c82 --- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java +++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java @@@ -44,10 -44,9 +44,10 @@@ public final strictfp class DefaultResp @Test public void testLegacyMarshalling() throws JAXBException { final DefaultIndividual party = new DefaultIndividual("An author", null, null); - final DefaultResponsibility r = new DefaultResponsibility(Role.AUTHOR, null, party); + final DefaultResponsibleParty r = new DefaultResponsibleParty(Role.AUTHOR); final DefaultCitation citation = new DefaultCitation(); - r.setParties(singleton(party)); - citation.setCitedResponsibleParties(singleton(r)); ++ r.setParties(Set.of(party)); + citation.setCitedResponsibleParties(Set.of(r)); final String xml = marshal(citation, VERSION_2007); assertXmlEquals("<gmd:CI_Citation xmlns:gco=\"" + LegacyNamespaces.GCO + '"' + " xmlns:gmd=\"" + LegacyNamespaces.GMD + "\">\n" + diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java index 3f09eb136e,da9f292aa5..57a20aa6e0 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java @@@ -1053,8 -1048,8 +1053,8 @@@ public abstract class Builder<B extend valueAlias = null; valueIds = null; } else { - valueAlias = aliases .toArray(new GenericName[aliases .size()]); - valueIds = identifiers.toArray(new ReferenceIdentifier[identifiers.size()]); + valueAlias = aliases .toArray(GenericName[]::new); - valueIds = identifiers.toArray(Identifier[]::new); ++ valueIds = identifiers.toArray(ReferenceIdentifier[]::new); } properties.put(IdentifiedObject.ALIAS_KEY, valueAlias); properties.put(IdentifiedObject.IDENTIFIERS_KEY, valueIds); diff --cc core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java index 6ac81454cb,842f1bbdab..8eb98d06f8 --- 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 @@@ -146,7 -144,7 +145,7 @@@ final class DefaultConcatenatedOperatio * At this point we should have flattened.size() >= 2, except if some operations * were omitted because their associated math transform were identity operation. */ - this.operations = UnmodifiableArrayList.wrap(flattened.toArray(new SingleOperation[flattened.size()])); - this.operations = UnmodifiableArrayList.wrap(flattened.toArray(CoordinateOperation[]::new)); ++ this.operations = UnmodifiableArrayList.wrap(flattened.toArray(SingleOperation[]::new)); } /** diff --cc core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java index 8061c26990,ba119e1404..285bc718c1 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java @@@ -21,9 -21,8 +21,8 @@@ import java.util.Map import java.util.HashMap; import java.util.LinkedHashSet; import java.util.Locale; - import java.util.Collections; import org.opengis.test.Validators; -import org.opengis.metadata.Identifier; +import org.opengis.referencing.ReferenceIdentifier; import org.apache.sis.referencing.datum.AbstractDatum; import org.apache.sis.internal.jaxb.referencing.Code; import org.apache.sis.internal.jaxb.Context; @@@ -56,10 -55,10 +55,10 @@@ public final strictfp class AbstractIde * * @param identifiers the value for the {@code "identifiers"} property. */ - private static Map<String,Object> properties(final Set<Identifier> identifiers) { + private static Map<String,Object> properties(final Set<ReferenceIdentifier> identifiers) { final Map<String,Object> properties = new HashMap<>(8); assertNull(properties.put("name", "GRS 1980")); - assertNull(properties.put("identifiers", identifiers.toArray(new ReferenceIdentifier[identifiers.size()]))); - assertNull(properties.put("identifiers", identifiers.toArray(Identifier[]::new))); ++ assertNull(properties.put("identifiers", identifiers.toArray(ReferenceIdentifier[]::new))); assertNull(properties.put("codespace", "EPSG")); assertNull(properties.put("version", "8.3")); assertNull(properties.put("alias", "International 1979")); @@@ -133,9 -132,9 +132,9 @@@ */ @Test public void testWithoutIdentifier() { - final Set<ReferenceIdentifier> identifiers = Collections.emptySet(); - final Set<Identifier> identifiers = Set.of(); ++ final Set<ReferenceIdentifier> identifiers = Set.of(); final AbstractIdentifiedObject object = new AbstractIdentifiedObject(properties(identifiers)); - final Identifier gmlId = validate(object, identifiers, "GRS1980"); + final ReferenceIdentifier gmlId = validate(object, identifiers, "GRS1980"); assertNull("gmlId", gmlId); } @@@ -152,10 -151,10 +151,10 @@@ @Test @DependsOnMethod("testWithoutIdentifier") public void testWithSingleIdentifier() { - final Identifier identifier = new ImmutableIdentifier(null, "EPSG", "7019"); - final Set<Identifier> identifiers = Set.of(identifier); + final ReferenceIdentifier identifier = new ImmutableIdentifier(null, "EPSG", "7019"); - final Set<ReferenceIdentifier> identifiers = Collections.singleton(identifier); ++ final Set<ReferenceIdentifier> identifiers = Set.of(identifier); final AbstractIdentifiedObject object = new AbstractIdentifiedObject(properties(identifiers)); - final Identifier gmlId = validate(object, identifiers, "epsg-7019"); + final ReferenceIdentifier gmlId = validate(object, identifiers, "epsg-7019"); assertNotNull("gmlId", gmlId); assertEquals ("gmlId.codespace", "EPSG", gmlId.getCodeSpace()); assertEquals ("gmlId.code", "7019", gmlId.getCode()); @@@ -187,10 -186,10 +186,10 @@@ @Test @DependsOnMethod("testWithManyIdentifiers") public void testAsSubtype() { - final Identifier identifier = new NamedIdentifier(EPSG, "7019"); - final Set<Identifier> identifiers = Set.of(identifier); + final ReferenceIdentifier identifier = new NamedIdentifier(EPSG, "7019"); - final Set<ReferenceIdentifier> identifiers = Collections.singleton(identifier); ++ final Set<ReferenceIdentifier> identifiers = Set.of(identifier); final AbstractIdentifiedObject object = new AbstractDatum(properties(identifiers)); - final Identifier gmlId = validate(object, identifiers, "epsg-datum-7019"); + final ReferenceIdentifier gmlId = validate(object, identifiers, "epsg-datum-7019"); assertNotNull("gmlId", gmlId); assertEquals ("gmlId.codespace", "EPSG", gmlId.getCodeSpace()); assertEquals ("gmlId.code", "7019", gmlId.getCode()); @@@ -234,7 -233,7 +233,7 @@@ @Test @DependsOnMethod("testWithoutIdentifier") public void testSerialization() { - final Set<ReferenceIdentifier> identifiers = Collections.emptySet(); - final Set<Identifier> identifiers = Set.of(); ++ final Set<ReferenceIdentifier> identifiers = Set.of(); final AbstractIdentifiedObject object = new AbstractIdentifiedObject(properties(identifiers)); final AbstractIdentifiedObject actual = assertSerializedEquals(object); assertNotSame(object, actual); diff --cc core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java index 788550b02b,5538a1dfb0..7d6e3a7da0 --- a/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java @@@ -146,7 -144,7 +144,7 @@@ public final strictfp class MetadataTes new DefaultTelephone("+33 (0)2 xx.xx.xx.x4", TelephoneType.FACSIMILE) )); final DefaultAddress address = new DefaultAddress(); - address.setDeliveryPoints(singleton("Brest institute")); - 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); @@@ -175,7 -173,7 +173,7 @@@ new DefaultTelephone("+33 (0)4 xx.xx.xx.x8", TelephoneType.FACSIMILE) )); final DefaultAddress address = new DefaultAddress(); - address.setDeliveryPoints(singleton("Oceanology institute")); - 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); @@@ -190,9 -188,9 +188,9 @@@ TopicCategory.OCEANS); // Topic category { @SuppressWarnings("deprecation") - final DefaultResponsibility custodian = new DefaultResponsibleParty(author); + final DefaultResponsibleParty custodian = new DefaultResponsibleParty((DefaultResponsibility) author); custodian.setRole(Role.CUSTODIAN); - identification.setPointOfContacts(singleton(custodian)); + identification.setPointOfContacts(Set.of(custodian)); } /* * Data indentification / Keywords. @@@ -312,18 -310,18 +310,18 @@@ Datatype.CODE_LIST, // Data type "SeaDataNet", // Parent entity "For testing only", // Rule - NilReason.MISSING.createNilObject(Responsibility.class)))); // Source + NilReason.MISSING.createNilObject(ResponsibleParty.class)))); // Source - metadata.setMetadataExtensionInfo(singleton(extensionInfo)); + metadata.setMetadataExtensionInfo(Set.of(extensionInfo)); } /* * Distribution information. */ { @SuppressWarnings("deprecation") - final DefaultResponsibility distributor = new DefaultResponsibleParty(author); + final DefaultResponsibleParty distributor = new DefaultResponsibleParty((DefaultResponsibility) author); final DefaultDistribution distributionInfo = new DefaultDistribution(); distributor.setRole(Role.DISTRIBUTOR); - distributionInfo.setDistributors(singleton(new DefaultDistributor(distributor))); + distributionInfo.setDistributors(Set.of(new DefaultDistributor(distributor))); final DefaultFormat format = new DefaultFormat(); final DefaultCitation specification = new DefaultCitation(); @@@ -338,9 -336,9 +336,9 @@@ onlines.setDescription(new SimpleInternationalString("Dummy download link")); onlines.setFunction(OnLineFunction.DOWNLOAD); onlines.setProtocol("ftp"); - transfer.setOnLines(singleton(onlines)); - distributionInfo.setTransferOptions(singleton(transfer)); + transfer.setOnLines(Set.of(onlines)); + distributionInfo.setTransferOptions(Set.of(transfer)); - metadata.setDistributionInfo(Set.of(distributionInfo)); + metadata.setDistributionInfo(distributionInfo); } return metadata; } diff --cc ide-project/NetBeans/nbproject/genfiles.properties index f00261fedd,2427112a0b..874d87f86b --- a/ide-project/NetBeans/nbproject/genfiles.properties +++ b/ide-project/NetBeans/nbproject/genfiles.properties @@@ -3,6 -3,6 +3,6 @@@ build.xml.data.CRC32=58e6b21c build.xml.script.CRC32=462eaba0 build.xml.stylesheet.CRC32=28e38971@1.53.1.46 - nbproject/build-impl.xml.data.CRC32=4e7b2ef2 - nbproject/build-impl.xml.script.CRC32=7ab9bfcf - nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.101.0.48 -nbproject/build-impl.xml.data.CRC32=fd717426 -nbproject/build-impl.xml.script.CRC32=69d63511 ++nbproject/build-impl.xml.data.CRC32=e6c2891e ++nbproject/build-impl.xml.script.CRC32=02d4f276 + nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.104.0.48 diff --cc ide-project/NetBeans/nbproject/project.properties index 7af52b92ab,e537f44c7a..fbd73f1c14 --- a/ide-project/NetBeans/nbproject/project.properties +++ b/ide-project/NetBeans/nbproject/project.properties @@@ -142,8 -143,9 +137,10 @@@ javac.processorpath= ${javac.classpath} javac.test.classpath=\ ${javac.classpath}:\ + ${maven.repository}/org/opengis/geoapi-conformance/${geoapi.version}/geoapi-conformance-${geoapi.version}.jar:\ ${maven.repository}/org/apache/derby/derby/${derby.version}/derby-${derby.version}.jar:\ + ${maven.repository}/org/apache/derby/derbytools/${derby.version}/derbytools-${derby.version}.jar:\ + ${maven.repository}/org/apache/derby/derbyshared/${derby.version}/derbyshared-${derby.version}.jar:\ ${maven.repository}/org/hsqldb/hsqldb/${hsqldb.version}/hsqldb-${hsqldb.version}.jar:\ ${maven.repository}/com/h2database/h2/${h2.version}/h2-${h2.version}.jar:\ ${maven.repository}/gov/nist/math/jama/${jama.version}/jama-${jama.version}.jar:\ diff --cc profiles/sis-french-profile/src/test/java/org/apache/sis/internal/profile/fra/DirectReferenceSystemTest.java index 2df9f598c8,23caa43ca7..908ed358dc --- a/profiles/sis-french-profile/src/test/java/org/apache/sis/internal/profile/fra/DirectReferenceSystemTest.java +++ b/profiles/sis-french-profile/src/test/java/org/apache/sis/internal/profile/fra/DirectReferenceSystemTest.java @@@ -16,10 -16,12 +16,11 @@@ */ package org.apache.sis.internal.profile.fra; + import java.util.Set; import java.util.Collection; import javax.xml.bind.JAXBException; -import org.opengis.metadata.citation.Responsibility; +import org.opengis.metadata.citation.ResponsibleParty; import org.apache.sis.metadata.iso.DefaultMetadata; -import org.apache.sis.metadata.iso.DefaultIdentifier; import org.apache.sis.metadata.iso.citation.DefaultCitation; import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty; import org.apache.sis.metadata.iso.citation.HardCodedCitations; @@@ -58,13 -58,13 +58,13 @@@ public final strictfp class DirectRefer private static DefaultMetadata createMetadata(final boolean legacy) { final DefaultMetadata metadata = new DefaultMetadata(); final DefaultCitation citation = new DefaultCitation("EPSG Geodetic Parameter Dataset"); - Collection<Responsibility> r = HardCodedCitations.EPSG.getCitedResponsibleParties(); + Collection<ResponsibleParty> r = HardCodedCitations.EPSG.getCitedResponsibleParties(); if (legacy) { - r = singleton(new DefaultResponsibleParty(TestUtilities.getSingleton(r))); + r = Set.of(new DefaultResponsibleParty(TestUtilities.getSingleton(r))); } citation.setCitedResponsibleParties(r); - final DirectReferenceSystem refSys = new DirectReferenceSystem(new DefaultIdentifier(citation, "4326")); + final DirectReferenceSystem refSys = new DirectReferenceSystem(new RS_Identifier(citation, "4326")); - metadata.setReferenceSystemInfo(singleton(refSys)); + metadata.setReferenceSystemInfo(Set.of(refSys)); return metadata; } diff --cc storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java index 15ba554853,55385907ce..ed51bc0d94 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java @@@ -522,9 -520,8 +520,11 @@@ split: while ((start = CharSequences.s if (individualName != null) party = new DefaultIndividual(individualName, null, null); if (organisationName != null) party = new DefaultOrganisation(organisationName, null, (Individual) party, null); if (party == null) party = isOrganisation(keys) ? new DefaultOrganisation() : new DefaultIndividual(); - if (contact != null) party.setContactInfo(singleton(contact)); + if (contact != null) party.setContactInfo(Set.of(contact)); - responsibility = new DefaultResponsibility(role, null, party); + responsibility = new DefaultResponsibleParty(role); - ((DefaultResponsibleParty) responsibility).setParties(singleton(party)); ++ if (party != null) { ++ ((DefaultResponsibleParty) responsibility).setParties(Set.of(party)); ++ } } } return responsibility;