You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2022/12/11 21:47:47 UTC
[sis] branch geoapi-4.0 updated: Replace `Collections.singletonMap(…)` by `Map.of(…)` where applicabie. There is two cases where we don't do the replacement: - When the map needs to accept null values. - When the check for null value will be better done (with a better error message) by `IdentifiedObject` constructor.
This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
new 9a73feaadc Replace `Collections.singletonMap(…)` by `Map.of(…)` where applicabie. There is two cases where we don't do the replacement: - When the map needs to accept null values. - When the check for null value will be better done (with a better error message) by `IdentifiedObject` constructor.
9a73feaadc is described below
commit 9a73feaadcca81f3e1b2d7a547d233511b051202
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Sun Dec 11 22:45:44 2022 +0100
Replace `Collections.singletonMap(…)` by `Map.of(…)` where applicabie.
There is two cases where we don't do the replacement:
- When the map needs to accept null values.
- When the check for null value will be better done (with a better error message) by `IdentifiedObject` constructor.
---
.../apache/sis/gui/coverage/CoverageExplorer.java | 5 ++--
.../sis/gui/metadata/StandardMetadataTree.java | 6 ++---
.../apache/sis/coverage/grid/GridExtentCRS.java | 3 +--
.../org/apache/sis/feature/FeatureOperations.java | 2 +-
.../sis/feature/builder/FeatureTypeBuilder.java | 2 +-
.../internal/coverage/j2d/DeferredProperty.java | 4 +--
.../sis/internal/feature/MovingFeatures.java | 7 ++---
.../internal/feature/SpatialOperationContext.java | 5 ++--
.../java/org/apache/sis/internal/filter/Node.java | 1 +
.../sis/coverage/grid/GridDerivationTest.java | 8 +++---
.../apache/sis/feature/AbstractOperationTest.java | 4 +--
.../sis/feature/CharacteristicTypeMapTest.java | 15 +++++------
.../sis/feature/DefaultAssociationRoleTest.java | 17 ++++++------
.../sis/feature/DefaultAttributeTypeTest.java | 5 ++--
.../apache/sis/feature/DefaultFeatureTypeTest.java | 3 +--
.../org/apache/sis/feature/FeatureFormatTest.java | 3 +--
.../apache/sis/feature/FeatureMemoryBenchmark.java | 11 ++++----
.../apache/sis/feature/FeatureOperationsTest.java | 3 +--
.../org/apache/sis/feature/FeatureTestCase.java | 8 +++---
.../org/apache/sis/feature/LinkOperationTest.java | 6 ++---
.../apache/sis/feature/PropertySingletonTest.java | 5 ++--
.../sis/feature/SingletonAssociationTest.java | 19 +++++--------
.../sis/feature/StringJoinOperationTest.java | 3 +--
.../feature/builder/FeatureTypeBuilderTest.java | 4 +--
.../internal/feature/AttributeConventionTest.java | 19 +++++++------
.../apache/sis/internal/feature/jts/JTSTest.java | 4 +--
.../apache/sis/internal/jaxb/TypeRegistration.java | 3 +--
.../sis/internal/metadata/RecordSchemaSIS.java | 5 ++--
.../main/java/org/apache/sis/util/iso/Names.java | 4 +--
.../src/main/java/org/apache/sis/xml/XML.java | 3 +--
.../internal/jaxb/cat/CodeListMarshallingTest.java | 4 +--
.../sis/internal/jaxb/gco/MultiplicityTest.java | 4 +--
.../apache/sis/internal/metadata/MergerTest.java | 6 ++---
.../identification/DefaultBrowseGraphicTest.java | 7 ++---
.../iso/quality/DefaultQuantitativeResultTest.java | 11 ++++----
.../apache/sis/util/iso/DefaultRecordTypeTest.java | 4 +--
.../apache/sis/util/iso/NameMarshallingTest.java | 4 +--
.../jaxb/referencing/CC_OperationMethod.java | 3 +--
.../referencing/GeodeticObjectBuilder.java | 5 ++--
.../apache/sis/internal/referencing/Legacy.java | 10 +++----
.../internal/referencing/ReferencingUtilities.java | 4 +--
.../sis/internal/referencing/provider/Affine.java | 6 ++---
.../provider/FranceGeocentricInterpolation.java | 6 ++---
.../internal/referencing/provider/Molodensky.java | 3 +--
.../apache/sis/io/wkt/GeodeticObjectParser.java | 6 ++---
.../java/org/apache/sis/io/wkt/VerticalInfo.java | 3 +--
.../sis/parameter/MapProjectionParameters.java | 13 +++++----
.../org/apache/sis/parameter/TensorParameters.java | 5 ++--
.../java/org/apache/sis/referencing/CommonCRS.java | 2 +-
.../org/apache/sis/referencing/cs/Normalizer.java | 3 +--
.../factory/MultiAuthoritiesFactory.java | 2 +-
.../operation/CoordinateOperationFinder.java | 2 +-
.../operation/DefaultOperationMethod.java | 3 +--
.../transform/CoordinateSystemTransform.java | 3 +--
.../transform/EllipsoidToCentricTransform.java | 5 ++--
.../operation/transform/MathTransformProvider.java | 2 +-
.../operation/transform/PoleRotation.java | 6 ++---
.../org/apache/sis/geometry/EnvelopesTest.java | 4 +--
.../CC_OperationParameterGroupTest.java | 3 +--
.../referencing/SecondDefiningParameterTest.java | 16 ++++++-----
.../referencing/EllipsoidalHeightCombinerTest.java | 7 +++--
.../sis/internal/referencing/FormulasTest.java | 7 ++---
.../java/org/apache/sis/io/wkt/WKTFormatTest.java | 7 ++---
.../DefaultParameterDescriptorGroupTest.java | 9 +++----
.../parameter/DefaultParameterValueGroupTest.java | 12 ++++-----
.../sis/parameter/MapProjectionParametersTest.java | 3 +--
.../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 +++----
.../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/GeodeticObjectFactoryTest.java | 3 +--
.../factory/IdentifiedObjectFinderTest.java | 4 +--
.../factory/sql/epsg/DataScriptFormatter.java | 3 +--
.../operation/CoordinateOperationFinderTest.java | 3 +--
.../DefaultConcatenatedOperationTest.java | 12 ++++-----
.../operation/DefaultConversionTest.java | 13 +++++----
.../operation/HardCodedConversions.java | 7 +++--
.../builder/LinearTransformBuilderTest.java | 7 +++--
.../sis/referencing/operation/projection/NoOp.java | 6 ++---
.../projection/SatelliteTrackingTest.java | 4 +--
.../transform/DefaultMathTransformFactoryTest.java | 3 +--
.../operation/transform/SinusoidalShiftGrid.java | 4 +--
.../transform/WraparoundTransformTest.java | 10 +++----
.../apache/sis/internal/util/DefinitionURI.java | 3 +--
.../java/org/apache/sis/measure/UnitDimension.java | 4 +--
.../java/org/apache/sis/measure/UnitFormat.java | 2 +-
.../sis/util/DefaultInternationalString.java | 10 ++++---
.../sis/util/collection/DefaultTreeTable.java | 16 ++++++-----
.../apache/sis/util/collection/TableColumn.java | 3 +--
.../org/apache/sis/measure/SystemUnitTest.java | 3 +--
.../org/apache/sis/measure/UnitDimensionTest.java | 3 +--
.../org/apache/sis/storage/geotiff/CRSBuilder.java | 5 ++--
.../apache/sis/storage/geotiff/XMLMetadata.java | 4 +--
.../org/apache/sis/internal/netcdf/CRSBuilder.java | 3 +--
.../apache/sis/internal/netcdf/GridMapping.java | 3 +--
.../apache/sis/internal/sql/feature/Analyzer.java | 3 +--
.../org/apache/sis/internal/storage/csv/Store.java | 5 ++--
.../apache/sis/internal/storage/folder/Store.java | 3 +--
.../org/apache/sis/internal/storage/xml/Store.java | 3 +--
.../sis/storage/aggregate/JoinFeatureSet.java | 13 +++++----
.../internal/storage/xml/MimeTypeDetectorTest.java | 11 ++++----
.../storage/gpx/GroupAsPolylineOperation.java | 6 ++---
.../org/apache/sis/internal/storage/gpx/Types.java | 5 ++--
122 files changed, 368 insertions(+), 425 deletions(-)
diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageExplorer.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageExplorer.java
index afcf1f213c..d4bcfba71c 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageExplorer.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageExplorer.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.gui.coverage;
+import java.util.Map;
import java.util.EnumMap;
import java.util.Optional;
-import java.util.Collections;
import java.awt.image.RenderedImage;
import javafx.application.Platform;
import javafx.beans.DefaultProperty;
@@ -612,8 +612,7 @@ public class CoverageExplorer extends Widget {
name = e.getClass().getSimpleName();
}
}
- referenceSystems.setGridReferencing(true,
- Collections.singletonMap(name, coverage.getGridGeometry()));
+ referenceSystems.setGridReferencing(true, Map.of(name, coverage.getGridGeometry()));
}
/*
* Following calls will NOT forward the new values to the views because this `notifyDataChanged(…)`
diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/metadata/StandardMetadataTree.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/metadata/StandardMetadataTree.java
index 98963bd146..068ea65ad3 100644
--- a/application/sis-javafx/src/main/java/org/apache/sis/gui/metadata/StandardMetadataTree.java
+++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/metadata/StandardMetadataTree.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.gui.metadata;
-import java.util.Collections;
+import java.util.Map;
import java.io.StringWriter;
import javax.xml.transform.stream.StreamResult;
import javafx.event.ActionEvent;
@@ -198,8 +198,8 @@ public class StandardMetadataTree extends MetadataTree {
content.put(DataFormats.XML, text);
} else if (source == copyAsLegacy) { // ISO 19139:2007.
final StringWriter output = new StringWriter();
- XML.marshal(obj, new StreamResult(output),
- Collections.singletonMap(XML.METADATA_VERSION, LegacyNamespaces.VERSION_2007));
+ XML.marshal(obj, new StreamResult(output), Map.of(
+ XML.METADATA_VERSION, LegacyNamespaces.VERSION_2007));
text = output.toString();
content.put(DataFormats.ISO_19139, text);
} else {
diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtentCRS.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtentCRS.java
index 62e256304e..0163934957 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtentCRS.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridExtentCRS.java
@@ -18,7 +18,6 @@ package org.apache.sis.coverage.grid;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import java.util.Locale;
import org.opengis.util.FactoryException;
import org.opengis.util.InternationalString;
@@ -210,7 +209,7 @@ final class GridExtentCRS {
* Creates a properties map to give to CS, CRS or datum constructors.
*/
private static Map<String,?> properties(final Object name) {
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java
index 8b61282c57..113dcfd216 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureOperations.java
@@ -140,7 +140,7 @@ public final class FeatureOperations extends Static {
* AttributeType licensePlateNumber = ...; // Attribute creation omitted for brevity
* FeatureType car = new DefaultFeatureType(..., // Arguments omitted for brevity
* licensePlateNumber, model, owner,
- * FeatureOperations.link(singletonMap(NAME_KEY, "identifier"), licensePlateNumber);
+ * FeatureOperations.link(Map.of(NAME_KEY, "identifier"), licensePlateNumber);
* }
* </div>
*
diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/builder/FeatureTypeBuilder.java b/core/sis-feature/src/main/java/org/apache/sis/feature/builder/FeatureTypeBuilder.java
index 9b83bdac66..c5fa60f4f9 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/feature/builder/FeatureTypeBuilder.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/feature/builder/FeatureTypeBuilder.java
@@ -1002,7 +1002,7 @@ public class FeatureTypeBuilder extends TypeBuilder {
* Helper method for creating identification info of synthetic attributes.
*/
private static Map<String,?> name(final GenericName name) {
- return Collections.singletonMap(AbstractOperation.NAME_KEY, name);
+ return Map.of(AbstractOperation.NAME_KEY, name);
}
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/DeferredProperty.java b/core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/DeferredProperty.java
index 5a2b99ae01..74737f26df 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/DeferredProperty.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/coverage/j2d/DeferredProperty.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.coverage.j2d;
import java.util.Map;
-import java.util.Collections;
import java.util.function.Function;
import java.awt.image.RenderedImage;
import org.apache.sis.image.PlanarImage;
@@ -84,8 +83,7 @@ public final class DeferredProperty {
* @return a deferred property for computing the grid geometry of an image.
*/
public static Map<String,Object> forGridGeometry(final GridGeometry grid, final int[] dimensions) {
- return Collections.singletonMap(PlanarImage.GRID_GEOMETRY_KEY,
- new DeferredProperty(new ImageGeometry(grid, dimensions)));
+ return Map.of(PlanarImage.GRID_GEOMETRY_KEY, new DeferredProperty(new ImageGeometry(grid, dimensions)));
}
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeatures.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeatures.java
index e2dfdb66e9..fec27f404f 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeatures.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/MovingFeatures.java
@@ -18,9 +18,7 @@ package org.apache.sis.internal.feature;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import java.time.Instant;
-import org.opengis.util.LocalName;
import org.apache.sis.util.iso.Names;
import org.apache.sis.math.Vector;
import org.apache.sis.feature.DefaultAttributeType;
@@ -57,9 +55,8 @@ public class MovingFeatures {
*/
private static final AttributeType<Number> TIME_AS_NUMBERS;
static {
- final LocalName scope = Names.createLocalName("OGC", null, "MF");
- final Map<String,Object> properties = Collections.singletonMap(
- DefaultAttributeType.NAME_KEY, Names.createScopedName(scope, null, "datetimes"));
+ final var scope = Names.createLocalName("OGC", null, "MF");
+ final var properties = Map.of(DefaultAttributeType.NAME_KEY, Names.createScopedName(scope, null, "datetimes"));
TIME_AS_INSTANTS = new DefaultAttributeType<>(properties, Instant.class, 0, Integer.MAX_VALUE, null);
TIME_AS_NUMBERS = new DefaultAttributeType<>(properties, Number.class, 0, Integer.MAX_VALUE, null);
}
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java
index 6b0b4b8e45..abdb6eb1a9 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/SpatialOperationContext.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.feature;
import java.io.Serializable;
-import java.util.Collections;
import java.util.Map;
import javax.measure.Unit;
import javax.measure.IncommensurableException;
@@ -364,8 +363,8 @@ select: if (commonCRS == null) {
final ReferencingFactoryContainer f = new ReferencingFactoryContainer();
method = f.getCoordinateOperationFactory().getOperationMethod("Mercator_2SP");
cartCS = f.getStandardProjectedCS();
- name = Collections.singletonMap(DefaultConversion.NAME_KEY,
- new ImmutableIdentifier(Citations.SIS, "SIS", "Mercator for geometry"));
+ name = Map.of(DefaultConversion.NAME_KEY,
+ new ImmutableIdentifier(Citations.SIS, "SIS", "Mercator for geometry"));
}
/**
diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/Node.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/Node.java
index dfcf7164b5..4fe8e0e1f7 100644
--- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/Node.java
+++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/Node.java
@@ -87,6 +87,7 @@ public abstract class Node implements Serializable {
* @see Expression#getFunctionName()
*/
protected static <T> AttributeType<T> createType(final Class<T> type, final Object name) {
+ // We do not use `Map.of(…)` for letting the attribute type constructor do the null check.
return new DefaultAttributeType<>(Collections.singletonMap(DefaultAttributeType.NAME_KEY, name),
type, 1, 1, null, (AttributeType<?>[]) null);
}
diff --git a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridDerivationTest.java b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridDerivationTest.java
index 8bf4b8d158..2444bef57d 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridDerivationTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/coverage/grid/GridDerivationTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.coverage.grid;
-import java.util.Collections;
+import java.util.Map;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
import org.opengis.geometry.DirectPosition;
@@ -588,11 +588,11 @@ public final strictfp class GridDerivationTest extends TestCase {
* for any point INSIDE the envelope, it's non-determinist about points perfectly aligned on the edge.
* So, here we will test a point very near to the envelope edge, but still into it.
*/
- final GeneralEnvelope grid3d = new GeneralEnvelope(3);
+ final var grid3d = new GeneralEnvelope(3);
grid3d.setEnvelope(0, 0, 0, 1920, 1080, 4);
- final DefaultCompoundCRS crs3d = new DefaultCompoundCRS(
- Collections.singletonMap("name", "geo3d"),
+ final var crs3d = new DefaultCompoundCRS(
+ Map.of("name", "geo3d"),
HardCodedCRS.WGS84,
HardCodedCRS.TIME);
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/AbstractOperationTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/AbstractOperationTest.java
index a4c3346666..853d4a4dd6 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/AbstractOperationTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/AbstractOperationTest.java
@@ -16,13 +16,13 @@
*/
package org.apache.sis.feature;
+import java.util.Map;
import org.opengis.parameter.ParameterDescriptor;
import org.apache.sis.parameter.ParameterBuilder;
import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.Assert.*;
@@ -44,7 +44,7 @@ public final strictfp class AbstractOperationTest extends TestCase {
final ParameterDescriptor<?>[] parameters = {
builder.addName("founder").create(String.class, null)
};
- return new NoOperation(singletonMap(AbstractOperation.NAME_KEY, "new city"),
+ return new NoOperation(Map.of(AbstractOperation.NAME_KEY, "new city"),
builder.addName("create").createGroup(parameters),
DefaultAttributeTypeTest.city());
}
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/CharacteristicTypeMapTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/CharacteristicTypeMapTest.java
index 86cb6d5825..8246b7add6 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/CharacteristicTypeMapTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/CharacteristicTypeMapTest.java
@@ -22,7 +22,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.feature.DefaultAssociationRole.NAME_KEY;
import static org.apache.sis.test.Assert.*;
@@ -48,9 +47,9 @@ public final strictfp class CharacteristicTypeMapTest extends TestCase {
*/
public static DefaultAttributeType<Float> temperature() {
final DefaultAttributeType<?> units, accuracy;
- units = new DefaultAttributeType<>(singletonMap(NAME_KEY, "units"), String.class, 1, 1, "°C", (DefaultAttributeType[]) null);
- accuracy = new DefaultAttributeType<>(singletonMap(NAME_KEY, "accuracy"), Float.class, 1, 1, 0.1f, (DefaultAttributeType[]) null);
- return new DefaultAttributeType<>(singletonMap(NAME_KEY, "temperature"), Float.class, 1, 1, null, accuracy, units);
+ units = new DefaultAttributeType<>(Map.of(NAME_KEY, "units"), String.class, 1, 1, "°C", (DefaultAttributeType[]) null);
+ accuracy = new DefaultAttributeType<>(Map.of(NAME_KEY, "accuracy"), Float.class, 1, 1, 0.1f, (DefaultAttributeType[]) null);
+ return new DefaultAttributeType<>(Map.of(NAME_KEY, "temperature"), Float.class, 1, 1, null, accuracy, units);
}
/**
@@ -117,10 +116,10 @@ public final strictfp class CharacteristicTypeMapTest extends TestCase {
@Test
public void testQualifiedNames() {
final DefaultAttributeType<?> a1, a2, a3, tp;
- a1 = new DefaultAttributeType<>(singletonMap(NAME_KEY, Names.parseGenericName(null, null, "ns1:accuracy")), Float.class, 1, 1, 0.1f);
- a2 = new DefaultAttributeType<>(singletonMap(NAME_KEY, Names.parseGenericName(null, null, "ns2:accuracy")), Float.class, 1, 1, 0.1f);
- a3 = new DefaultAttributeType<>(singletonMap(NAME_KEY, Names.parseGenericName(null, null, "ns2:s3:units")), String.class, 1, 1, "°C");
- tp = new DefaultAttributeType<>(singletonMap(NAME_KEY, "temperature"), Float.class, 1, 1, null, a1, a2, a3);
+ a1 = new DefaultAttributeType<>(Map.of(NAME_KEY, Names.parseGenericName(null, null, "ns1:accuracy")), Float.class, 1, 1, 0.1f);
+ a2 = new DefaultAttributeType<>(Map.of(NAME_KEY, Names.parseGenericName(null, null, "ns2:accuracy")), Float.class, 1, 1, 0.1f);
+ a3 = new DefaultAttributeType<>(Map.of(NAME_KEY, Names.parseGenericName(null, null, "ns2:s3:units")), String.class, 1, 1, "°C");
+ tp = new DefaultAttributeType<>(Map.of(NAME_KEY, "temperature"), Float.class, 1, 1, null, a1, a2, a3);
final Map<String, AttributeType<?>> characteristics = tp.characteristics();
assertSame("ns1:accuracy", a1, characteristics.get("ns1:accuracy"));
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAssociationRoleTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAssociationRoleTest.java
index e6032abb79..614b81cfe0 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAssociationRoleTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAssociationRoleTest.java
@@ -26,7 +26,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.feature.DefaultAssociationRole.NAME_KEY;
import static org.apache.sis.test.TestUtilities.getSingleton;
import static org.apache.sis.test.Assert.*;
@@ -54,7 +53,7 @@ public final strictfp class DefaultAssociationRoleTest extends TestCase {
* @return the association to use for testing purpose.
*/
static DefaultAssociationRole twinTown(final boolean cyclic) {
- final Map<String,?> properties = singletonMap(NAME_KEY, "twin town");
+ final Map<String,?> properties = Map.of(NAME_KEY, "twin town");
if (cyclic) {
final NameFactory factory = DefaultFactories.forBuildin(NameFactory.class);
final GenericName valueType = factory.createTypeName(null, "Twin town");
@@ -89,7 +88,7 @@ public final strictfp class DefaultAssociationRoleTest extends TestCase {
private static DefaultFeatureType createType(final Object name,
final FeatureType parent, final FeatureAssociationRole... property)
{
- return new DefaultFeatureType(singletonMap(NAME_KEY, name),
+ return new DefaultFeatureType(Map.of(NAME_KEY, name),
false, new FeatureType[] {parent}, property);
}
@@ -156,9 +155,9 @@ public final strictfp class DefaultAssociationRoleTest extends TestCase {
/*
* Associations defined only by the FeatureType name.
*/
- final DefaultAssociationRole toB = new DefaultAssociationRole(singletonMap(NAME_KEY, "toB"), nameOfB, 1, 1);
- final DefaultAssociationRole toC = new DefaultAssociationRole(singletonMap(NAME_KEY, "toC"), nameOfC, 1, 1);
- final DefaultAssociationRole toD = new DefaultAssociationRole(singletonMap(NAME_KEY, "toD"), nameOfD, 1, 1);
+ final var toB = new DefaultAssociationRole(Map.of(NAME_KEY, "toB"), nameOfB, 1, 1);
+ final var toC = new DefaultAssociationRole(Map.of(NAME_KEY, "toC"), nameOfC, 1, 1);
+ final var toD = new DefaultAssociationRole(Map.of(NAME_KEY, "toD"), nameOfD, 1, 1);
final DefaultFeatureType typeA = createType(nameOfA, null, toB);
final DefaultFeatureType typeB = createType(nameOfB, null, toC);
final DefaultFeatureType typeC = createType(nameOfC, null, toD);
@@ -166,9 +165,9 @@ public final strictfp class DefaultAssociationRoleTest extends TestCase {
* Association defined with real FeatureType instance, except for an association to itself.
* Construction of this FeatureType shall cause the resolution of all above FeatureTypes.
*/
- final DefaultAssociationRole toAr = new DefaultAssociationRole(singletonMap(NAME_KEY, "toA"), typeA, 1, 1);
- final DefaultAssociationRole toBr = new DefaultAssociationRole(singletonMap(NAME_KEY, toB.getName()), typeB, 1, 1);
- final DefaultAssociationRole toCr = new DefaultAssociationRole(singletonMap(NAME_KEY, toC.getName()), typeC, 1, 1);
+ final var toAr = new DefaultAssociationRole(Map.of(NAME_KEY, "toA"), typeA, 1, 1);
+ final var toBr = new DefaultAssociationRole(Map.of(NAME_KEY, toB.getName()), typeB, 1, 1);
+ final var toCr = new DefaultAssociationRole(Map.of(NAME_KEY, toC.getName()), typeC, 1, 1);
final DefaultFeatureType typeD = createType(nameOfD, null, toAr, toBr, toCr, toD);
/*
* Verify the property given to the constructors. There is no reason for those properties
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java
index 32e383ca73..0aaec41d8d 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultAttributeTypeTest.java
@@ -26,7 +26,6 @@ import org.apache.sis.test.DependsOnMethod;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.Assert.*;
@@ -104,7 +103,7 @@ public final strictfp class DefaultAttributeTypeTest extends TestCase {
*/
public static DefaultAttributeType<String> universities() {
return new DefaultAttributeType<>(
- singletonMap(DefaultAttributeType.NAME_KEY, "universities"),
+ Map.of(DefaultAttributeType.NAME_KEY, "universities"),
String.class, 0, Integer.MAX_VALUE, null);
}
@@ -113,7 +112,7 @@ public final strictfp class DefaultAttributeTypeTest extends TestCase {
* This is the kind of attribute created by the ShapeFile reader.
*/
static DefaultAttributeType<String> attribute(final String name) {
- return new DefaultAttributeType<>(singletonMap(DefaultAttributeType.NAME_KEY, name), String.class, 1, 1, null);
+ return new DefaultAttributeType<>(Map.of(DefaultAttributeType.NAME_KEY, name), String.class, 1, 1, null);
}
/**
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
index d6c30f05b0..ccd058b601 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/DefaultFeatureTypeTest.java
@@ -30,7 +30,6 @@ import org.junit.Test;
import static org.apache.sis.test.Assert.*;
import static org.apache.sis.test.TestUtilities.getSingleton;
-import static java.util.Collections.singletonMap;
// Branch-dependent imports
import org.opengis.feature.PropertyType;
@@ -52,7 +51,7 @@ public final strictfp class DefaultFeatureTypeTest extends TestCase {
* to be given to {@link AbstractIdentifiedType} constructor.
*/
private static Map<String,?> name(final Object name) {
- return singletonMap(AbstractIdentifiedType.NAME_KEY, name);
+ return Map.of(AbstractIdentifiedType.NAME_KEY, name);
}
/**
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureFormatTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureFormatTest.java
index a52e00e809..1d1c9365a2 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureFormatTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureFormatTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.feature;
-import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Locale;
@@ -110,7 +109,7 @@ public final strictfp class FeatureFormatTest extends TestCase {
* Convenience method returning the given name in a {@code properties} map.
*/
private static Map<String,?> name(final String name) {
- return Collections.singletonMap(DefaultFeatureType.NAME_KEY, name);
+ return Map.of(DefaultFeatureType.NAME_KEY, name);
}
/**
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureMemoryBenchmark.java b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureMemoryBenchmark.java
index d613565a5f..3112dd90a1 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureMemoryBenchmark.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureMemoryBenchmark.java
@@ -19,12 +19,11 @@ package org.apache.sis.feature;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Random;
import org.opengis.feature.Feature;
import org.apache.sis.internal.util.StandardDateFormat;
-import static java.util.Collections.singletonMap;
-
/**
* Compares {@link org.apache.sis.feature} memory usage with a plain {@link HashMap}.
@@ -73,10 +72,10 @@ public final class FeatureMemoryBenchmark {
features = new ArrayList<>(100000);
this.isSimple = isSimple;
if (useSIS) {
- type = new DefaultFeatureType (singletonMap("name", "City"), false, null,
- new DefaultAttributeType<>(singletonMap("name", "city"), String.class, 1, 1, null),
- new DefaultAttributeType<>(singletonMap("name", "longitude"), Float.class, 1, 1, null),
- new DefaultAttributeType<>(singletonMap("name", "latitude"), Float.class, 1, 1, null));
+ type = new DefaultFeatureType (Map.of("name", "City"), false, null,
+ new DefaultAttributeType<>(Map.of("name", "city"), String.class, 1, 1, null),
+ new DefaultAttributeType<>(Map.of("name", "longitude"), Float.class, 1, 1, null),
+ new DefaultAttributeType<>(Map.of("name", "latitude"), Float.class, 1, 1, null));
} else {
type = null;
}
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureOperationsTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureOperationsTest.java
index 612737fc45..ffef9b6a91 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureOperationsTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureOperationsTest.java
@@ -18,7 +18,6 @@ package org.apache.sis.feature;
import java.util.Map;
import java.util.List;
-import java.util.Collections;
import com.esri.core.geometry.Point;
import com.esri.core.geometry.Polygon;
import org.opengis.geometry.Envelope;
@@ -93,7 +92,7 @@ public final strictfp class FeatureOperationsTest extends TestCase {
* Creates a map of identification properties containing only an entry for the given name.
*/
private static Map<String,?> name(final Object name) {
- return Collections.singletonMap(DefaultAttributeType.NAME_KEY, name);
+ return Map.of(DefaultAttributeType.NAME_KEY, name);
}
/**
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureTestCase.java b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureTestCase.java
index 8e69ddf2ff..001bceadb6 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureTestCase.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureTestCase.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.feature;
+import java.util.Map;
import java.util.List;
import java.util.Collection;
-import java.util.Collections;
import org.opengis.metadata.quality.DataQuality;
import org.opengis.metadata.quality.Element;
import org.opengis.metadata.quality.Result;
@@ -152,7 +152,7 @@ public abstract strictfp class FeatureTestCase extends TestCase {
@Test
public void testGetProperty() {
final DefaultFeatureType type = new DefaultFeatureType(
- Collections.singletonMap(DefaultFeatureType.NAME_KEY, "My shapefile"), false, null,
+ Map.of(DefaultFeatureType.NAME_KEY, "My shapefile"), false, null,
DefaultAttributeTypeTest.attribute("COMMUNE"),
DefaultAttributeTypeTest.attribute("REF_INSEE"),
DefaultAttributeTypeTest.attribute("CODE_POSTAL"));
@@ -253,7 +253,7 @@ public abstract strictfp class FeatureTestCase extends TestCase {
*/
assertEquals("universities", List.of(), getAttributeValue("universities"));
feature.setPropertyValue("universities", "University of arts");
- assertEquals("universities", Collections.singletonList("University of arts"), getAttributeValue("universities"));
+ assertEquals("universities", List.of("University of arts"), getAttributeValue("universities"));
/*
* Switch to 'getProperty' mode only after we have set at least one value,
* in order to test the conversion of existing values to property instances.
@@ -349,7 +349,7 @@ public abstract strictfp class FeatureTestCase extends TestCase {
@DependsOnMethod("testSimpleProperties")
public void testAddToCollection() {
feature = createFeature(new DefaultFeatureType(
- Collections.singletonMap(DefaultFeatureType.NAME_KEY, "City"),
+ Map.of(DefaultFeatureType.NAME_KEY, "City"),
false, null, DefaultAttributeTypeTest.universities()));
/*
* The value below is an instance of Collection<String>.
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/LinkOperationTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/LinkOperationTest.java
index 3e436da84d..a49cc17f31 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/LinkOperationTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/LinkOperationTest.java
@@ -16,12 +16,12 @@
*/
package org.apache.sis.feature;
+import java.util.Map;
import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
import static org.junit.Assert.*;
-import static java.util.Collections.singletonMap;
/**
@@ -51,9 +51,9 @@ public final strictfp class LinkOperationTest extends TestCase {
*/
private static DefaultFeatureType city() {
final DefaultFeatureType city = DefaultFeatureTypeTest.city();
- final LinkOperation link = new LinkOperation(singletonMap(DefaultFeatureType.NAME_KEY, "name"),
+ final LinkOperation link = new LinkOperation(Map.of(DefaultFeatureType.NAME_KEY, "name"),
city.getProperty("city"));
- return new DefaultFeatureType(singletonMap(DefaultFeatureType.NAME_KEY, "Metropolis"),
+ return new DefaultFeatureType(Map.of(DefaultFeatureType.NAME_KEY, "Metropolis"),
false, new DefaultFeatureType[] {city}, link);
}
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/PropertySingletonTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/PropertySingletonTest.java
index e3e34285d1..324a2a1a85 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/PropertySingletonTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/PropertySingletonTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.feature;
+import java.util.Map;
import java.util.Set;
import org.apache.sis.test.DependsOnMethod;
import org.apache.sis.test.TestCase;
@@ -23,7 +24,6 @@ import org.junit.Test;
import static org.junit.Assert.*;
import static java.util.Collections.singleton;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.TestUtilities.getSingleton;
@@ -51,7 +51,8 @@ public final strictfp class PropertySingletonTest extends TestCase {
*/
public PropertySingletonTest() {
attribute = new SingletonAttribute<>(new DefaultAttributeType<>(
- singletonMap(DefaultAttributeType.NAME_KEY, "test"), Integer.class, 0, 1, null));
+ Map.of(DefaultAttributeType.NAME_KEY, "test"),
+ Integer.class, 0, 1, null));
singleton = new PropertySingleton<>(attribute);
}
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java
index 179584bdac..c5fdd6cc7d 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/SingletonAssociationTest.java
@@ -16,17 +16,13 @@
*/
package org.apache.sis.feature;
+import java.util.Map;
import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.Assert.*;
-// Branch-dependent imports
-import org.opengis.feature.Feature;
-import org.opengis.feature.PropertyType;
-
/**
* Tests {@link SingletonAssociation}.
@@ -48,10 +44,10 @@ public final strictfp class SingletonAssociationTest extends TestCase {
* and Le Mans, France in 836.” — source: Wikipedia</blockquote>
*/
static AbstractAssociation twinTown() {
- final Feature twinTown = DefaultFeatureTypeTest.city().newInstance();
+ final var twinTown = DefaultFeatureTypeTest.city().newInstance();
twinTown.setPropertyValue("city", "Le Mans");
- twinTown.setPropertyValue("population", 143240); // In 2011.
- final AbstractAssociation association = new SingletonAssociation(DefaultAssociationRoleTest.twinTown(false));
+ twinTown.setPropertyValue("population", 143240); // In 2011.
+ final var association = new SingletonAssociation(DefaultAssociationRoleTest.twinTown(false));
association.setValue(twinTown);
return association;
}
@@ -61,10 +57,9 @@ public final strictfp class SingletonAssociationTest extends TestCase {
*/
@Test
public void testWrongValue() {
- final AbstractAssociation association = twinTown();
- final PropertyType population = association.getRole().getValueType().getProperty("population");
- final Feature otherFeature = new DefaultFeatureType(
- singletonMap(DefaultFeatureType.NAME_KEY, "Population"), false, null, population).newInstance();
+ final var association = twinTown();
+ final var population = association.getRole().getValueType().getProperty("population");
+ final var otherFeature = new DefaultFeatureType(Map.of(DefaultFeatureType.NAME_KEY, "Population"), false, null, population).newInstance();
try {
association.setValue(otherFeature);
} catch (IllegalArgumentException e) {
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/StringJoinOperationTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/StringJoinOperationTest.java
index 453c72882d..894a818565 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/StringJoinOperationTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/StringJoinOperationTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.feature;
-import java.util.Collections;
import java.util.Map;
import org.junit.Test;
import org.apache.sis.internal.feature.AttributeConvention;
@@ -71,7 +70,7 @@ public final strictfp class StringJoinOperationTest extends TestCase {
* Creates the identification map to be given to attribute, operation and feature constructors.
*/
private static Map<String,?> name(final Object name) {
- return Collections.singletonMap(AbstractIdentifiedType.NAME_KEY, name);
+ return Map.of(AbstractIdentifiedType.NAME_KEY, name);
}
/**
diff --git a/core/sis-feature/src/test/java/org/apache/sis/feature/builder/FeatureTypeBuilderTest.java b/core/sis-feature/src/test/java/org/apache/sis/feature/builder/FeatureTypeBuilderTest.java
index 32aeda43e9..a6a8b8b5bf 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/feature/builder/FeatureTypeBuilderTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/feature/builder/FeatureTypeBuilderTest.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.feature.builder;
+import java.util.Map;
import java.util.Iterator;
-import java.util.Collections;
import com.esri.core.geometry.Geometry;
import com.esri.core.geometry.Point;
import org.opengis.geometry.Envelope;
@@ -375,7 +375,7 @@ public final strictfp class FeatureTypeBuilderTest extends TestCase {
final FeatureType parentType = builder.build();
builder = new FeatureTypeBuilder().setName("Child").setSuperTypes(parentType);
- builder.addProperty(FeatureOperations.link(Collections.singletonMap(AbstractOperation.NAME_KEY, "B"), pa));
+ builder.addProperty(FeatureOperations.link(Map.of(AbstractOperation.NAME_KEY, "B"), pa));
final FeatureType childType = builder.build();
final Iterator<? extends PropertyType> it = childType.getProperties(true).iterator();
diff --git a/core/sis-feature/src/test/java/org/apache/sis/internal/feature/AttributeConventionTest.java b/core/sis-feature/src/test/java/org/apache/sis/internal/feature/AttributeConventionTest.java
index 22423e24ca..a13bd75df7 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/internal/feature/AttributeConventionTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/internal/feature/AttributeConventionTest.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.feature;
import java.util.Map;
-import java.util.Collections;
import com.esri.core.geometry.Point;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.apache.sis.referencing.crs.HardCodedCRS;
@@ -61,7 +60,7 @@ public final strictfp class AttributeConventionTest extends TestCase {
*/
@Test
public void testIsGeometryAttribute() {
- final Map<String,?> properties = Collections.singletonMap(DefaultAttributeType.NAME_KEY, "geometry");
+ final Map<String,?> properties = Map.of(DefaultAttributeType.NAME_KEY, "geometry");
assertFalse("AttributeType<Integer>", AttributeConvention.isGeometryAttribute(
new DefaultAttributeType<>(properties, Integer.class, 1, 1, null)));
@@ -76,7 +75,7 @@ public final strictfp class AttributeConventionTest extends TestCase {
*/
@Test
public void testGetCrsCharacteristic() {
- final Map<String,?> properties = Collections.singletonMap(DefaultAttributeType.NAME_KEY, "geometry");
+ final Map<String,?> properties = Map.of(DefaultAttributeType.NAME_KEY, "geometry");
DefaultAttributeType<Point> type = new DefaultAttributeType<>(properties, Point.class, 1, 1, null);
assertFalse("characterizedByCRS", AttributeConvention.characterizedByCRS(type));
assertNull("getCRSCharacteristic", AttributeConvention.getCRSCharacteristic(type.newInstance()));
@@ -85,7 +84,7 @@ public final strictfp class AttributeConventionTest extends TestCase {
* the Coordinate Reference System of the "geometry" attribute. Then test again.
*/
final DefaultAttributeType<CoordinateReferenceSystem> characteristic = new DefaultAttributeType<>(
- Collections.singletonMap(DefaultAttributeType.NAME_KEY, AttributeConvention.CRS_CHARACTERISTIC),
+ Map.of(DefaultAttributeType.NAME_KEY, AttributeConvention.CRS_CHARACTERISTIC),
CoordinateReferenceSystem.class, 1, 1, HardCodedCRS.WGS84);
type = new DefaultAttributeType<>(properties, Point.class, 1, 1, null, characteristic);
@@ -95,10 +94,10 @@ public final strictfp class AttributeConventionTest extends TestCase {
/*
* Test again AttributeConvention.getCRSCharacteristic(…, PropertyType), but following link.
*/
- final Operation link = FeatureOperations.link(Collections.singletonMap(DefaultAttributeType.NAME_KEY, "geom"), type);
- final DefaultFeatureType feat = new DefaultFeatureType(Collections.singletonMap(DefaultAttributeType.NAME_KEY, "feat"), false, null, type, link);
- assertEquals(HardCodedCRS.WGS84, AttributeConvention.getCRSCharacteristic(feat, link));
- assertNull( AttributeConvention.getCRSCharacteristic(null, link));
+ final Operation link = FeatureOperations.link(Map.of(DefaultAttributeType.NAME_KEY, "geom"), type);
+ final var feature = new DefaultFeatureType(Map.of(DefaultAttributeType.NAME_KEY, "feat"), false, null, type, link);
+ assertEquals(HardCodedCRS.WGS84, AttributeConvention.getCRSCharacteristic(feature, link));
+ assertNull(AttributeConvention.getCRSCharacteristic(null, link));
}
/**
@@ -107,7 +106,7 @@ public final strictfp class AttributeConventionTest extends TestCase {
*/
@Test
public void testGetMaximalLengthCharacteristic() {
- final Map<String,?> properties = Collections.singletonMap(DefaultAttributeType.NAME_KEY, "name");
+ final Map<String,?> properties = Map.of(DefaultAttributeType.NAME_KEY, "name");
DefaultAttributeType<String> type = new DefaultAttributeType<>(properties, String.class, 1, 1, null);
assertFalse("characterizedByMaximalLength", AttributeConvention.characterizedByMaximalLength(type));
assertNull("getMaximalLengthCharacteristic", AttributeConvention.getMaximalLengthCharacteristic(type.newInstance()));
@@ -116,7 +115,7 @@ public final strictfp class AttributeConventionTest extends TestCase {
* the maximal length of the "name" attribute. Then test again.
*/
final DefaultAttributeType<Integer> characteristic = new DefaultAttributeType<>(
- Collections.singletonMap(DefaultAttributeType.NAME_KEY, AttributeConvention.MAXIMAL_LENGTH_CHARACTERISTIC),
+ Map.of(DefaultAttributeType.NAME_KEY, AttributeConvention.MAXIMAL_LENGTH_CHARACTERISTIC),
Integer.class, 1, 1, 120);
type = new DefaultAttributeType<>(properties, String.class, 1, 1, null, characteristic);
diff --git a/core/sis-feature/src/test/java/org/apache/sis/internal/feature/jts/JTSTest.java b/core/sis-feature/src/test/java/org/apache/sis/internal/feature/jts/JTSTest.java
index 921b871213..03b24de83c 100644
--- a/core/sis-feature/src/test/java/org/apache/sis/internal/feature/jts/JTSTest.java
+++ b/core/sis-feature/src/test/java/org/apache/sis/internal/feature/jts/JTSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.internal.feature.jts;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.util.FactoryException;
import org.opengis.referencing.operation.TransformException;
@@ -66,7 +66,7 @@ public final strictfp class JTSTest extends TestCase {
/*
* Test CRS as map value.
*/
- geometry.setUserData(Collections.singletonMap(JTS.CRS_KEY, CommonCRS.NAD83.geographic()));
+ geometry.setUserData(Map.of(JTS.CRS_KEY, CommonCRS.NAD83.geographic()));
assertEquals(CommonCRS.NAD83.geographic(), JTS.getCoordinateReferenceSystem(geometry));
/*
* Test CRS as srid.
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/TypeRegistration.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/TypeRegistration.java
index a672be9215..e67e9234c3 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/TypeRegistration.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/TypeRegistration.java
@@ -21,7 +21,6 @@ import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.ServiceLoader;
import java.util.concurrent.TimeUnit;
import java.util.function.UnaryOperator;
@@ -249,7 +248,7 @@ public abstract class TypeRegistration {
}
}
if (properties == null) {
- return Collections.singletonMap(ROOT_ADAPTERS, c);
+ return Map.of(ROOT_ADAPTERS, c);
}
final Map<String,Object> copy = new HashMap<>(properties);
copy.put(ROOT_ADAPTERS, c);
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/RecordSchemaSIS.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/RecordSchemaSIS.java
index edf4a8c5cc..715f7f869f 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/RecordSchemaSIS.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/RecordSchemaSIS.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.internal.metadata;
+import java.util.Map;
import java.io.Serializable;
import java.io.ObjectStreamException;
-import java.util.Collections;
import org.opengis.util.TypeName;
import org.opengis.util.InternationalString;
import org.apache.sis.internal.util.Constants;
@@ -83,8 +83,7 @@ public final class RecordSchemaSIS extends DefaultRecordSchema implements Serial
* @return a record type of the given name and field.
*/
private static DefaultRecordType singleton(final short typeName, final InternationalString field, final Class<?> valueClass) {
- return (DefaultRecordType) INSTANCE.createRecordType(
- Resources.formatInternational(typeName), Collections.singletonMap(field, valueClass));
+ return (DefaultRecordType) INSTANCE.createRecordType(Resources.formatInternational(typeName), Map.of(field, valueClass));
}
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java
index 7429297cbe..60c18743a8 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Names.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.util.iso;
-import java.util.Collections;
+import java.util.Map;
import java.lang.reflect.Type;
import org.opengis.util.TypeName;
import org.opengis.util.LocalName;
@@ -112,7 +112,7 @@ public final class Names extends Static {
return null;
}
return factory.createNameSpace(factory.createLocalName(null, namespace),
- (separator == null) ? null : Collections.singletonMap("separator.head", separator));
+ (separator == null) ? null : Map.of("separator.head", separator));
}
/**
diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/XML.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/XML.java
index 204af20a66..85334b19a5 100644
--- a/core/sis-metadata/src/main/java/org/apache/sis/xml/XML.java
+++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/XML.java
@@ -19,7 +19,6 @@ package org.apache.sis.xml;
import java.util.Map;
import java.util.Locale;
import java.util.TimeZone;
-import java.util.Collections;
import java.util.logging.Filter;
import java.util.logging.LogRecord; // For javadoc
import java.net.URL;
@@ -419,7 +418,7 @@ public final class XML extends Static {
synchronized (XML.class) {
pool = POOL; // Double-check idiom: see javadoc.
if (pool == null) {
- POOL = pool = new MarshallerPool(Collections.singletonMap(LENIENT_UNMARSHAL, Boolean.TRUE));
+ POOL = pool = new MarshallerPool(Map.of(LENIENT_UNMARSHAL, Boolean.TRUE));
}
}
}
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/CodeListMarshallingTest.java b/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/CodeListMarshallingTest.java
index 2aab8902ed..1adea5d3fd 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/CodeListMarshallingTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/cat/CodeListMarshallingTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.internal.jaxb.cat;
+import java.util.Map;
import java.util.List;
import java.util.Locale;
-import java.util.Collections;
import javax.xml.bind.Marshaller;
import javax.xml.bind.JAXBException;
import org.opengis.metadata.citation.Role;
@@ -127,7 +127,7 @@ public final strictfp class CodeListMarshallingTest extends TestCase {
final MarshallerPool pool = getMarshallerPool();
final Marshaller marshaller = pool.acquireMarshaller();
marshaller.setProperty(XML.METADATA_VERSION, VERSION_2007);
- marshaller.setProperty(XML.SCHEMAS, Collections.singletonMap("gmd",
+ marshaller.setProperty(XML.SCHEMAS, Map.of("gmd",
"http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas")); // Intentionally omit trailing '/'.
final String actual = marshal(marshaller, rp);
pool.recycle(marshaller);
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gco/MultiplicityTest.java b/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gco/MultiplicityTest.java
index da28840892..4e0ddfb965 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gco/MultiplicityTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gco/MultiplicityTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.internal.jaxb.gco;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import org.apache.sis.util.Version;
@@ -63,7 +63,7 @@ public final strictfp class MultiplicityTest extends TestUsingFile {
protected MarshallerPool getMarshallerPool() throws JAXBException {
if (pool == null) {
pool = new MarshallerPool(JAXBContext.newInstance(FeatureAttributeMock.class),
- Collections.singletonMap(XML.LENIENT_UNMARSHAL, Boolean.TRUE));
+ Map.of(XML.LENIENT_UNMARSHAL, Boolean.TRUE));
}
return pool;
}
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/MergerTest.java b/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/MergerTest.java
index b5cc133401..5a669bd235 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/MergerTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/MergerTest.java
@@ -16,11 +16,11 @@
*/
package org.apache.sis.internal.metadata;
+import java.util.Map;
import java.util.Set;
import java.util.List;
import java.util.Locale;
import java.util.Iterator;
-import java.util.Collections;
import java.nio.charset.StandardCharsets;
import org.opengis.metadata.citation.Citation;
import org.opengis.metadata.content.ContentInformation;
@@ -68,7 +68,7 @@ public final strictfp class MergerTest extends TestCase {
image.setCloudCoverPercentage(0.8);
metadata.getContentInfo().add(image);
- metadata.setLocalesAndCharsets(Collections.singletonMap(Locale.JAPANESE, StandardCharsets.UTF_16));
+ metadata.setLocalesAndCharsets(Map.of(Locale.JAPANESE, StandardCharsets.UTF_16));
return metadata;
}
@@ -87,7 +87,7 @@ public final strictfp class MergerTest extends TestCase {
features.setIncludedWithDataset(Boolean.TRUE);
metadata.getContentInfo().add(features);
- metadata.setLocalesAndCharsets(Collections.singletonMap(Locale.FRENCH, StandardCharsets.UTF_8));
+ metadata.setLocalesAndCharsets(Map.of(Locale.FRENCH, StandardCharsets.UTF_8));
return metadata;
}
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
index 16887f1248..9637c9491f 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.metadata.iso.identification;
+import java.util.Map;
import java.net.URI;
import java.io.StringReader;
import java.util.logging.Filter;
@@ -33,7 +34,6 @@ import org.apache.sis.test.DependsOnMethod;
import org.junit.Test;
import static java.util.logging.Logger.getLogger;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.MetadataAssert.*;
@@ -317,8 +317,9 @@ public final strictfp class DefaultBrowseGraphicTest extends TestCase {
* Unmarshals the given object while listening to warnings.
*/
public DefaultBrowseGraphic unmarshal(final String xml) throws JAXBException {
- return (DefaultBrowseGraphic) XML.unmarshal(new StreamSource(new StringReader(xml)),
- singletonMap(XML.WARNING_FILTER, this));
+ return (DefaultBrowseGraphic) XML.unmarshal(
+ new StreamSource(new StringReader(xml)),
+ Map.of(XML.WARNING_FILTER, this));
}
}
}
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResultTest.java b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResultTest.java
index 78f21b9fbd..dbe19dc7e4 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResultTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/quality/DefaultQuantitativeResultTest.java
@@ -17,8 +17,9 @@
package org.apache.sis.metadata.iso.quality;
import java.util.Map;
+import java.util.Set;
+import java.util.List;
import java.util.Iterator;
-import java.util.Collections;
import javax.xml.bind.JAXBException;
import org.opengis.util.Type;
import org.opengis.util.RecordType;
@@ -84,7 +85,7 @@ public final strictfp class DefaultQuantitativeResultTest extends TestCase {
*/
final RecordType recordType = RecordSchemaSIS.INSTANCE.createRecordType(
RecordSchemaSIS.MULTILINE.toInternationalString(),
- Collections.singletonMap("Result of quality measurement", String.class));
+ Map.of("Result of quality measurement", String.class));
/*
* The `Record` constructor invoked at unmarshalling time sets the type
* to the hard-coded "Single text" value. We need to use the same type.
@@ -98,14 +99,14 @@ public final strictfp class DefaultQuantitativeResultTest extends TestCase {
*/
assertNotEquals(recordType, record.getRecordType()); // Actually a limitation, not an intended behavior.
final DefaultQuantitativeResult result = new DefaultQuantitativeResult();
- result.setValues(Collections.singletonList(record));
+ result.setValues(List.of(record));
result.setValueType(recordType);
/*
* Opportunistically test the redirection implemented in deprecated methods.
*/
final DefaultQuantitativeAttributeAccuracy element = new DefaultQuantitativeAttributeAccuracy();
- element.setNamesOfMeasure(Collections.singleton(new SimpleInternationalString("Some quality flag")));
- element.setResults(Collections.singleton(result));
+ element.setNamesOfMeasure(Set.of(new SimpleInternationalString("Some quality flag")));
+ element.setResults(Set.of(result));
return element;
}
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/util/iso/DefaultRecordTypeTest.java b/core/sis-metadata/src/test/java/org/apache/sis/util/iso/DefaultRecordTypeTest.java
index ee2f9062af..077c64b768 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/util/iso/DefaultRecordTypeTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/util/iso/DefaultRecordTypeTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.util.iso;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.util.Type;
import org.opengis.util.MemberName;
import org.opengis.util.NameSpace;
@@ -69,7 +69,7 @@ public final strictfp class DefaultRecordTypeTest extends TestCase {
*/
private DefaultRecordType create() throws IllegalArgumentException {
final Type fieldType = new SimpleAttributeType<>(fieldTypeName, Integer.class);
- return new DefaultRecordType(recordTypeName, container, Collections.singletonMap(fieldName, fieldType));
+ return new DefaultRecordType(recordTypeName, container, Map.of(fieldName, fieldType));
}
/**
diff --git a/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java b/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
index 3e24ddf22d..c06732f8f8 100644
--- a/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
+++ b/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.util.iso;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.JAXBContext;
@@ -66,7 +66,7 @@ public final strictfp class NameMarshallingTest extends TestCase {
private String marshal(final GenericName name) throws JAXBException {
if (pool == null) {
pool = new MarshallerPool(JAXBContext.newInstance(IdentifiedObjectMock.class),
- Collections.singletonMap(XML.LENIENT_UNMARSHAL, Boolean.TRUE));
+ Map.of(XML.LENIENT_UNMARSHAL, Boolean.TRUE));
}
final Marshaller marshaller = pool.acquireMarshaller();
marshaller.setProperty(XML.METADATA_VERSION, VERSION_2007);
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationMethod.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationMethod.java
index 4c85779a3d..3fd0a9817d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationMethod.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationMethod.java
@@ -18,7 +18,6 @@ package org.apache.sis.internal.jaxb.referencing;
import java.util.Map;
import java.util.Collection;
-import java.util.Collections;
import javax.xml.bind.annotation.XmlElement;
import javax.measure.Unit;
import org.opengis.util.FactoryException;
@@ -180,7 +179,7 @@ public final class CC_OperationMethod extends PropertyType<CC_OperationMethod, O
Context.warningOccured(Context.current(), DefaultOperationMethod.class, "setDescriptors", e, true);
method = null;
}
- final Map<String,?> properties = Collections.singletonMap(ParameterDescriptorGroup.NAME_KEY, name);
+ final Map<String,?> properties = Map.of(ParameterDescriptorGroup.NAME_KEY, name);
if (method != null) {
/*
* Verify that the predefined operation method contains at least all the parameters specified by
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
index afec836244..f851379ffb 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
@@ -18,7 +18,6 @@ package org.apache.sis.internal.referencing;
import java.util.Map;
import java.util.Date;
-import java.util.Collections;
import java.util.Locale;
import java.util.function.BiConsumer;
import javax.measure.Unit;
@@ -140,7 +139,7 @@ public class GeodeticObjectBuilder extends Builder<GeodeticObjectBuilder> {
* Creates a map of properties containing only the name of the given object.
*/
private static Map<String,Object> name(final IdentifiedObject template) {
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, template.getName());
+ return Map.of(IdentifiedObject.NAME_KEY, template.getName());
}
/**
@@ -205,7 +204,7 @@ public class GeodeticObjectBuilder extends Builder<GeodeticObjectBuilder> {
{
final DatumFactory factory = factories.getDatumFactory();
final Ellipsoid ellipsoid = factory.createFlattenedSphere(
- Collections.singletonMap(Ellipsoid.NAME_KEY, name), semiMajorAxis, inverseFlattening, units);
+ Map.of(Ellipsoid.NAME_KEY, name), semiMajorAxis, inverseFlattening, units);
datum = factory.createGeodeticDatum(name(ellipsoid), ellipsoid, CommonCRS.WGS84.primeMeridian());
return this;
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Legacy.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Legacy.java
index 24ef9891eb..914dccf316 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Legacy.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Legacy.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.internal.referencing;
+import java.util.Map;
import javax.measure.Unit;
import javax.measure.quantity.Length;
import org.opengis.referencing.cs.AxisDirection;
@@ -27,7 +28,6 @@ import org.apache.sis.referencing.cs.CoordinateSystems;
import org.apache.sis.referencing.cs.DefaultCartesianCS;
import org.apache.sis.referencing.cs.DefaultCoordinateSystemAxis;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.IdentifiedObject.NAME_KEY;
@@ -56,10 +56,10 @@ public final class Legacy {
* the ISO 19111's ones (ISO names are "Geocentric X", "Geocentric Y" and "Geocentric Z"). This constant uses
* the invalid names and directions for WKT 1 parsing/formatting purposes.
*/
- private static final CartesianCS LEGACY = new DefaultCartesianCS(singletonMap(NAME_KEY, "Legacy geocentric"),
- new DefaultCoordinateSystemAxis(singletonMap(NAME_KEY, "X"), "X", AxisDirection.OTHER, Units.METRE),
- new DefaultCoordinateSystemAxis(singletonMap(NAME_KEY, "Y"), "Y", AxisDirection.EAST, Units.METRE),
- new DefaultCoordinateSystemAxis(singletonMap(NAME_KEY, "Z"), "Z", AxisDirection.NORTH, Units.METRE));
+ private static final CartesianCS LEGACY = new DefaultCartesianCS(Map.of(NAME_KEY, "Legacy geocentric"),
+ new DefaultCoordinateSystemAxis(Map.of(NAME_KEY, "X"), "X", AxisDirection.OTHER, Units.METRE),
+ new DefaultCoordinateSystemAxis(Map.of(NAME_KEY, "Y"), "Y", AxisDirection.EAST, Units.METRE),
+ new DefaultCoordinateSystemAxis(Map.of(NAME_KEY, "Z"), "Z", AxisDirection.NORTH, Units.METRE));
/**
* Do not allow instantiation of this class.
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
index bcb57f4e26..169dea56ef 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
@@ -56,8 +56,6 @@ import org.apache.sis.referencing.cs.DefaultEllipsoidalCS;
import org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory;
import org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory.Context;
-import static java.util.Collections.singletonMap;
-
/**
* A set of static methods working on GeoAPI referencing objects.
@@ -387,7 +385,7 @@ public final class ReferencingUtilities extends Static {
return (GeographicCRS) crs;
}
return new DefaultGeographicCRS(
- singletonMap(DefaultGeographicCRS.NAME_KEY, NilReferencingObject.UNNAMED),
+ Map.of(DefaultGeographicCRS.NAME_KEY, NilReferencingObject.UNNAMED),
((GeodeticCRS) crs).getDatum(), normalizedCS);
}
if (crs instanceof CompoundCRS) {
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
index c09e855dd0..50d6789271 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
@@ -18,7 +18,6 @@ package org.apache.sis.internal.referencing.provider;
import java.util.Map;
import java.util.Arrays;
-import java.util.Collections;
import javax.xml.bind.annotation.XmlTransient;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.parameter.ParameterDescriptor;
@@ -110,7 +109,7 @@ public final class Affine extends AbstractProvider {
private static final Map<String,?> IDENTIFICATION_EPSG, IDENTIFICATION_OGC;
static {
final NamedIdentifier nameOGC = new NamedIdentifier(Citations.OGC, Constants.OGC, Constants.AFFINE, null, null);
- IDENTIFICATION_OGC = Collections.singletonMap(NAME_KEY, nameOGC);
+ IDENTIFICATION_OGC = Map.of(NAME_KEY, nameOGC);
IDENTIFICATION_EPSG = EPSGName.properties(9624, NAME, nameOGC);
}
@@ -295,8 +294,7 @@ public final class Affine extends AbstractProvider {
* @since 0.8
*/
public static ParameterValueGroup identity(int dimension) {
- final ParameterValueGroup values = TensorParameters.WKT1.createValueGroup(
- Collections.singletonMap(NAME_KEY, Constants.AFFINE));
+ final var values = TensorParameters.WKT1.createValueGroup(Map.of(NAME_KEY, Constants.AFFINE));
values.parameter(Constants.NUM_COL).setValue(++dimension);
values.parameter(Constants.NUM_ROW).setValue( dimension);
return values;
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
index 094f8c7b40..314db32475 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.internal.referencing.provider;
+import java.util.Map;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Locale;
import java.util.NoSuchElementException;
import java.util.StringTokenizer;
@@ -298,8 +298,8 @@ public class FranceGeocentricInterpolation extends GeodeticOperation {
{
return candidate;
}
- return DefaultEllipsoid.createEllipsoid(Collections.singletonMap(Ellipsoid.NAME_KEY,
- NilReferencingObject.UNNAMED), semiMajorAxis, semiMinorAxis, Units.METRE);
+ return DefaultEllipsoid.createEllipsoid(Map.of(Ellipsoid.NAME_KEY, NilReferencingObject.UNNAMED),
+ semiMajorAxis, semiMinorAxis, Units.METRE);
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
index 77291aeddc..b770dc0ebd 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Molodensky.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.referencing.provider;
import java.util.Map;
-import java.util.Collections;
import javax.xml.bind.annotation.XmlTransient;
import javax.measure.Unit;
import org.opengis.util.FactoryException;
@@ -234,7 +233,7 @@ public final class Molodensky extends GeocentricAffineBetweenGeographic {
if (Double.isNaN(tb)) {
tb = ta*(sb/sa - Δf);
}
- final Map<String,?> name = Collections.singletonMap(DefaultEllipsoid.NAME_KEY, NilReferencingObject.UNNAMED);
+ final Map<String,?> name = Map.of(DefaultEllipsoid.NAME_KEY, NilReferencingObject.UNNAMED);
final Ellipsoid source = new Ellipsoid(name, sa, sb, Δa, Δf);
final Ellipsoid target = new Ellipsoid(name, ta, tb, -Δa, -Δf);
source.other = target;
diff --git 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
index 5e7d134fb7..1dc23fec11 100644
--- 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
@@ -905,7 +905,7 @@ class GeodeticObjectParser extends MathTransformParser implements Comparator<Coo
name = AxisDirections.appendTo(buffer.append("CS"), axes);
}
if (csProperties == null) {
- csProperties = singletonMap(CoordinateSystem.NAME_KEY, name);
+ csProperties = Map.of(CoordinateSystem.NAME_KEY, name);
} else {
csProperties.put(CoordinateSystem.NAME_KEY, name);
}
@@ -2250,8 +2250,8 @@ class GeodeticObjectParser extends MathTransformParser implements Comparator<Coo
number, AxisDirection.OTHER, Units.UNITY);
}
final Map<String,Object> properties = parseMetadataAndClose(element, name, baseCRS);
- final CoordinateSystem derivedCS = new AbstractCS(
- singletonMap(CoordinateSystem.NAME_KEY, AxisDirections.appendTo(new StringBuilder("CS"), axes)), axes);
+ final Map<String,Object> axisName = singletonMap(CoordinateSystem.NAME_KEY, AxisDirections.appendTo(new StringBuilder("CS"), axes));
+ final CoordinateSystem derivedCS = new AbstractCS(axisName, axes);
/*
* Creates a derived CRS from the information found in a WKT 1 {@code FITTED_CS} element.
* This coordinate system cannot be easily constructed from the information provided by
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java
index db684f615f..d62c5db8a5 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/io/wkt/VerticalInfo.java
@@ -17,7 +17,6 @@
package org.apache.sis.io.wkt;
import java.util.Map;
-import java.util.Collections;
import javax.measure.Unit;
import javax.measure.quantity.Length;
import org.opengis.util.FactoryException;
@@ -190,6 +189,6 @@ final class VerticalInfo {
* Convenience method for creating the map of properties to give to the factory method.
*/
private static Map<String,?> properties(final Object name) {
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
index 0a3b75590f..8f29037b32 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.parameter;
-import java.util.Collections;
import java.util.Map;
import java.util.Objects;
import javax.measure.Unit;
@@ -168,7 +167,7 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
* This is not a standard parameter.
*/
static final ParameterDescriptor<Double> DESCRIPTOR = new DefaultParameterDescriptor<>(
- InverseFlattening.toMap(Constants.EARTH_RADIUS), 0, 1, Double.class,
+ InverseFlattening.properties(Constants.EARTH_RADIUS), 0, 1, Double.class,
MeasurementRange.createGreaterThan(0.0, Units.METRE), null, null);
/**
@@ -253,14 +252,14 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
* This is not a standard parameter.
*/
static final ParameterDescriptor<Double> DESCRIPTOR = new DefaultParameterDescriptor<>(
- toMap(Constants.INVERSE_FLATTENING), 0, 1, Double.class,
+ properties(Constants.INVERSE_FLATTENING), 0, 1, Double.class,
MeasurementRange.createGreaterThan(0.0, Units.UNITY), null, null);
/**
* Helper method for {@link #DESCRIPTOR} constructions.
*/
- static Map<String,?> toMap(final String name) {
- return Collections.singletonMap(NAME_KEY, new NamedIdentifier(NETCDF, name));
+ private static Map<String,?> properties(final String name) {
+ return Map.of(NAME_KEY, new NamedIdentifier(NETCDF, name));
}
/**
@@ -372,7 +371,7 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
* This is not a standard parameter.
*/
static final ParameterDescriptor<Boolean> DESCRIPTOR = new DefaultParameterDescriptor<>(
- InverseFlattening.toMap(Constants.IS_IVF_DEFINITIVE), 0, 1, Boolean.class, null, null, Boolean.FALSE);
+ InverseFlattening.properties(Constants.IS_IVF_DEFINITIVE), 0, 1, Boolean.class, null, null, Boolean.FALSE);
/**
* The parameters for the inverse flattening factor.
@@ -437,7 +436,7 @@ final class MapProjectionParameters extends DefaultParameterValueGroup {
* {@value Constants#STANDARD_PARALLEL_2}. This is not a standard parameter.
*/
static final ParameterDescriptor<double[]> DESCRIPTOR = new DefaultParameterDescriptor<>(
- InverseFlattening.toMap(Constants.STANDARD_PARALLEL),
+ InverseFlattening.properties(Constants.STANDARD_PARALLEL),
0, 1, double[].class, null, null, null);
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java
index 050efa075c..b4dda2e9df 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/TensorParameters.java
@@ -20,7 +20,6 @@ import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Objects;
import java.io.IOException;
import java.io.Serializable;
@@ -125,7 +124,7 @@ import org.apache.sis.util.resources.Errors;
* one can use the following code:
*
* {@preformat java
- * Map<String,?> properties = Collections.singletonMap(ParameterValueGroup.NAME_KEY, "Affine");
+ * Map<String,?> properties = Map.of(ParameterValueGroup.NAME_KEY, "Affine");
* ParameterValueGroup p = TensorParameters.WKT1.createValueGroup(properties);
* }
*
@@ -496,7 +495,7 @@ public class TensorParameters<E> implements Serializable {
final Citation authority = dimensions[0].getName().getAuthority();
final String name = indicesToName(indices);
return new DefaultParameterDescriptor<>(
- Collections.singletonMap(ParameterDescriptor.NAME_KEY, new NamedIdentifier(authority, name)),
+ Map.of(ParameterDescriptor.NAME_KEY, new NamedIdentifier(authority, name)),
0, 1, elementType, null, null, getDefaultValue(indices));
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
index ed26242904..f1dd4fffc5 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CommonCRS.java
@@ -2008,7 +2008,7 @@ public enum CommonCRS {
* Puts the given name in a map of properties to be given to object constructors.
*/
private static Map<String,?> properties(final InternationalString name) {
- return singletonMap(NAME_KEY, new NamedIdentifier(null, name));
+ return Map.of(NAME_KEY, new NamedIdentifier(null, name));
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/Normalizer.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/Normalizer.java
index e9a41d00f1..c859f5d8a1 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/Normalizer.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/Normalizer.java
@@ -38,7 +38,6 @@ import org.apache.sis.util.CharSequences;
import org.apache.sis.util.ArraysExt;
import org.apache.sis.measure.Units;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.IdentifiedObject.NAME_KEY;
import static org.opengis.referencing.IdentifiedObject.IDENTIFIERS_KEY;
@@ -364,7 +363,7 @@ final class Normalizer implements Comparable<Normalizer> {
*/
final AbstractCS impl = castOrCopy(cs);
final StringBuilder buffer = (StringBuilder) CharSequences.camelCaseToSentence(impl.getInterface().getSimpleName());
- return impl.createForAxes(singletonMap(AbstractCS.NAME_KEY, AxisDirections.appendTo(buffer, newAxes)), newAxes);
+ return impl.createForAxes(Map.of(AbstractCS.NAME_KEY, AxisDirections.appendTo(buffer, newAxes)), newAxes);
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
index 32f4666d1d..73ebd52965 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
@@ -1610,7 +1610,7 @@ public class MultiAuthoritiesFactory extends GeodeticAuthorityFactory implements
String name = IdentifiedObjects.getIdentifierOrName(ops[0]) + " ⟶ "
+ IdentifiedObjects.getIdentifierOrName(ops[ops.length - 1]);
combined = DefaultFactories.forBuildin(CoordinateOperationFactory.class)
- .createConcatenatedOperation(Collections.singletonMap(CoordinateOperation.NAME_KEY, name), ops);
+ .createConcatenatedOperation(Map.of(CoordinateOperation.NAME_KEY, name), ops);
}
break;
}
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
index 8ef1e80388..fceeab719f 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
@@ -1216,7 +1216,7 @@ public class CoordinateOperationFinder extends CoordinateOperationRegistry {
* Returns the given name in a singleton map.
*/
private static Map<String,?> properties(final String name) {
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
index 97ccaf727a..c953838d50 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultOperationMethod.java
@@ -20,7 +20,6 @@ import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
-import java.util.Collections;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlElement;
@@ -321,7 +320,7 @@ public class DefaultOperationMethod extends AbstractIdentifiedObject implements
return getProperties(parameters, null);
}
}
- return Collections.singletonMap(NAME_KEY, NilReferencingObject.UNNAMED);
+ return Map.of(NAME_KEY, NilReferencingObject.UNNAMED);
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/CoordinateSystemTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/CoordinateSystemTransform.java
index 7e38b4cf47..7469abd426 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/CoordinateSystemTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/CoordinateSystemTransform.java
@@ -17,7 +17,6 @@
package org.apache.sis.referencing.operation.transform;
import java.util.Map;
-import java.util.Collections;
import javax.measure.IncommensurableException;
import org.opengis.util.FactoryException;
import org.opengis.parameter.ParameterValueGroup;
@@ -112,7 +111,7 @@ abstract class CoordinateSystemTransform extends AbstractMathTransform {
* Creates an operation method of the given name.
*/
private static OperationMethod method(final String name) {
- final Map<String,?> properties = Collections.singletonMap(DefaultParameterDescriptorGroup.NAME_KEY,
+ final Map<String,?> properties = Map.of(DefaultParameterDescriptorGroup.NAME_KEY,
new ImmutableIdentifier(Citations.SIS, Constants.SIS, name));
final DefaultParameterDescriptorGroup descriptor = new DefaultParameterDescriptorGroup(properties, 1, 1);
return new DefaultOperationMethod(properties, descriptor);
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
index d5c68fcb05..fd0bca751b 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/EllipsoidToCentricTransform.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.referencing.operation.transform;
+import java.util.Map;
import java.util.List;
import java.util.Arrays;
-import java.util.Collections;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
@@ -842,8 +842,7 @@ next: while (--numPts >= 0) {
@Override
public ParameterDescriptorGroup getParameterDescriptors() {
ImmutableIdentifier name = new ImmutableIdentifier(Citations.SIS, Constants.SIS, "Centric to ellipsoid (radians domain)");
- return new DefaultParameterDescriptorGroup(Collections.singletonMap(ParameterDescriptorGroup.NAME_KEY, name),
- forward.getParameterDescriptors());
+ return new DefaultParameterDescriptorGroup(Map.of(ParameterDescriptorGroup.NAME_KEY, name), forward.getParameterDescriptors());
}
/**
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransformProvider.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransformProvider.java
index b20986b967..498f66f09d 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransformProvider.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MathTransformProvider.java
@@ -52,7 +52,7 @@ import org.opengis.referencing.operation.MathTransformFactory;
* <div class="note">{@preformat java
* public class MyProjectionProvider extends DefaultOperationMethod implements MathTransformProvider {
* public MyProjectionProvider() {
- * super(Collections.singletonMap(NAME_KEY, "My projection"),
+ * super(Map.of(NAME_KEY, "My projection"),
* 2, // Number of source dimensions
* 2, // Number of target dimensions
* parameters);
diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
index 239b149cdd..398a571d7e 100644
--- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
+++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/PoleRotation.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.operation.transform;
-import java.util.Collections;
+import java.util.Map;
import java.io.Serializable;
import org.opengis.util.FactoryException;
import org.opengis.referencing.operation.Matrix;
@@ -327,8 +327,8 @@ public class PoleRotation extends AbstractMathTransform2D implements Serializabl
public ParameterDescriptorGroup getParameterDescriptors() {
// We assume that it is not worth to cache this descriptor.
ImmutableIdentifier name = new ImmutableIdentifier(Citations.SIS, Constants.SIS, "Rotated Latitude/longitude (radians domain)");
- return new DefaultParameterDescriptorGroup(Collections.singletonMap(ParameterDescriptorGroup.NAME_KEY, name),
- 1, 1, (ParameterDescriptor<?>) context.getDescriptor().descriptors().get(0));
+ return new DefaultParameterDescriptorGroup(Map.of(ParameterDescriptorGroup.NAME_KEY, name),
+ 1, 1, (ParameterDescriptor<?>) context.getDescriptor().descriptors().get(0));
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java b/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
index 89814df78c..ce75666d47 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
@@ -18,7 +18,7 @@ package org.apache.sis.geometry;
import java.time.Instant;
import java.util.List;
-import java.util.Collections;
+import java.util.Map;
import org.apache.sis.measure.Range;
import org.opengis.geometry.Envelope;
import org.opengis.util.FactoryException;
@@ -165,7 +165,7 @@ public final strictfp class EnvelopesTest extends TransformTestCase<GeneralEnvel
public void testTransform4to2D() throws TransformException {
final CoordinateReferenceSystem targetCRS = HardCodedCRS.WGS84;
final CoordinateReferenceSystem sourceCRS = new DefaultCompoundCRS(
- Collections.singletonMap(DefaultCompoundCRS.NAME_KEY, "4D CRS"),
+ Map.of(DefaultCompoundCRS.NAME_KEY, "4D CRS"),
HardCodedCRS.WGS84,
HardCodedCRS.GRAVITY_RELATED_HEIGHT,
HardCodedCRS.TIME);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroupTest.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroupTest.java
index c4622ecd5a..6e6ee00cba 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroupTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroupTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.internal.jaxb.referencing;
import java.util.List;
import java.util.Map;
import java.util.IdentityHashMap;
-import java.util.Collections;
import javax.xml.bind.JAXBException;
import org.opengis.metadata.Identifier;
import org.opengis.parameter.ParameterDescriptor;
@@ -163,7 +162,7 @@ public final strictfp class CC_OperationParameterGroupTest extends TestCase {
/*
* All references to 'fromValue' will need to be replaced by references to 'complete'.
*/
- assertEquals("replacements", Collections.singletonMap(fromValue, complete), replacements);
+ assertEquals("replacements", Map.of(fromValue, complete), replacements);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
index 4406a32dab..e69da46ea9 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.internal.jaxb.referencing;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.JAXBException;
import org.apache.sis.measure.Units;
import org.apache.sis.referencing.datum.DefaultEllipsoid;
@@ -63,9 +63,10 @@ public final strictfp class SecondDefiningParameterTest extends TestCase {
*/
@Test
public void testMarshalling() throws JAXBException {
- final DefaultEllipsoid ellipsoid = DefaultEllipsoid.createEllipsoid(Collections.singletonMap(
- DefaultEllipsoid.NAME_KEY, "Clarke 1866"), 6378206.4, 6356583.8, Units.METRE);
- final SecondDefiningParameter sdp = new SecondDefiningParameter(ellipsoid, false);
+ final var ellipsoid = DefaultEllipsoid.createEllipsoid(
+ Map.of(DefaultEllipsoid.NAME_KEY, "Clarke 1866"),
+ 6378206.4, 6356583.8, Units.METRE);
+ final var sdp = new SecondDefiningParameter(ellipsoid, false);
assertXmlEquals(ELLIPSOID, marshal(sdp), "xmlns:*", "xsi:schemaLocation");
}
@@ -89,9 +90,10 @@ public final strictfp class SecondDefiningParameterTest extends TestCase {
*/
@Test
public void testMarshallingSphere() throws JAXBException {
- final DefaultEllipsoid ellipsoid = DefaultEllipsoid.createEllipsoid(Collections.singletonMap(
- DefaultEllipsoid.NAME_KEY, "Sphere"), 6371000, 6371000, Units.METRE);
- final SecondDefiningParameter sdp = new SecondDefiningParameter(ellipsoid, false);
+ final var ellipsoid = DefaultEllipsoid.createEllipsoid(
+ Map.of(DefaultEllipsoid.NAME_KEY, "Sphere"),
+ 6371000, 6371000, Units.METRE);
+ final var sdp = new SecondDefiningParameter(ellipsoid, false);
assertXmlEquals(SPHERE, marshal(sdp), "xmlns:*", "xsi:schemaLocation");
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/EllipsoidalHeightCombinerTest.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/EllipsoidalHeightCombinerTest.java
index c733c58984..178393da19 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/EllipsoidalHeightCombinerTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/EllipsoidalHeightCombinerTest.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.referencing;
import java.util.Map;
-import java.util.Collections;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.crs.SingleCRS;
@@ -74,7 +73,7 @@ public final strictfp class EllipsoidalHeightCombinerTest extends TestCase {
@Test
public void testGeographicCRS() throws FactoryException {
final EllipsoidalHeightCombiner services = create();
- final Map<String,String> properties = Collections.singletonMap(CoordinateReferenceSystem.NAME_KEY, "WGS 84 (4D)");
+ final var properties = Map.of(CoordinateReferenceSystem.NAME_KEY, "WGS 84 (4D)");
final GeographicCRS horizontal = HardCodedCRS.WGS84;
final GeographicCRS volumetric = HardCodedCRS.WGS84_3D;
final VerticalCRS vertical = HardCodedCRS.ELLIPSOIDAL_HEIGHT;
@@ -119,8 +118,8 @@ public final strictfp class EllipsoidalHeightCombinerTest extends TestCase {
@DependsOnMethod("testGeographicCRS")
public void testProjectedCRS() throws FactoryException {
final EllipsoidalHeightCombiner services = create();
- final GeodeticObjectFactory factory = new GeodeticObjectFactory();
- final Map<String,String> properties = Collections.singletonMap(CoordinateReferenceSystem.NAME_KEY, "World Mercator (4D)");
+ final var factory = new GeodeticObjectFactory();
+ final var properties = Map.of(CoordinateReferenceSystem.NAME_KEY, "World Mercator (4D)");
final ProjectedCRS horizontal = factory.createProjectedCRS(properties, HardCodedCRS.WGS84, HardCodedConversions.MERCATOR, HardCodedCS.PROJECTED);
final ProjectedCRS volumetric = factory.createProjectedCRS(properties, HardCodedCRS.WGS84_3D, HardCodedConversions.MERCATOR, HardCodedCS.PROJECTED_3D);
final VerticalCRS vertical = HardCodedCRS.ELLIPSOIDAL_HEIGHT;
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/FormulasTest.java b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/FormulasTest.java
index aae1391c78..cc3cd00182 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/FormulasTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/FormulasTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.internal.referencing;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.referencing.datum.Ellipsoid;
import org.apache.sis.internal.metadata.ReferencingServices;
import org.apache.sis.measure.Longitude;
@@ -119,8 +119,9 @@ public final strictfp class FormulasTest extends TestCase {
*/
@Test
public void testRadiusOfConformalSphere() {
- final DefaultEllipsoid ellipsoid = DefaultEllipsoid.createFlattenedSphere(
- Collections.singletonMap(DefaultEllipsoid.NAME_KEY, "Bessel 1841"), 6377397.155, 299.1528128, Units.METRE);
+ final var ellipsoid = DefaultEllipsoid.createFlattenedSphere(
+ Map.of(DefaultEllipsoid.NAME_KEY, "Bessel 1841"),
+ 6377397.155, 299.1528128, Units.METRE);
assertEquals(6382644.571, Formulas.radiusOfConformalSphere(ellipsoid, StrictMath.toRadians(52.156160556)), 0.001);
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.java b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.java
index 5666341864..a0b793bf07 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.io.wkt;
+import java.util.Map;
import java.util.Locale;
-import java.util.Collections;
import java.text.ParseException;
import org.opengis.referencing.crs.VerticalCRS;
import org.apache.sis.measure.Units;
@@ -421,8 +421,9 @@ public final strictfp class WKTFormatTest extends TestCase {
*/
@Test
public void testWarnings() throws ParseException {
- DefaultPrimeMeridian pm = new DefaultPrimeMeridian(Collections.singletonMap(
- DefaultPrimeMeridian.NAME_KEY, "Invalid “$name” here"), -10, Units.DEGREE);
+ DefaultPrimeMeridian pm = new DefaultPrimeMeridian(
+ Map.of(DefaultPrimeMeridian.NAME_KEY, "Invalid “$name” here"),
+ -10, Units.DEGREE);
format = new WKTFormat(Locale.US, null);
final String wkt = format.format(pm);
final Warnings warnings = format.getWarnings();
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java
index 629f3d34c3..88e0487826 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.parameter;
import java.util.Map;
import java.util.List;
import java.util.HashMap;
-import java.util.Collections;
import org.opengis.parameter.ParameterDirection;
import org.opengis.parameter.GeneralParameterDescriptor;
import org.opengis.parameter.ParameterNotFoundException;
@@ -31,7 +30,6 @@ import org.apache.sis.test.TestCase;
import org.junit.Test;
import static org.opengis.test.Validators.*;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.opengis.referencing.IdentifiedObject.*;
@@ -62,7 +60,7 @@ public final strictfp class DefaultParameterDescriptorGroupTest extends TestCase
static {
final Class<Integer> type = Integer.class;
final Map<String,Object> properties = new HashMap<>(4);
- M1_M1_O1_O2 = new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "Test group"), 0, 1,
+ M1_M1_O1_O2 = new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "Test group"), 0, 1,
new DefaultParameterDescriptor<>(name(properties, "Mandatory 1", "Ambiguity"), 1, 1, type, null, null, DEFAULT_VALUE),
new DefaultParameterDescriptor<>(name(properties, "Mandatory 2", "Alias 2"), 1, 1, type, null, null, DEFAULT_VALUE),
new DefaultParameterDescriptor<>(name(properties, "Optional 3", "Alias 3"), 0, 1, type, null, null, DEFAULT_VALUE),
@@ -91,7 +89,7 @@ public final strictfp class DefaultParameterDescriptorGroupTest extends TestCase
p1 = new DefaultParameterDescriptor<>(name(properties, "Name", null), 1, 1, type, null, null, null);
p2 = new DefaultParameterDescriptor<>(name(properties, " NAME ", null), 1, 1, type, null, null, null);
try {
- new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "Test group"), 0, 1, p1, p2);
+ new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "Test group"), 0, 1, p1, p2);
fail("Constructor should have detected the duplicated names.");
} catch (IllegalArgumentException e) {
final String message = e.getMessage();
@@ -218,8 +216,7 @@ public final strictfp class DefaultParameterDescriptorGroupTest extends TestCase
* Here, the URI should be omitted because it is a long value which does not
* bring new information, since it is computed from other values.
*/
- final DefaultParameterDescriptorGroup group = new DefaultParameterDescriptorGroup(
- Collections.singletonMap(NAME_KEY, "Affine"), 1, 1, descriptor);
+ final var group = new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "Affine"), 1, 1, descriptor);
assertWktEquals("PARAMETERGROUP[“Affine”,\n" +
" PARAMETER[“A0”, ID[“EPSG”, 8623]]]", group);
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueGroupTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueGroupTest.java
index 45b145258e..1568993685 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueGroupTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueGroupTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.parameter;
+import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
@@ -35,7 +36,6 @@ import org.junit.Test;
import static org.apache.sis.test.Assert.*;
import static org.opengis.test.Validators.*;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.IdentifiedObject.NAME_KEY;
@@ -239,10 +239,10 @@ public final strictfp class DefaultParameterValueGroupTest extends TestCase {
public void testValuesAddAllWithSubgroups() {
final DefaultParameterDescriptorGroup group, subGroup;
final List<GeneralParameterDescriptor> descriptors = new ArrayList<>(descriptor.descriptors());
- subGroup = new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "theSubGroup"),
+ subGroup = new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "theSubGroup"),
2, 4, descriptors.toArray(GeneralParameterDescriptor[]::new));
descriptors.add(subGroup);
- group = new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "theGroup"),
+ group = new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "theGroup"),
descriptors.toArray(GeneralParameterDescriptor[]::new));
/*
* Prepare the GeneralParameterValue instances that we are going to add in the above group.
@@ -295,7 +295,7 @@ public final strictfp class DefaultParameterValueGroupTest extends TestCase {
final DefaultParameterValueGroup group = createGroup(10);
final List<GeneralParameterValue> values = group.values();
final ParameterValue<Integer> nonExistent = new DefaultParameterDescriptor<>(
- singletonMap(NAME_KEY, "Optional 5"), 0, 1, Integer.class, null, null, null).createValue();
+ Map.of(NAME_KEY, "Optional 5"), 0, 1, Integer.class, null, null, null).createValue();
try {
values.add(nonExistent);
fail("“Optional 5” is not a parameter for this group.");
@@ -385,8 +385,8 @@ public final strictfp class DefaultParameterValueGroupTest extends TestCase {
*/
@Test
public void testAddGroup() {
- descriptor = new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "theGroup"), 1, 1,
- new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "theSubGroup"), 0, 10)
+ descriptor = new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "theGroup"), 1, 1,
+ new DefaultParameterDescriptorGroup(Map.of(NAME_KEY, "theSubGroup"), 0, 10)
);
validate(descriptor);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/MapProjectionParametersTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/MapProjectionParametersTest.java
index 09b2657135..05119744ce 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/MapProjectionParametersTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/MapProjectionParametersTest.java
@@ -17,7 +17,6 @@
package org.apache.sis.parameter;
import java.util.Map;
-import java.util.Collections;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterValue;
import org.opengis.parameter.ParameterValueGroup;
@@ -73,7 +72,7 @@ public final strictfp class MapProjectionParametersTest extends TestCase {
/** Returns properties map for an object of the given name. */
private static Map<String,String> name(final String name) {
- return Collections.singletonMap(MapProjectionDescriptor.NAME_KEY, name);
+ return Map.of(MapProjectionDescriptor.NAME_KEY, name);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterMarshallingTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterMarshallingTest.java
index c5a6480713..7beab8be4b 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterMarshallingTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterMarshallingTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.parameter;
-import java.util.Collections;
+import java.util.Map;
import java.util.Iterator;
import java.util.Objects;
import java.net.URI;
@@ -60,8 +60,7 @@ public final strictfp class ParameterMarshallingTest extends TestCase {
*/
private static <T> DefaultParameterValue<T> create(final Class<T> type, final Range<?> valueDomain) {
return new DefaultParameterValue<>(new DefaultParameterDescriptor<>(
- Collections.singletonMap(DefaultParameterDescriptor.NAME_KEY,
- "A parameter of type " + type.getSimpleName()),
+ Map.of(DefaultParameterDescriptor.NAME_KEY, "A parameter of type " + type.getSimpleName()),
1, 1, type, valueDomain, null, null));
}
@@ -106,7 +105,7 @@ public final strictfp class ParameterMarshallingTest extends TestCase {
@Test
public void testDescriptor() throws JAXBException {
final DefaultParameterDescriptor<Double> descriptor = new DefaultParameterDescriptor<>(
- Collections.singletonMap(DefaultParameterDescriptor.NAME_KEY, "A descriptor"),
+ Map.of(DefaultParameterDescriptor.NAME_KEY, "A descriptor"),
0, 1, Double.class, null, null, null);
final String xml = XML.marshal(descriptor);
assertXmlEquals(
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
index 37dd35ef44..d248b93810 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.sis.parameter;
+import java.util.Map;
import java.util.Set;
import java.util.Collection;
-import java.util.Collections;
import javax.measure.Unit;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterDirection;
@@ -151,7 +151,7 @@ public final strictfp class ParametersTest extends TestCase {
*/
final String subgroupName = DefaultParameterDescriptorGroupTest.M1_M1_O1_O2.getName().getCode();
final DefaultParameterDescriptorGroup descriptor = new DefaultParameterDescriptorGroup(
- Collections.singletonMap(DefaultParameterDescriptorGroup.NAME_KEY, "parent"), 1, 1,
+ Map.of(DefaultParameterDescriptorGroup.NAME_KEY, "parent"), 1, 1,
DefaultParameterDescriptorTest.createSimpleOptional("A parent parameter", String.class),
DefaultParameterDescriptorGroupTest.M1_M1_O1_O2);
/*
@@ -199,7 +199,7 @@ public final strictfp class ParametersTest extends TestCase {
public void testGetIntValue() {
final ParameterDescriptor<Integer> descriptor = DefaultParameterDescriptorTest.create("My param", 5, 15, 10);
final ParameterDescriptor<Integer> incomplete = DefaultParameterDescriptorTest.createSimpleOptional("My param", Integer.class);
- final Parameters group = Parameters.castOrWrap(new DefaultParameterDescriptorGroup(Collections.singletonMap(
+ final Parameters group = Parameters.castOrWrap(new DefaultParameterDescriptorGroup(Map.of(
DefaultParameterDescriptorGroup.NAME_KEY, "My group"), 1, 1, incomplete).createValue());
/*
* Test when the ParameterValueGroup is empty. We test both with the "incomplete" descriptor,
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorParametersTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorParametersTest.java
index dd4f1981e7..bb1969ebd1 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorParametersTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorParametersTest.java
@@ -29,7 +29,6 @@ import org.apache.sis.test.TestCase;
import org.junit.AfterClass;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.test.Validators.validate;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.apache.sis.internal.util.Constants.NUM_ROW;
@@ -320,7 +319,7 @@ public strictfp class TensorParametersTest extends TestCase {
}
}
final ParameterValueGroup group = param.createValueGroup(
- singletonMap(ParameterDescriptor.NAME_KEY, "Test"), matrix);
+ Map.of(ParameterDescriptor.NAME_KEY, "Test"), matrix);
validate(group);
assertEquals(NUM_ROW, numRow, group.parameter(NUM_ROW).intValue());
assertEquals(NUM_COL, numCol, group.parameter(NUM_COL).intValue());
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java
index f2fc84dbbb..3261ff0759 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/TensorValuesTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.parameter;
+import java.util.Map;
import java.util.List;
import org.opengis.parameter.ParameterValue;
import org.opengis.parameter.ParameterValueGroup;
@@ -33,7 +34,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.test.Validators.validate;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.apache.sis.internal.util.Constants.NUM_ROW;
@@ -59,14 +59,14 @@ public final strictfp class TensorValuesTest extends TestCase {
* Creates an instance for a matrix using the WKT 1 conventions.
*/
private static ParameterValueGroup createWKT1() {
- return TensorParameters.WKT1.createValueGroup(singletonMap(TensorValues.NAME_KEY, GROUP_NAME));
+ return TensorParameters.WKT1.createValueGroup(Map.of(TensorValues.NAME_KEY, GROUP_NAME));
}
/**
* Creates an instance for a matrix using the alphanumeric (EPSG) conventions.
*/
private static ParameterValueGroup createAlphaNumeric() {
- return TensorParameters.ALPHANUM.createValueGroup(singletonMap(TensorValues.NAME_KEY, GROUP_NAME));
+ return TensorParameters.ALPHANUM.createValueGroup(Map.of(TensorValues.NAME_KEY, GROUP_NAME));
}
/**
@@ -318,7 +318,7 @@ public final strictfp class TensorValuesTest extends TestCase {
matrix.setElement(1,0, -2);
matrix.setElement(2,2, 7);
final ParameterValueGroup group = TensorParameters.WKT1.createValueGroup(
- singletonMap(TensorValues.NAME_KEY, Constants.AFFINE), matrix);
+ Map.of(TensorValues.NAME_KEY, Constants.AFFINE), matrix);
validate(group);
assertWktEquals(
"PARAMETERGROUP[“Affine”,\n" +
@@ -345,7 +345,7 @@ public final strictfp class TensorValuesTest extends TestCase {
matrix.setElement(1,0, -2);
matrix.setElement(2,2, 7);
final ParameterValueGroup group = TensorParameters.ALPHANUM.createValueGroup(
- singletonMap(TensorValues.NAME_KEY, Affine.NAME), matrix);
+ Map.of(TensorValues.NAME_KEY, Affine.NAME), matrix);
validate(group);
assertWktEquals(
"PARAMETERGROUP[“Affine parametric transformation”,\n" +
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/AbstractCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/AbstractCRSTest.java
index 2bfb1b8fa7..a66e955b40 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/AbstractCRSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/AbstractCRSTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.crs;
+import java.util.Map;
import org.apache.sis.referencing.cs.AbstractCS;
import org.apache.sis.referencing.cs.HardCodedAxes;
import org.apache.sis.referencing.cs.AxesConvention;
@@ -23,7 +24,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.cs.CoordinateSystem.NAME_KEY;
import static org.apache.sis.test.Assert.*;
@@ -44,11 +44,11 @@ public final strictfp class AbstractCRSTest extends TestCase {
@Test
public void testForRightHandedConvention() {
final AbstractCRS toTest, expected, actual;
- toTest = new AbstractCRS(singletonMap(NAME_KEY, "My CRS"),
- new AbstractCS (singletonMap(NAME_KEY, "My strange CS"),
+ toTest = new AbstractCRS(Map.of(NAME_KEY, "My CRS"),
+ new AbstractCS (Map.of(NAME_KEY, "My strange CS"),
HardCodedAxes.TIME, HardCodedAxes.ALTITUDE, HardCodedAxes.GEODETIC_LATITUDE, HardCodedAxes.GEODETIC_LONGITUDE));
- expected = new AbstractCRS(singletonMap(NAME_KEY, "My CRS"),
- new AbstractCS (singletonMap(NAME_KEY, "Coordinate system: East (°), North (°), Up (m), Future (d)."),
+ expected = new AbstractCRS(Map.of(NAME_KEY, "My CRS"),
+ new AbstractCS (Map.of(NAME_KEY, "Coordinate system: East (°), North (°), Up (m), Future (d)."),
HardCodedAxes.GEODETIC_LONGITUDE, HardCodedAxes.GEODETIC_LATITUDE, HardCodedAxes.ALTITUDE, HardCodedAxes.TIME));
actual = toTest.forConvention(AxesConvention.RIGHT_HANDED);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultCompoundCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultCompoundCRSTest.java
index c9321ec24d..bb1d4ef004 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultCompoundCRSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultCompoundCRSTest.java
@@ -35,7 +35,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.xml.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.crs.CompoundCRS.NAME_KEY;
import static org.apache.sis.test.ReferencingAssert.*;
@@ -133,8 +132,8 @@ public final strictfp class DefaultCompoundCRSTest extends TestCase {
@Test
public void testConstructionAndSerialization() {
final DefaultGeographicCRS crs2 = HardCodedCRS.WGS84;
- final DefaultCompoundCRS crs3 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "3D"), crs2, HEIGHT);
- final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "4D"), crs3, TIME);
+ final DefaultCompoundCRS crs3 = new DefaultCompoundCRS(Map.of(NAME_KEY, "3D"), crs2, HEIGHT);
+ final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(Map.of(NAME_KEY, "4D"), crs3, TIME);
Validators.validate(crs4);
/*
* Verifies the coordinate system axes.
@@ -176,13 +175,13 @@ public final strictfp class DefaultCompoundCRSTest extends TestCase {
public void testNormalization() {
final DefaultGeographicCRS crs2 = HardCodedCRS.WGS84_LATITUDE_FIRST;
final DefaultGeographicCRS rh2 = crs2.forConvention(AxesConvention.RIGHT_HANDED);
- final DefaultCompoundCRS crs3 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "3D"), crs2, HEIGHT);
- final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "4D"), crs3, TIME);
+ final DefaultCompoundCRS crs3 = new DefaultCompoundCRS(Map.of(NAME_KEY, "3D"), crs2, HEIGHT);
+ final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(Map.of(NAME_KEY, "4D"), crs3, TIME);
final DefaultCompoundCRS rh4 = crs4.forConvention(AxesConvention.RIGHT_HANDED);
assertNotSame(crs4, rh4);
Validators.validate(rh4);
verifyComponents(crs2, crs3, crs4);
- verifyComponents(rh2, new DefaultCompoundCRS(singletonMap(NAME_KEY, "3D"), rh2, HEIGHT), rh4);
+ verifyComponents(rh2, new DefaultCompoundCRS(Map.of(NAME_KEY, "3D"), rh2, HEIGHT), rh4);
}
/**
@@ -191,7 +190,7 @@ public final strictfp class DefaultCompoundCRSTest extends TestCase {
@Test
public void testShiftLongitudeRange() {
final DefaultGeographicCRS crs3 = HardCodedCRS.WGS84_3D;
- final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "4D"), crs3, TIME);
+ final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(Map.of(NAME_KEY, "4D"), crs3, TIME);
CoordinateSystemAxis axis = crs4.getCoordinateSystem().getAxis(0);
assertEquals("longitude.minimumValue", -180.0, axis.getMinimumValue(), STRICT);
assertEquals("longitude.maximumValue", +180.0, axis.getMaximumValue(), STRICT);
@@ -215,13 +214,13 @@ public final strictfp class DefaultCompoundCRSTest extends TestCase {
*/
@Test
public void testIsStandardCompliant() {
- final DefaultCompoundCRS crs3 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "3D"), HardCodedCRS.WGS84, HEIGHT);
- final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(singletonMap(NAME_KEY, "4D"), HardCodedCRS.WGS84_3D, TIME);
+ final DefaultCompoundCRS crs3 = new DefaultCompoundCRS(Map.of(NAME_KEY, "3D"), HardCodedCRS.WGS84, HEIGHT);
+ final DefaultCompoundCRS crs4 = new DefaultCompoundCRS(Map.of(NAME_KEY, "4D"), HardCodedCRS.WGS84_3D, TIME);
assertTrue (isStandardCompliant(crs3));
assertTrue (isStandardCompliant(crs4));
- assertTrue (isStandardCompliant(new DefaultCompoundCRS(singletonMap(NAME_KEY, "4D"), crs3, TIME)));
- assertFalse(isStandardCompliant(new DefaultCompoundCRS(singletonMap(NAME_KEY, "5D"), crs4, TIME)));
- assertFalse(isStandardCompliant(new DefaultCompoundCRS(singletonMap(NAME_KEY, "4D"), TIME, crs3)));
+ assertTrue (isStandardCompliant(new DefaultCompoundCRS(Map.of(NAME_KEY, "4D"), crs3, TIME)));
+ assertFalse(isStandardCompliant(new DefaultCompoundCRS(Map.of(NAME_KEY, "5D"), crs4, TIME)));
+ assertFalse(isStandardCompliant(new DefaultCompoundCRS(Map.of(NAME_KEY, "4D"), TIME, crs3)));
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultDerivedCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultDerivedCRSTest.java
index a42100434e..b0eb011097 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultDerivedCRSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultDerivedCRSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.crs;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.JAXBException;
import org.opengis.referencing.crs.SingleCRS;
import org.opengis.referencing.cs.AxisDirection;
@@ -105,7 +105,7 @@ public final strictfp class DefaultDerivedCRSTest extends TestCase {
*/
private static DefaultDerivedCRS createLongitudeRotation() {
final DefaultConversion conversion = DefaultConversionTest.createLongitudeRotation(false);
- return new DefaultDerivedCRS(Collections.singletonMap(DefaultDerivedCRS.NAME_KEY, conversion.getTargetCRS().getName()),
+ return new DefaultDerivedCRS(Map.of(DefaultDerivedCRS.NAME_KEY, conversion.getTargetCRS().getName()),
(SingleCRS) conversion.getSourceCRS(), conversion, HardCodedCS.GEODETIC_φλ);
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java
index 0748ff2472..7142b1e352 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultEngineeringCRSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.crs;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.JAXBException;
import org.opengis.referencing.cs.CartesianCS;
import org.opengis.referencing.cs.SphericalCS;
@@ -45,8 +45,8 @@ public final strictfp class DefaultEngineeringCRSTest extends TestCase {
* Creates an engineering CRS using a two-dimensional Cartesian coordinate system.
*/
private static DefaultEngineeringCRS createCartesian() {
- return new DefaultEngineeringCRS(Collections.singletonMap(DefaultEngineeringCRS.NAME_KEY, "A construction site CRS"),
- new DefaultEngineeringDatum(Collections.singletonMap(DefaultEngineeringDatum.NAME_KEY, "P1")),
+ return new DefaultEngineeringCRS(Map.of(DefaultEngineeringCRS.NAME_KEY, "A construction site CRS"),
+ new DefaultEngineeringDatum(Map.of(DefaultEngineeringDatum.NAME_KEY, "P1")),
HardCodedCS.CARTESIAN_2D);
}
@@ -54,8 +54,8 @@ public final strictfp class DefaultEngineeringCRSTest extends TestCase {
* Creates an engineering CRS using a three-dimensional Spherical coordinate system.
*/
private static DefaultEngineeringCRS createSpherical() {
- return new DefaultEngineeringCRS(Collections.singletonMap(DefaultEngineeringCRS.NAME_KEY, "A spherical CRS"),
- new DefaultEngineeringDatum(Collections.singletonMap(DefaultEngineeringDatum.NAME_KEY, "Centre")),
+ return new DefaultEngineeringCRS(Map.of(DefaultEngineeringCRS.NAME_KEY, "A spherical CRS"),
+ new DefaultEngineeringDatum(Map.of(DefaultEngineeringDatum.NAME_KEY, "Centre")),
HardCodedCS.SPHERICAL);
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java
index 65d7f1df6c..a312a3ea52 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultImageCRSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.crs;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.JAXBException;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.cs.AffineCS;
@@ -50,10 +50,10 @@ public final strictfp class DefaultImageCRSTest extends TestCase {
* @param cartesian {@code true} for a Cartesian coordinate system, or {@code false} for an affine one.
*/
private static DefaultImageCRS create(final boolean cartesian) {
- return new DefaultImageCRS(Collections.singletonMap(DefaultImageCRS.NAME_KEY, "An image CRS"),
- new DefaultImageDatum(Collections.singletonMap(DefaultImageDatum.NAME_KEY, "C1"), PixelInCell.CELL_CENTER),
- cartesian ? HardCodedCS.GRID : new DefaultAffineCS(
- Collections.singletonMap(DefaultAffineCS.NAME_KEY, "Grid"),
+ return new DefaultImageCRS(Map.of(DefaultImageCRS.NAME_KEY, "An image CRS"),
+ new DefaultImageDatum(Map.of(DefaultImageDatum.NAME_KEY, "C1"), PixelInCell.CELL_CENTER),
+ cartesian ? HardCodedCS.GRID : new DefaultAffineCS(
+ Map.of(DefaultAffineCS.NAME_KEY, "Grid"),
HardCodedAxes.COLUMN, HardCodedAxes.ROW));
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java
index 9559caf219..4b4a918db4 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultTemporalCRSTest.java
@@ -19,7 +19,7 @@ package org.apache.sis.referencing.crs;
import java.time.Duration;
import java.time.Instant;
import java.util.Date;
-import java.util.Collections;
+import java.util.Map;
import org.apache.sis.referencing.datum.DefaultTemporalDatum;
import org.apache.sis.referencing.cs.HardCodedCS;
import org.apache.sis.io.wkt.Convention;
@@ -105,10 +105,10 @@ public final strictfp class DefaultTemporalCRSTest extends TestCase {
@Test
public void testDateConversionWithNanos() {
final DefaultTemporalDatum datum = new DefaultTemporalDatum(
- Collections.singletonMap(DefaultTemporalDatum.NAME_KEY, "For test"),
+ Map.of(DefaultTemporalDatum.NAME_KEY, "For test"),
new Date(10000L * MILLISECONDS_PER_DAY + 12345)); // 1997-05-19T00:00:12.345Z
final DefaultTemporalCRS crs = new DefaultTemporalCRS(
- Collections.singletonMap(DefaultTemporalCRS.NAME_KEY, datum.getName()),
+ Map.of(DefaultTemporalCRS.NAME_KEY, datum.getName()),
datum, HardCodedCS.DAYS);
/*
* DefaultTemporalCRS.toSeconds converter should have a non-zero offset because of the 0.345 seconds offset
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/HardCodedCRS.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/HardCodedCRS.java
index 4717314852..4ea60c06ee 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/HardCodedCRS.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/HardCodedCRS.java
@@ -18,7 +18,6 @@ package org.apache.sis.referencing.crs;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import org.opengis.referencing.datum.PixelInCell;
import org.apache.sis.referencing.cs.HardCodedCS;
import org.apache.sis.referencing.datum.HardCodedDatum;
@@ -128,7 +127,7 @@ public final strictfp class HardCodedCRS {
* @since 0.6
*/
public static final DefaultGeographicCRS NTF = new DefaultGeographicCRS(
- Collections.singletonMap(DefaultGeographicCRS.NAME_KEY, "NTF (Paris)"),
+ Map.of(DefaultGeographicCRS.NAME_KEY, "NTF (Paris)"),
HardCodedDatum.NTF, HardCodedCS.ELLIPSOIDAL_gon);
/**
@@ -146,7 +145,7 @@ public final strictfp class HardCodedCRS {
* @since 0.6
*/
public static final DefaultGeographicCRS NTF_NORMALIZED_AXES = new DefaultGeographicCRS(
- Collections.singletonMap(DefaultGeographicCRS.NAME_KEY, NTF.getName()),
+ Map.of(DefaultGeographicCRS.NAME_KEY, NTF.getName()),
HardCodedDatum.NTF, HardCodedCS.GEODETIC_2D);
/**
@@ -162,7 +161,7 @@ public final strictfp class HardCodedCRS {
* @since 0.7
*/
public static final DefaultGeographicCRS TOKYO = new DefaultGeographicCRS(
- Collections.singletonMap(DefaultGeographicCRS.NAME_KEY, "Tokyo"),
+ Map.of(DefaultGeographicCRS.NAME_KEY, "Tokyo"),
HardCodedDatum.TOKYO, HardCodedCS.GEODETIC_3D);
/**
@@ -178,7 +177,7 @@ public final strictfp class HardCodedCRS {
* @since 0.7
*/
public static final DefaultGeographicCRS JGD2000 = new DefaultGeographicCRS(
- Collections.singletonMap(DefaultGeographicCRS.NAME_KEY, "JGD2000"),
+ Map.of(DefaultGeographicCRS.NAME_KEY, "JGD2000"),
HardCodedDatum.JGD2000, HardCodedCS.GEODETIC_3D);
/**
@@ -193,7 +192,7 @@ public final strictfp class HardCodedCRS {
* @since 1.1
*/
public static final DefaultGeographicCRS GRS80 = new DefaultGeographicCRS(
- Collections.singletonMap(DefaultGeographicCRS.NAME_KEY, "Unknown datum based on GRS 1980 ellipsoid"),
+ Map.of(DefaultGeographicCRS.NAME_KEY, "Unknown datum based on GRS 1980 ellipsoid"),
GeodeticDatumMock.GRS80, HardCodedCS.GEODETIC_2D);
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/AbstractCSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/AbstractCSTest.java
index 364bb8a125..803787f7cd 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/AbstractCSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/AbstractCSTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.cs;
+import java.util.Map;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.cs.CoordinateSystemAxis;
import org.apache.sis.measure.Units;
@@ -25,7 +26,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.cs.CoordinateSystem.NAME_KEY;
import static org.apache.sis.test.Assert.*;
@@ -70,7 +70,7 @@ public final strictfp class AbstractCSTest extends TestCase {
*/
@Test
public void testForRightHandedConvention() {
- final AbstractCS cs = new AbstractCS(singletonMap(NAME_KEY, "Test"),
+ final AbstractCS cs = new AbstractCS(Map.of(NAME_KEY, "Test"),
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.TIME,
HardCodedAxes.ALTITUDE,
@@ -100,10 +100,10 @@ public final strictfp class AbstractCSTest extends TestCase {
* We verify the properties inferred by the constructor as a matter of principle, even
* if it is not really the purpose of this test.
*/
- final DefaultCoordinateSystemAxis EASTING = new DefaultCoordinateSystemAxis(
- singletonMap(NAME_KEY, Vocabulary.format(Vocabulary.Keys.Unnamed)), "E", AxisDirection.EAST, Units.METRE);
- final DefaultCoordinateSystemAxis HEIGHT = new DefaultCoordinateSystemAxis(
- singletonMap(NAME_KEY, "Height"), "h", AxisDirection.UP, Units.METRE);
+ final var EASTING = new DefaultCoordinateSystemAxis(
+ Map.of(NAME_KEY, Vocabulary.format(Vocabulary.Keys.Unnamed)), "E", AxisDirection.EAST, Units.METRE);
+ final var HEIGHT = new DefaultCoordinateSystemAxis(
+ Map.of(NAME_KEY, "Height"), "h", AxisDirection.UP, Units.METRE);
assertEquals("minimumValue", Double.NEGATIVE_INFINITY, EASTING.getMinimumValue(), STRICT);
assertEquals("maximumValue", Double.POSITIVE_INFINITY, EASTING.getMaximumValue(), STRICT);
assertNull ("rangeMeaning", EASTING.getRangeMeaning());
@@ -114,7 +114,7 @@ public final strictfp class AbstractCSTest extends TestCase {
* Now the actual test. First we opportunistically test RIGHT_HANDED and DISPLAY_ORIENTED
* before to test NORMALIZED, in order to test in increasing complexity.
*/
- final AbstractCS cs = new AbstractCS(singletonMap(NAME_KEY, "Test"),
+ final AbstractCS cs = new AbstractCS(Map.of(NAME_KEY, "Test"),
HardCodedAxes.TIME,
HardCodedAxes.NORTHING,
HardCodedAxes.WESTING,
@@ -142,7 +142,7 @@ public final strictfp class AbstractCSTest extends TestCase {
*/
@Test
public void testForPositiveRangeConvention() {
- final AbstractCS cs = new AbstractCS(singletonMap(NAME_KEY, "Test"),
+ final AbstractCS cs = new AbstractCS(Map.of(NAME_KEY, "Test"),
HardCodedAxes.GEODETIC_LONGITUDE, HardCodedAxes.GEODETIC_LATITUDE);
verifyAxesConvention(AxesConvention.POSITIVE_RANGE, cs,
HardCodedAxes.SHIFTED_LONGITUDE, HardCodedAxes.GEODETIC_LATITUDE);
@@ -153,7 +153,7 @@ public final strictfp class AbstractCSTest extends TestCase {
*/
@Test
public void testSerialization() {
- final AbstractCS cs = new AbstractCS(singletonMap(NAME_KEY, "Test"), HardCodedAxes.X, HardCodedAxes.Y);
+ final AbstractCS cs = new AbstractCS(Map.of(NAME_KEY, "Test"), HardCodedAxes.X, HardCodedAxes.Y);
assertNotSame(cs, assertSerializedEquals(cs));
}
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/CoordinateSystemsTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/CoordinateSystemsTest.java
index cc4dbc864a..a21b11503c 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/CoordinateSystemsTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/CoordinateSystemsTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.cs;
+import java.util.Map;
import java.util.Locale;
import javax.measure.Unit;
import javax.measure.IncommensurableException;
@@ -36,7 +37,6 @@ import org.apache.sis.test.TestCase;
import org.junit.Test;
import static java.lang.Double.NaN;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.IdentifiedObject.NAME_KEY;
import static org.apache.sis.referencing.IdentifiedObjects.getProperties;
import static org.apache.sis.referencing.cs.CoordinateSystems.*;
@@ -181,10 +181,10 @@ public final strictfp class CoordinateSystemsTest extends TestCase {
*/
@Test
public void testSwapAndScaleAxes2D() throws IncommensurableException {
- final CoordinateSystem λφ = new DefaultEllipsoidalCS(singletonMap(NAME_KEY, "(λ,φ)"),
+ final CoordinateSystem λφ = new DefaultEllipsoidalCS(Map.of(NAME_KEY, "(λ,φ)"),
HardCodedAxes.GEODETIC_LONGITUDE,
HardCodedAxes.GEODETIC_LATITUDE);
- final CoordinateSystem φλ = new DefaultEllipsoidalCS(singletonMap(NAME_KEY, "(φ,λ)"),
+ final CoordinateSystem φλ = new DefaultEllipsoidalCS(Map.of(NAME_KEY, "(φ,λ)"),
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.GEODETIC_LONGITUDE);
final Matrix expected = Matrices.create(3, 3, new double[] {
@@ -206,11 +206,11 @@ public final strictfp class CoordinateSystemsTest extends TestCase {
@Test
@DependsOnMethod("testSwapAndScaleAxes2D")
public void testSwapAndScaleAxes3D() throws IncommensurableException {
- final CoordinateSystem λφh = new DefaultEllipsoidalCS(singletonMap(NAME_KEY, "(λ,φ,h)"),
+ final CoordinateSystem λφh = new DefaultEllipsoidalCS(Map.of(NAME_KEY, "(λ,φ,h)"),
HardCodedAxes.GEODETIC_LONGITUDE,
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.ELLIPSOIDAL_HEIGHT);
- final CoordinateSystem φλh = new DefaultEllipsoidalCS(singletonMap(NAME_KEY, "(φ,λ,h)"),
+ final CoordinateSystem φλh = new DefaultEllipsoidalCS(Map.of(NAME_KEY, "(φ,λ,h)"),
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.GEODETIC_LONGITUDE,
HardCodedAxes.ELLIPSOIDAL_HEIGHT);
@@ -234,11 +234,11 @@ public final strictfp class CoordinateSystemsTest extends TestCase {
@Test
@DependsOnMethod("testSwapAndScaleAxes3D")
public void testSwapAndScaleAxes() throws IncommensurableException {
- final CoordinateSystem hxy = new DefaultCartesianCS(singletonMap(NAME_KEY, "(h,x,y)"),
+ final CoordinateSystem hxy = new DefaultCartesianCS(Map.of(NAME_KEY, "(h,x,y)"),
HardCodedAxes.HEIGHT_cm,
HardCodedAxes.EASTING,
HardCodedAxes.NORTHING);
- final CoordinateSystem yxh = new DefaultCartesianCS(singletonMap(NAME_KEY, "(y,x,h)"),
+ final CoordinateSystem yxh = new DefaultCartesianCS(Map.of(NAME_KEY, "(y,x,h)"),
HardCodedAxes.SOUTHING,
HardCodedAxes.EASTING,
HardCodedAxes.DEPTH);
@@ -265,7 +265,7 @@ public final strictfp class CoordinateSystemsTest extends TestCase {
@Test
@DependsOnMethod("testSwapAndScaleAxes")
public void testScaleAndSwapAxesNonSquare() throws IncommensurableException {
- final DefaultCartesianCS cs = new DefaultCartesianCS(singletonMap(NAME_KEY, "Test"),
+ final var cs = new DefaultCartesianCS(Map.of(NAME_KEY, "Test"),
new DefaultCoordinateSystemAxis(getProperties(HardCodedAxes.SOUTHING), "y", AxisDirection.SOUTH, Units.CENTIMETRE),
new DefaultCoordinateSystemAxis(getProperties(HardCodedAxes.EASTING), "x", AxisDirection.EAST, Units.MILLIMETRE));
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCartesianCSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCartesianCSTest.java
index d918df8fac..015d554230 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCartesianCSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCartesianCSTest.java
@@ -28,7 +28,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.DependsOnMethod;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.IdentifiedObject.NAME_KEY;
import static org.apache.sis.test.TestUtilities.getSingleton;
import static org.apache.sis.test.ReferencingAssert.*;
@@ -57,7 +56,7 @@ public final strictfp class DefaultCartesianCSTest extends TestCase {
*/
@Test
public void testConstructor() {
- final Map<String,?> properties = singletonMap(DefaultCartesianCS.NAME_KEY, "Test");
+ final Map<String,?> properties = Map.of(DefaultCartesianCS.NAME_KEY, "Test");
DefaultCartesianCS cs;
/*
* (E,N) : legal axes for the usual projected CRS.
@@ -87,7 +86,7 @@ public final strictfp class DefaultCartesianCSTest extends TestCase {
*/
@Test
public void testConstructorArgumentChecks() {
- final Map<String,?> properties = singletonMap(DefaultCartesianCS.NAME_KEY, "Test");
+ final Map<String,?> properties = Map.of(DefaultCartesianCS.NAME_KEY, "Test");
/*
* (λ,φ) : illegal units.
*/
@@ -131,7 +130,7 @@ public final strictfp class DefaultCartesianCSTest extends TestCase {
if (c.equals(AxisDirection.EAST)) return HardCodedAxes.EASTING;
if (c.equals(AxisDirection.SOUTH)) return HardCodedAxes.SOUTHING;
if (c.equals(AxisDirection.WEST)) return HardCodedAxes.WESTING;
- return new DefaultCoordinateSystemAxis(singletonMap(NAME_KEY, c.name()), "?", c, Units.METRE);
+ return new DefaultCoordinateSystemAxis(Map.of(NAME_KEY, c.name()), "?", c, Units.METRE);
}
/**
@@ -144,7 +143,7 @@ public final strictfp class DefaultCartesianCSTest extends TestCase {
final DefaultCoordinateSystemAxis xAxis = createAxis(x);
final DefaultCoordinateSystemAxis yAxis = createAxis(y);
final String name = xAxis.getName().getCode() + ", " + yAxis.getName().getCode();
- return new DefaultCartesianCS(singletonMap(NAME_KEY, name), xAxis, yAxis);
+ return new DefaultCartesianCS(Map.of(NAME_KEY, name), xAxis, yAxis);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCompoundCSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCompoundCSTest.java
index 2b1522cfa2..9ad5fe20d7 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCompoundCSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCompoundCSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.cs;
-import java.util.Collections;
+import java.util.Map;
import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
@@ -41,8 +41,7 @@ public final strictfp class DefaultCompoundCSTest extends TestCase {
public void testConstruction() {
final DefaultCompoundCS cs = new DefaultCompoundCS(
HardCodedCS.PROJECTED,
- new DefaultVerticalCS(Collections.singletonMap(DefaultVerticalCS.NAME_KEY,
- HardCodedAxes.HEIGHT_cm.getName()), HardCodedAxes.HEIGHT_cm),
+ new DefaultVerticalCS(Map.of(DefaultVerticalCS.NAME_KEY, HardCodedAxes.HEIGHT_cm.getName()), HardCodedAxes.HEIGHT_cm),
HardCodedCS.DAYS
);
assertEquals("Compound CS: East (m), North (m), Up (cm), Future (d).", cs.getName().getCode());
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java
index 75b766352a..93c574db19 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCoordinateSystemAxisTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.cs;
+import java.util.Map;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.cs.RangeMeaning;
import org.opengis.test.Validators;
@@ -27,7 +28,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.apache.sis.referencing.cs.HardCodedAxes.*;
import static org.apache.sis.referencing.IdentifiedObjects.getProperties;
@@ -116,7 +116,7 @@ public final strictfp class DefaultCoordinateSystemAxisTest extends TestCase {
@DependsOnMethod("testWKT")
public void testMeridianWKT() {
assertWktEquals("AXIS[“South along 90°W (x)”, south, MERIDIAN[-90.0, ANGLEUNIT[“degree”, 0.017453292519943295]], LENGTHUNIT[“metre”, 1]]",
- new DefaultCoordinateSystemAxis(singletonMap(DefaultCoordinateSystemAxis.NAME_KEY, "South along 90°W"),
+ new DefaultCoordinateSystemAxis(Map.of(DefaultCoordinateSystemAxis.NAME_KEY, "South along 90°W"),
"x", new DirectionAlongMeridian(AxisDirection.SOUTH, -90).getDirection(), Units.METRE));
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCylindricalCSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCylindricalCSTest.java
index c3ad4ef246..a9b48802ac 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCylindricalCSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCylindricalCSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.cs;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.cs.RangeMeaning;
import org.apache.sis.internal.referencing.AxisDirections;
@@ -63,7 +63,7 @@ public final strictfp class DefaultCylindricalCSTest extends TestCase {
AxisDirection.SOUTH, Units.METRE, 0, Double.POSITIVE_INFINITY, RangeMeaning.EXACT);
final DefaultCylindricalCS cs = new DefaultCylindricalCS(
- Collections.singletonMap(DefaultCylindricalCS.NAME_KEY, "Cylindrical"),
+ Map.of(DefaultCylindricalCS.NAME_KEY, "Cylindrical"),
HardCodedAxes.BEARING,
HardCodedAxes.Z,
radius);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultPolarCSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultPolarCSTest.java
index 3a2584c7e6..34aa638bf2 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultPolarCSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultPolarCSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.cs;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.cs.RangeMeaning;
import org.apache.sis.internal.referencing.AxisDirections;
@@ -62,7 +62,7 @@ public final strictfp class DefaultPolarCSTest extends TestCase {
AxisDirection.SOUTH, Units.METRE, 0, Double.POSITIVE_INFINITY, RangeMeaning.EXACT);
final DefaultPolarCS cs = new DefaultPolarCS(
- Collections.singletonMap(DefaultPolarCS.NAME_KEY, "Polar"),
+ Map.of(DefaultPolarCS.NAME_KEY, "Polar"),
HardCodedAxes.BEARING,
radius);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultSphericalCSTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultSphericalCSTest.java
index 1b994f68e0..c272368d68 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultSphericalCSTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultSphericalCSTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.cs;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.referencing.cs.AxisDirection;
import org.apache.sis.internal.referencing.AxisDirections;
import org.apache.sis.test.TestCase;
@@ -59,7 +59,7 @@ public final strictfp class DefaultSphericalCSTest extends TestCase {
AxisDirection.UP);
assertEquals(new DefaultSphericalCS(
- Collections.singletonMap(AbstractCS.NAME_KEY, "Spherical CS: East (°), North (°), Up (m)."),
+ Map.of(AbstractCS.NAME_KEY, "Spherical CS: East (°), North (°), Up (m)."),
HardCodedAxes.SPHERICAL_LONGITUDE,
HardCodedAxes.SPHERICAL_LATITUDE,
HardCodedAxes.GEOCENTRIC_RADIUS), normalized);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/HardCodedCS.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/HardCodedCS.java
index c5ecf4c95c..a3ba08aaa0 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/HardCodedCS.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/HardCodedCS.java
@@ -20,7 +20,6 @@ import java.util.Map;
import org.opengis.referencing.cs.AxisDirection;
import org.apache.sis.measure.Units;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.IdentifiedObject.NAME_KEY;
import static org.apache.sis.referencing.IdentifiedObjects.getProperties;
@@ -41,7 +40,7 @@ public final strictfp class HardCodedCS {
* axes in decimal degrees.
*/
public static final DefaultEllipsoidalCS GEODETIC_φλ = new DefaultEllipsoidalCS(
- singletonMap(NAME_KEY, "Geodetic 2D (φ,λ)"),
+ Map.of(NAME_KEY, "Geodetic 2D (φ,λ)"),
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.GEODETIC_LONGITUDE);
@@ -52,7 +51,7 @@ public final strictfp class HardCodedCS {
* axes in decimal degrees.
*/
public static final DefaultEllipsoidalCS GEODETIC_2D = new DefaultEllipsoidalCS(
- singletonMap(NAME_KEY, "Geodetic 2D"),
+ Map.of(NAME_KEY, "Geodetic 2D"),
HardCodedAxes.GEODETIC_LONGITUDE,
HardCodedAxes.GEODETIC_LATITUDE);
@@ -64,7 +63,7 @@ public final strictfp class HardCodedCS {
* axes.
*/
public static final DefaultEllipsoidalCS GEODETIC_3D = new DefaultEllipsoidalCS(
- singletonMap(NAME_KEY, "Geodetic 3D"),
+ Map.of(NAME_KEY, "Geodetic 3D"),
HardCodedAxes.GEODETIC_LONGITUDE,
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.ELLIPSOIDAL_HEIGHT);
@@ -78,7 +77,7 @@ public final strictfp class HardCodedCS {
* <p>This coordinate system is used for testing unit conversions without axes swapping.</p>
*/
public static final DefaultEllipsoidalCS ELLIPSOIDAL_gon = new DefaultEllipsoidalCS(
- singletonMap(NAME_KEY, "Ellipsoidal (gon)"),
+ Map.of(NAME_KEY, "Ellipsoidal (gon)"),
HardCodedAxes.LONGITUDE_gon,
HardCodedAxes.LATITUDE_gon);
@@ -93,7 +92,7 @@ public final strictfp class HardCodedCS {
* @see #SPHERICAL_ENGINEERING
*/
public static final DefaultSphericalCS SPHERICAL = new DefaultSphericalCS(
- singletonMap(NAME_KEY, "Spherical"),
+ Map.of(NAME_KEY, "Spherical"),
HardCodedAxes.SPHERICAL_LATITUDE,
HardCodedAxes.SPHERICAL_LONGITUDE,
HardCodedAxes.GEOCENTRIC_RADIUS);
@@ -105,7 +104,7 @@ public final strictfp class HardCodedCS {
* <var>{@linkplain HardCodedAxes#ELEVATION elevation}</var> axes.
*/
public static final DefaultSphericalCS SPHERICAL_ENGINEERING = new DefaultSphericalCS(
- singletonMap(NAME_KEY, SPHERICAL.getName()),
+ Map.of(NAME_KEY, SPHERICAL.getName()),
HardCodedAxes.DISTANCE,
HardCodedAxes.BEARING,
HardCodedAxes.ELEVATION);
@@ -118,7 +117,7 @@ public final strictfp class HardCodedCS {
* axes in metres.
*/
public static final DefaultCartesianCS GEOCENTRIC = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Geocentric"),
+ Map.of(NAME_KEY, "Geocentric"),
HardCodedAxes.GEOCENTRIC_X,
HardCodedAxes.GEOCENTRIC_Y,
HardCodedAxes.GEOCENTRIC_Z);
@@ -133,7 +132,7 @@ public final strictfp class HardCodedCS {
* @since 0.7
*/
public static final DefaultCylindricalCS CYLINDRICAL = new DefaultCylindricalCS(
- singletonMap(NAME_KEY, "Cylindrical"),
+ Map.of(NAME_KEY, "Cylindrical"),
HardCodedAxes.DISTANCE,
HardCodedAxes.BEARING,
HardCodedAxes.Z);
@@ -147,7 +146,7 @@ public final strictfp class HardCodedCS {
* @since 0.7
*/
public static final DefaultPolarCS POLAR = new DefaultPolarCS(
- singletonMap(NAME_KEY, "Polar"),
+ Map.of(NAME_KEY, "Polar"),
HardCodedAxes.DISTANCE,
HardCodedAxes.BEARING);
@@ -158,7 +157,7 @@ public final strictfp class HardCodedCS {
* axes in metres.
*/
public static final DefaultCartesianCS PROJECTED = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Projected"),
+ Map.of(NAME_KEY, "Projected"),
HardCodedAxes.EASTING,
HardCodedAxes.NORTHING);
@@ -170,7 +169,7 @@ public final strictfp class HardCodedCS {
* axes in metres.
*/
public static final DefaultCartesianCS PROJECTED_3D = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Projected"),
+ Map.of(NAME_KEY, "Projected"),
HardCodedAxes.EASTING,
HardCodedAxes.NORTHING,
HardCodedAxes.ELLIPSOIDAL_HEIGHT);
@@ -182,7 +181,7 @@ public final strictfp class HardCodedCS {
* axes in metres.
*/
public static final DefaultCartesianCS CARTESIAN_2D = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Cartesian 2D"),
+ Map.of(NAME_KEY, "Cartesian 2D"),
HardCodedAxes.X,
HardCodedAxes.Y);
@@ -194,7 +193,7 @@ public final strictfp class HardCodedCS {
* axes in metres.
*/
public static final DefaultCartesianCS CARTESIAN_3D = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Cartesian 3D"),
+ Map.of(NAME_KEY, "Cartesian 3D"),
HardCodedAxes.X,
HardCodedAxes.Y,
HardCodedAxes.Z);
@@ -206,7 +205,7 @@ public final strictfp class HardCodedCS {
* axes.
*/
public static final DefaultCartesianCS GRID = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Grid"),
+ Map.of(NAME_KEY, "Grid"),
HardCodedAxes.COLUMN,
HardCodedAxes.ROW);
@@ -217,7 +216,7 @@ public final strictfp class HardCodedCS {
* axes.
*/
public static final DefaultCartesianCS DISPLAY = new DefaultCartesianCS(
- singletonMap(NAME_KEY, "Display"),
+ Map.of(NAME_KEY, "Display"),
HardCodedAxes.DISPLAY_X,
HardCodedAxes.DISPLAY_Y);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/NormalizerTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/NormalizerTest.java
index 3a03c4b5fe..fcc07b9b36 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/NormalizerTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/NormalizerTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.referencing.cs;
import java.util.Map;
import java.util.Arrays;
import java.util.HashMap;
-import java.util.Collections;
import org.opengis.referencing.cs.AxisDirection;
import org.opengis.referencing.cs.CoordinateSystemAxis;
import org.apache.sis.referencing.ImmutableIdentifier;
@@ -30,7 +29,6 @@ import org.apache.sis.test.DependsOn;
import org.apache.sis.test.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.opengis.referencing.cs.CoordinateSystem.NAME_KEY;
import static org.apache.sis.test.ReferencingAssert.*;
@@ -170,7 +168,7 @@ public final strictfp class NormalizerTest extends TestCase {
* Creates axes from the specified directions.
*/
private static CoordinateSystemAxis[] toAxes(final AxisDirection[] directions) {
- final Map<String,?> properties = singletonMap(NAME_KEY, "Temporary axis");
+ final Map<String,?> properties = Map.of(NAME_KEY, "Temporary axis");
final CoordinateSystemAxis[] axis = new CoordinateSystemAxis[directions.length];
for (int i=0; i<directions.length; i++) {
axis[i] = new DefaultCoordinateSystemAxis(properties, "none", directions[i], Units.METRE);
@@ -230,7 +228,7 @@ public final strictfp class NormalizerTest extends TestCase {
@Test
public void testNormalize() {
final DefaultEllipsoidalCS cs = new DefaultEllipsoidalCS(
- Collections.singletonMap(DefaultEllipsoidalCS.NAME_KEY, "lat lon height"),
+ Map.of(DefaultEllipsoidalCS.NAME_KEY, "lat lon height"),
HardCodedAxes.GEODETIC_LATITUDE,
HardCodedAxes.GEODETIC_LONGITUDE,
HardCodedAxes.ELLIPSOIDAL_HEIGHT);
@@ -253,7 +251,7 @@ public final strictfp class NormalizerTest extends TestCase {
@Test
public void testIdentifierRemoval() {
final DefaultEllipsoidalCS cs = new DefaultEllipsoidalCS( // EPSG::6423
- Collections.singletonMap(DefaultEllipsoidalCS.NAME_KEY, "lat lon height"),
+ Map.of(DefaultEllipsoidalCS.NAME_KEY, "lat lon height"),
addIdentifier(HardCodedAxes.GEODETIC_LATITUDE, (short) 108),
addIdentifier(HardCodedAxes.GEODETIC_LONGITUDE, (short) 109),
addIdentifier(HardCodedAxes.ELLIPSOIDAL_HEIGHT, (short) 110));
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java
index fa2745d0c2..d49c456f4b 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.datum;
+import java.util.Map;
import javax.measure.quantity.Angle;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
@@ -32,7 +33,6 @@ import org.apache.sis.test.DependsOnMethod;
import org.apache.sis.test.DependsOn;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.apache.sis.referencing.GeodeticObjectVerifier.*;
@@ -87,7 +87,8 @@ public final strictfp class DefaultPrimeMeridianTest extends TestCase {
@Test
@DependsOnMethod("testWKT_inGrads")
public void testWKT_withUnformattableUnit() {
- final DefaultPrimeMeridian pm = new DefaultPrimeMeridian(singletonMap(DefaultPrimeMeridian.NAME_KEY, "Test"),
+ final DefaultPrimeMeridian pm = new DefaultPrimeMeridian(
+ Map.of(DefaultPrimeMeridian.NAME_KEY, "Test"),
10.3, Units.valueOfEPSG(9111).asType(Angle.class));
/*
* In WKT 1 format, if there is no contextual unit (which is the case of this test),
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java
index 4917e7db4b..6be90479d2 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.sis.referencing.datum;
+import java.util.Map;
import java.lang.reflect.Field;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
@@ -30,7 +31,6 @@ import org.apache.sis.xml.MarshallerPool;
import org.apache.sis.test.xml.TestCase;
import org.junit.Test;
-import static java.util.Collections.singletonMap;
import static org.apache.sis.test.ReferencingAssert.*;
import static org.apache.sis.referencing.GeodeticObjectVerifier.*;
@@ -75,8 +75,9 @@ public final strictfp class DefaultVerticalDatumTest extends TestCase {
* Returns the vertical datum type inferred by {@link DefaultVerticalDatum} for the given name.
*/
private static VerticalDatumType typeForName(final Field typeField, final String name) throws IllegalAccessException {
- final DefaultVerticalDatum datum = new DefaultVerticalDatum(
- singletonMap(DefaultVerticalDatum.NAME_KEY, name), VerticalDatumType.OTHER_SURFACE);
+ final var datum = new DefaultVerticalDatum(
+ Map.of(DefaultVerticalDatum.NAME_KEY, name),
+ VerticalDatumType.OTHER_SURFACE);
typeField.set(datum, null);
return datum.getVerticalDatumType();
}
@@ -87,12 +88,12 @@ public final strictfp class DefaultVerticalDatumTest extends TestCase {
@Test
public void testToWKT() {
DefaultVerticalDatum datum;
- datum = new DefaultVerticalDatum(singletonMap(DefaultVerticalDatum.NAME_KEY, "Geoidal"), VerticalDatumType.GEOIDAL);
+ datum = new DefaultVerticalDatum(Map.of(DefaultVerticalDatum.NAME_KEY, "Geoidal"), VerticalDatumType.GEOIDAL);
assertWktEquals(Convention.WKT1, "VERT_DATUM[“Geoidal”, 2005]", datum);
assertWktEquals(Convention.WKT2, "VDATUM[“Geoidal”]", datum);
assertWktEquals(Convention.WKT2_SIMPLIFIED, "VerticalDatum[“Geoidal”]", datum);
- datum = new DefaultVerticalDatum(singletonMap(DefaultVerticalDatum.NAME_KEY, "Ellipsoidal"), VerticalDatumTypes.ELLIPSOIDAL);
+ datum = new DefaultVerticalDatum(Map.of(DefaultVerticalDatum.NAME_KEY, "Ellipsoidal"), VerticalDatumTypes.ELLIPSOIDAL);
assertWktEquals(Convention.WKT1, "VERT_DATUM[“Ellipsoidal”, 2002]", datum);
assertWktEquals(Convention.WKT2, "VDATUM[“Ellipsoidal”]", datum);
assertWktEquals(Convention.WKT2_SIMPLIFIED, "VerticalDatum[“Ellipsoidal”]", datum);
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java
index ce221099cb..53ee66cd70 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GeodeticObjectFactoryTest.java
@@ -17,7 +17,6 @@
package org.apache.sis.referencing.factory;
import java.util.Map;
-import java.util.Collections;
import javax.measure.Unit;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Length;
@@ -143,7 +142,7 @@ public final strictfp class GeodeticObjectFactoryTest extends ObjectFactoryTest
* This is the only mandatory property for object creation.
*/
private static Map<String,?> name(final String name) {
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/IdentifiedObjectFinderTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/IdentifiedObjectFinderTest.java
index 3baf8bd64d..6c62129557 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/IdentifiedObjectFinderTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/IdentifiedObjectFinderTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.factory;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.util.FactoryException;
import org.opengis.referencing.IdentifiedObject;
import org.opengis.referencing.crs.CRSAuthorityFactory;
@@ -80,7 +80,7 @@ public final strictfp class IdentifiedObjectFinderTest extends TestCase {
* The intent is to force a full scan.
*/
final CoordinateReferenceSystem search = new DefaultGeographicCRS(
- Collections.singletonMap(DefaultGeographicCRS.NAME_KEY, CRS84.getName()),
+ Map.of(DefaultGeographicCRS.NAME_KEY, CRS84.getName()),
CRS84.getDatum(), CRS84.getCoordinateSystem());
assertEqualsIgnoreMetadata(CRS84, search); // Required condition for next test.
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
index aecfb1cec4..a7826b8ebe 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/DataScriptFormatter.java
@@ -18,7 +18,6 @@ package org.apache.sis.referencing.factory.sql.epsg;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import java.util.function.UnaryOperator;
import java.io.LineNumberReader;
import java.io.InputStreamReader;
@@ -157,7 +156,7 @@ public final class DataScriptFormatter extends ScriptRunner {
m.put("epsg_primemeridian", lastColumn );
m.put("epsg_unitofmeasure", lastColumn );
booleanColumnIndicesForTables = m;
- doubleColumnIndicesForTables = Collections.singletonMap("epsg_coordoperationparamvalue", new int[] {2});
+ doubleColumnIndicesForTables = Map.of("epsg_coordoperationparamvalue", new int[] {2});
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/CoordinateOperationFinderTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/CoordinateOperationFinderTest.java
index 52c6d19d0a..cbfb56a029 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/CoordinateOperationFinderTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/CoordinateOperationFinderTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.referencing.operation;
import java.util.Set;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import java.text.ParseException;
import org.opengis.util.FactoryException;
import org.opengis.parameter.ParameterValueGroup;
@@ -901,7 +900,7 @@ public final strictfp class CoordinateOperationFinderTest extends MathTransformT
* This is a convenience method for construction of geodetic objects.
*/
private static Map<String,String> properties(final String name) {
- return Collections.singletonMap(CoordinateReferenceSystem.NAME_KEY, name);
+ return Map.of(CoordinateReferenceSystem.NAME_KEY, name);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java
index a8de4ad720..52d0e088af 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperationTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.operation;
-import java.util.Collections;
+import java.util.Map;
import javax.xml.bind.JAXBException;
import org.opengis.util.FactoryException;
import org.opengis.referencing.crs.GeodeticCRS;
@@ -66,16 +66,16 @@ public final strictfp class DefaultConcatenatedOperationTest extends TestCase {
final MathTransformFactory mtFactory = DefaultFactories.forBuildin(MathTransformFactory.class);
final DefaultTransformation op = DefaultTransformationTest.createGeocentricTranslation();
- final DefaultConversion before = new DefaultConversion(
- Collections.singletonMap(DefaultConversion.NAME_KEY, "Geographic to geocentric"),
+ final var before = new DefaultConversion(
+ Map.of(DefaultConversion.NAME_KEY, "Geographic to geocentric"),
HardCodedCRS.TOKYO, // SourceCRS
op.getSourceCRS(), // TargetCRS
null, // InterpolationCRS
DefaultOperationMethodTest.create("Geographic/geocentric conversions", "9602", "EPSG guidance note #7-2", 3),
EllipsoidToCentricTransform.createGeodeticConversion(mtFactory, HardCodedDatum.TOKYO.getEllipsoid(), true));
- final DefaultConversion after = new DefaultConversion(
- Collections.singletonMap(DefaultConversion.NAME_KEY, "Geocentric to geographic"),
+ final var after = new DefaultConversion(
+ Map.of(DefaultConversion.NAME_KEY, "Geocentric to geographic"),
op.getTargetCRS(), // SourceCRS
HardCodedCRS.JGD2000, // TargetCRS
null, // InterpolationCRS
@@ -83,7 +83,7 @@ public final strictfp class DefaultConcatenatedOperationTest extends TestCase {
EllipsoidToCentricTransform.createGeodeticConversion(mtFactory, HardCodedDatum.JGD2000.getEllipsoid(), true).inverse());
return new DefaultConcatenatedOperation(
- Collections.singletonMap(DefaultConversion.NAME_KEY, "Tokyo to JGD2000"),
+ Map.of(DefaultConversion.NAME_KEY, "Tokyo to JGD2000"),
new AbstractSingleOperation[] {before, op, after}, mtFactory);
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConversionTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConversionTest.java
index 4c4cd40bf3..ec445d5b46 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConversionTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConversionTest.java
@@ -18,7 +18,6 @@ package org.apache.sis.referencing.operation;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import org.opengis.util.FactoryException;
import org.opengis.parameter.ParameterValue;
import org.opengis.parameter.ParameterValueGroup;
@@ -85,19 +84,19 @@ public final strictfp class DefaultConversionTest extends TestCase {
private static GeographicCRS createParisCRS(final boolean isSource, final EllipsoidalCS cs, final boolean useGreenwich) {
DefaultGeodeticDatum datum = HardCodedDatum.NTF;
if (useGreenwich) {
- datum = new DefaultGeodeticDatum(Collections.singletonMap(DefaultGeodeticDatum.NAME_KEY, datum.getName()),
- datum.getEllipsoid(), HardCodedDatum.GREENWICH);
+ datum = new DefaultGeodeticDatum(Map.of(DefaultGeodeticDatum.NAME_KEY, datum.getName()),
+ datum.getEllipsoid(), HardCodedDatum.GREENWICH);
}
- return new DefaultGeographicCRS(Collections.singletonMap(GeographicCRS.NAME_KEY,
- isSource ? HardCodedCRS.NTF.getName() : "Back to Greenwich"), datum, cs);
+ return new DefaultGeographicCRS(Map.of(GeographicCRS.NAME_KEY, isSource ? HardCodedCRS.NTF.getName() : "Back to Greenwich"),
+ datum, cs);
}
/**
* Changes only the coordinate system of the given CRS, which is supposed geographic.
*/
private static GeographicCRS changeCS(final CoordinateReferenceSystem crs, final EllipsoidalCS cs) {
- return new DefaultGeographicCRS(Collections.singletonMap(DefaultGeographicCRS.NAME_KEY,
- crs.getName()), ((GeodeticCRS) crs).getDatum(), cs);
+ return new DefaultGeographicCRS(Map.of(DefaultGeographicCRS.NAME_KEY, crs.getName()),
+ ((GeodeticCRS) crs).getDatum(), cs);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/HardCodedConversions.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/HardCodedConversions.java
index db00e7f5f4..974dfbdf6a 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/HardCodedConversions.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/HardCodedConversions.java
@@ -17,7 +17,6 @@
package org.apache.sis.referencing.operation;
import java.util.Map;
-import java.util.Collections;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.referencing.crs.GeographicCRS;
import org.opengis.referencing.crs.ProjectedCRS;
@@ -101,7 +100,7 @@ public final strictfp class HardCodedConversions {
* Creates a defining conversion of the given name with given parameter values.
*/
private static DefaultConversion create(final String name, final OperationMethod method, final ParameterValueGroup pg) {
- return new DefaultConversion(Collections.singletonMap(OperationMethod.NAME_KEY, name), method, null, pg);
+ return new DefaultConversion(Map.of(OperationMethod.NAME_KEY, name), method, null, pg);
}
/**
@@ -120,7 +119,7 @@ public final strictfp class HardCodedConversions {
* @return two-dimensional projection using the given method.
*/
public static DefaultProjectedCRS createCRS(final DefaultConversion conversion) {
- return new DefaultProjectedCRS(Collections.singletonMap(ProjectedCRS.NAME_KEY, conversion.getName()),
+ return new DefaultProjectedCRS(Map.of(ProjectedCRS.NAME_KEY, conversion.getName()),
HardCodedCRS.WGS84, conversion, HardCodedCS.PROJECTED);
}
@@ -190,6 +189,6 @@ public final strictfp class HardCodedConversions {
* Puts the given name in a property map CRS constructors.
*/
private static Map<String,?> name(final String name) {
- return Collections.singletonMap(ProjectedCRS.NAME_KEY, name);
+ return Map.of(ProjectedCRS.NAME_KEY, name);
}
}
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilderTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilderTest.java
index e6cbe41257..8975717510 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilderTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilderTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.referencing.operation.builder;
import java.util.Map;
import java.util.HashMap;
import java.util.Random;
-import java.util.Collections;
import java.awt.geom.AffineTransform;
import org.opengis.util.FactoryException;
import org.opengis.geometry.DirectPosition;
@@ -469,9 +468,9 @@ public final strictfp class LinearTransformBuilderTest extends TestCase {
}
}
final NonLinearTransform tr = new NonLinearTransform();
- builder.addLinearizers(Collections.singletonMap("x² y³", tr));
- builder.addLinearizers(Collections.singletonMap("x³ y²", tr), 1, 0);
- builder.addLinearizers(Collections.singletonMap("identity", MathTransforms.identity(2)));
+ builder.addLinearizers(Map.of("x² y³", tr));
+ builder.addLinearizers(Map.of("x³ y²", tr), 1, 0);
+ builder.addLinearizers(Map.of("identity", MathTransforms.identity(2)));
final Matrix m = builder.create(null).getMatrix();
assertEquals("linearizer", "x³ y²", builder.linearizer().get().getKey());
assertNotSame("linearizer", tr, builder.linearizer().get()); // Not same because axes should have been swapped.
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
index 89cb0ee67d..371ace9574 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/NoOp.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.operation.projection;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.referencing.datum.Ellipsoid;
import org.opengis.referencing.operation.Matrix;
@@ -72,9 +72,9 @@ final strictfp class NoOp extends ConformalProjection {
@Workaround(library="JDK", version="1.7")
private NoOp(final Parameters parameters) {
super(new Initializer(new DefaultOperationMethod(
- Collections.singletonMap(DefaultOperationMethod.NAME_KEY, parameters.getDescriptor().getName()),
+ Map.of(DefaultOperationMethod.NAME_KEY, parameters.getDescriptor().getName()),
DIMENSION, DIMENSION,
- parameters.getDescriptor()), parameters, Collections.emptyMap(), null));
+ parameters.getDescriptor()), parameters, Map.of(), null));
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/SatelliteTrackingTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/SatelliteTrackingTest.java
index 75aa143c9e..9e72311753 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/SatelliteTrackingTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/SatelliteTrackingTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.operation.projection;
-import java.util.Collections;
+import java.util.Map;
import org.opengis.util.FactoryException;
import org.opengis.parameter.ParameterValueGroup;
import org.opengis.referencing.operation.TransformException;
@@ -68,7 +68,7 @@ public final strictfp class SatelliteTrackingTest extends MapProjectionTestCase
final SatelliteTracking provider = new SatelliteTracking();
final ParameterValueGroup values = provider.getParameters().createValue();
final DefaultEllipsoid sphere = DefaultEllipsoid.createEllipsoid(
- Collections.singletonMap(DefaultEllipsoid.NAME_KEY, NilReferencingObject.UNNAMED), 1, 1, Units.METRE);
+ Map.of(DefaultEllipsoid.NAME_KEY, NilReferencingObject.UNNAMED), 1, 1, Units.METRE);
values.parameter("semi_major") .setValue(sphere.getSemiMajorAxis());
values.parameter("semi_minor") .setValue(sphere.getSemiMinorAxis());
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactoryTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactoryTest.java
index 5dfdcee89d..de9666861e 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactoryTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactoryTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.referencing.operation.transform;
import java.util.Map;
import java.util.Set;
import java.util.Collection;
-import java.util.Collections;
import org.opengis.util.FactoryException;
import org.opengis.util.NoSuchIdentifierException;
import org.opengis.referencing.operation.Conversion;
@@ -194,7 +193,7 @@ public final strictfp class DefaultMathTransformFactoryTest extends TestCase {
* and default parameter values.
*/
final MathTransformFactory factory = factory();
- final Map<String,?> dummyName = Collections.singletonMap(DefaultProjectedCRS.NAME_KEY, "Test");
+ final Map<String,?> dummyName = Map.of(DefaultProjectedCRS.NAME_KEY, "Test");
final Collection<OperationMethod> methods = factory.getAvailableMethods(Projection.class);
for (final OperationMethod method : methods) {
final String classification = method.getName().getCode();
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java
index 1a8e93e7e1..10ccd66dcf 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/SinusoidalShiftGrid.java
@@ -16,7 +16,7 @@
*/
package org.apache.sis.referencing.operation.transform;
-import java.util.Collections;
+import java.util.Map;
import java.awt.geom.AffineTransform;
import javax.measure.quantity.Dimensionless;
import org.opengis.parameter.ParameterDescriptorGroup;
@@ -163,7 +163,7 @@ final strictfp class SinusoidalShiftGrid extends DatumShiftGrid<Dimensionless,Di
@Override
public ParameterDescriptorGroup getParameterDescriptors() {
return new DefaultParameterDescriptorGroup(
- Collections.singletonMap(DefaultParameterDescriptorGroup.NAME_KEY, "Test grid"), 0, 1);
+ Map.of(DefaultParameterDescriptorGroup.NAME_KEY, "Test grid"), 0, 1);
}
/**
diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/WraparoundTransformTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/WraparoundTransformTest.java
index fa44114a13..ce41dc31d9 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/WraparoundTransformTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/WraparoundTransformTest.java
@@ -16,8 +16,8 @@
*/
package org.apache.sis.referencing.operation.transform;
+import java.util.Map;
import java.util.List;
-import java.util.Collections;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.MathTransformFactory;
import org.opengis.referencing.operation.TransformException;
@@ -85,8 +85,8 @@ public final strictfp class WraparoundTransformTest extends TestCase {
*/
@Test
public void testOneAxis() throws TransformException {
- final AbstractCoordinateOperation op = new AbstractCoordinateOperation(
- Collections.singletonMap(AbstractCoordinateOperation.NAME_KEY, "Wrapper"),
+ final var op = new AbstractCoordinateOperation(
+ Map.of(AbstractCoordinateOperation.NAME_KEY, "Wrapper"),
HardCodedCRS.WGS84_LATITUDE_FIRST,
HardCodedCRS.WGS84_LATITUDE_FIRST.forConvention(AxesConvention.POSITIVE_RANGE),
null, MathTransforms.scale(3, 5));
@@ -143,8 +143,8 @@ public final strictfp class WraparoundTransformTest extends TestCase {
*/
@Test
public void testTwoAxes() throws TransformException {
- final AbstractCoordinateOperation op = new AbstractCoordinateOperation(
- Collections.singletonMap(AbstractCoordinateOperation.NAME_KEY, "Wrapper"),
+ final var op = new AbstractCoordinateOperation(
+ Map.of(AbstractCoordinateOperation.NAME_KEY, "Wrapper"),
HardCodedCRS.WGS84_WITH_TIME.forConvention(AxesConvention.POSITIVE_RANGE),
HardCodedCRS.WGS84_WITH_CYCLIC_TIME, null, MathTransforms.scale(3, 2, 5));
/*
diff --git a/core/sis-utility/src/main/java/org/apache/sis/internal/util/DefinitionURI.java b/core/sis-utility/src/main/java/org/apache/sis/internal/util/DefinitionURI.java
index c8e40dc6ff..3d10f29c15 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/internal/util/DefinitionURI.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/internal/util/DefinitionURI.java
@@ -18,7 +18,6 @@ package org.apache.sis.internal.util;
import java.util.Map;
import java.util.TreeMap;
-import java.util.Collections;
import org.apache.sis.util.CharSequences;
import org.apache.sis.util.logging.Logging;
import org.apache.sis.internal.system.Loggers;
@@ -175,7 +174,7 @@ public final class DefinitionURI {
* If new entries are added, then see the TODO comment in the {@link #codeForGML(String, String, String, int,
* DefinitionURI)} method.</p>
*/
- private static final Map<String,String> PATHS = Collections.singletonMap("crs", "//" + DOMAIN + "/gml/srs/");
+ private static final Map<String,String> PATHS = Map.of("crs", "//" + DOMAIN + "/gml/srs/");
/**
* A version number to be considered as if no version were provided.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java
index d8a425e80d..916501ccbe 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitDimension.java
@@ -95,7 +95,7 @@ final class UnitDimension implements Dimension, Serializable {
@SuppressWarnings("ThisEscapedInObjectConstruction") // Safe because this class is final.
UnitDimension(final char symbol) {
this.symbol = symbol;
- components = Collections.singletonMap(this, new Fraction(1,1).unique());
+ components = Map.of(this, new Fraction(1,1).unique());
UnitRegistry.init(components, this);
}
@@ -244,7 +244,7 @@ final class UnitDimension implements Dimension, Serializable {
@SuppressWarnings("unchecked")
Map<Dimension,Integer> components = (Map<Dimension,Integer>) dimension.getBaseDimensions();
if (components == null) {
- return Collections.singletonMap(dimension, new Fraction(1,1));
+ return Map.of(dimension, new Fraction(1,1));
}
return ObjectConverters.derivedValues(components, Dimension.class, FractionConverter.FromInteger.INSTANCE);
}
diff --git a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
index fde6d56cca..29715f77c8 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
@@ -716,7 +716,7 @@ appPow: if (unit == null) {
} else {
// Fallback for foreigner implementations (power restricted to integer).
Map<? extends Unit<?>, Integer> c = unscaled.getBaseUnits();
- if (c == null) c = Collections.singletonMap(unit, 1);
+ if (c == null) c = Map.of(unit, 1);
components = c;
for (final Map.Entry<? extends Unit<?>, Integer> e : c.entrySet()) {
final int power = e.getValue();
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/DefaultInternationalString.java b/core/sis-utility/src/main/java/org/apache/sis/util/DefaultInternationalString.java
index a5bafdcdfc..74beee9409 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/DefaultInternationalString.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/DefaultInternationalString.java
@@ -59,7 +59,9 @@ public class DefaultInternationalString extends AbstractInternationalString impl
/**
* The string values in different locales (never {@code null}).
+ * May contains the {@code null} key.
*/
+ @SuppressWarnings("serial")
private Map<Locale,String> localeMap;
/**
@@ -111,7 +113,7 @@ public class DefaultInternationalString extends AbstractInternationalString impl
localeMap = Collections.singletonMap(entry.getKey(), entry.getValue());
} else {
localeMap = new LinkedHashMap<>(strings);
- // If HashMap is replaced by another type, please revisit 'getLocales()'.
+ // If HashMap is replaced by another type, revisit `getLocales()`.
}
}
final boolean nullMapKey = localeMap.containsKey(null);
@@ -139,7 +141,7 @@ public class DefaultInternationalString extends AbstractInternationalString impl
return;
}
case 1: {
- // If HashMap is replaced by another type, please revisit 'getLocales()'.
+ // If HashMap is replaced by another type, revisit `getLocales()`.
localeMap = new LinkedHashMap<>(localeMap);
localeSet = null;
break;
@@ -260,8 +262,8 @@ public class DefaultInternationalString extends AbstractInternationalString impl
* 3) Locale.getDefault()
*
* Locale.getDefault() must be last because the i18n string is often constructed with
- * an English sentence for the 'ROOT' locale (the unlocalized text), without explicit
- * entry for the English locale since the 'ROOT' locale is the fallback. If we were
+ * an English sentence for the `ROOT` locale (the unlocalized text), without explicit
+ * entry for the English locale since the `ROOT` locale is the fallback. If we were
* looking for the default locale first on a system having French as the default locale,
* we would get a sentence in French when the user asked for a sentence in English or
* any language not explicitly declared.
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
index 4075275b12..835a940a36 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/DefaultTreeTable.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Map;
import java.util.LinkedHashMap;
import java.util.Collection;
-import java.util.Collections;
import java.util.Objects;
import java.io.Serializable;
import org.apache.sis.util.ArgumentChecks;
@@ -84,6 +83,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @see #getRoot()
* @see #setRoot(TreeTable.Node)
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private TreeTable.Node root;
/**
@@ -106,6 +106,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
*
* @see DefaultTreeTable.Node#columnIndices
*/
+ @SuppressWarnings("serial")
final Map<TableColumn<?>,Integer> columnIndices;
/**
@@ -154,7 +155,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
static Map<TableColumn<?>,Integer> createColumnIndices(final TableColumn<?>[] columns) {
Map<TableColumn<?>,Integer> map;
switch (columns.length) {
- case 0: map = Collections.emptyMap(); break;
+ case 0: map = Map.of(); break;
case 1: map = null; break; // Will be created inside the loop (common case).
default: map = new LinkedHashMap<>(hashMapCapacity(columns.length)); break;
}
@@ -163,7 +164,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
ArgumentChecks.ensureNonNullElement("columns", i, column);
final Integer pos = i;
if (map == null) {
- map = Collections.singletonMap(column, pos);
+ map = Map.of(column, pos);
} else if (map.put(column, pos) != null) {
throw new IllegalArgumentException(Errors.format(Errors.Keys.DuplicatedIdentifier_1, column));
}
@@ -392,12 +393,14 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* @see #getParent()
* @see #setParent(TreeTable.Node)
*/
+ @SuppressWarnings("serial") // Not statically typed as Serializable.
private TreeTable.Node parent;
/**
* The list of children, or {@code null} if none.
* Created only when first needed.
*/
+ @SuppressWarnings("serial")
private List<TreeTable.Node> children;
/**
@@ -409,11 +412,13 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
*
* @see DefaultTreeTable#columnIndices
*/
+ @SuppressWarnings("serial")
final Map<TableColumn<?>,Integer> columnIndices;
/**
* The values, or {@code null} if not yet created.
*/
+ @SuppressWarnings("serial")
private Object[] values;
/**
@@ -535,8 +540,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
* automatically updates the {@linkplain #getParent() parent} reference of any {@code Node}
* instance added to or removed from the list.
*
- * <p>For leaf nodes, this method returns an unmodifiable
- * {@linkplain Collections#emptyList() empty list}.</p>
+ * <p>For leaf nodes, this method returns an unmodifiable {@linkplain List#of() empty list}.</p>
*/
/* NOTE: If a future version removes the "final" keyword, then search for calls to
* this method where the return value is casted to TreeNodeList. Any unconditional
@@ -547,7 +551,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable {
public final List<TreeTable.Node> getChildren() {
if (children == null) {
if (isLeaf()) {
- children = Collections.emptyList();
+ children = List.of();
} else {
children = new Children(this);
}
diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
index 33e921d571..e72d46b5f4 100644
--- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
+++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
@@ -17,7 +17,6 @@
package org.apache.sis.util.collection;
import java.util.Map;
-import java.util.Collections;
import java.io.Serializable;
import java.io.ObjectStreamException;
import java.io.InvalidObjectException;
@@ -175,7 +174,7 @@ public class TableColumn<V> implements CheckedContainer<V> {
* A map containing only the {@link #NAME} column.
* This is the default set of columns when parsing a tree table.
*/
- static final Map<TableColumn<?>,Integer> NAME_MAP = Collections.singletonMap(NAME, 0);
+ static final Map<TableColumn<?>,Integer> NAME_MAP = Map.of(NAME, 0);
/**
* Base type of all values in the column identified by this {@code ColumnTable} instance.
diff --git a/core/sis-utility/src/test/java/org/apache/sis/measure/SystemUnitTest.java b/core/sis-utility/src/test/java/org/apache/sis/measure/SystemUnitTest.java
index 8e74d75678..ced8c18b29 100644
--- a/core/sis-utility/src/test/java/org/apache/sis/measure/SystemUnitTest.java
+++ b/core/sis-utility/src/test/java/org/apache/sis/measure/SystemUnitTest.java
@@ -19,7 +19,6 @@ package org.apache.sis.measure;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
-import java.util.Collections;
import java.lang.reflect.Field;
import javax.measure.Unit;
import javax.measure.UnitConverter;
@@ -135,7 +134,7 @@ public final strictfp class SystemUnitTest extends TestCase {
assertNull("SECOND", Units.SECOND.getBaseUnits());
assertTrue("UNITY", Units.UNITY .getBaseUnits().isEmpty());
- assertMapEquals(Collections.singletonMap(Units.METRE, 3), Units.CUBIC_METRE.getBaseUnits());
+ assertMapEquals(Map.of(Units.METRE, 3), Units.CUBIC_METRE.getBaseUnits());
final Map<Unit<?>,Integer> expected = new HashMap<>(4);
assertNull(expected.put(Units.KILOGRAM, 1));
diff --git a/core/sis-utility/src/test/java/org/apache/sis/measure/UnitDimensionTest.java b/core/sis-utility/src/test/java/org/apache/sis/measure/UnitDimensionTest.java
index 5700314967..b1f9588efc 100644
--- a/core/sis-utility/src/test/java/org/apache/sis/measure/UnitDimensionTest.java
+++ b/core/sis-utility/src/test/java/org/apache/sis/measure/UnitDimensionTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.sis.measure;
-import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import javax.measure.Unit;
@@ -144,7 +143,7 @@ public final strictfp class UnitDimensionTest extends TestCase {
assertNull("LENGTH", LENGTH .getBaseDimensions()); // Null value as per JSR-363 specification.
assertNull("TIME", TIME .getBaseDimensions());
assertTrue("DIMENSIONLESS", DIMENSIONLESS.getBaseDimensions().isEmpty());
- assertMapEquals(Collections.singletonMap(LENGTH, 3), VOLUME.getBaseDimensions());
+ assertMapEquals(Map.of(LENGTH, 3), VOLUME.getBaseDimensions());
final Map<Dimension,Integer> expected = new HashMap<>(4);
assertNull(expected.put(MASS, 1));
diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java
index 51ff4268ce..0eee25debb 100644
--- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java
+++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java
@@ -22,7 +22,6 @@ import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.Collections;
import java.util.StringJoiner;
import java.util.logging.Level;
import java.util.logging.LogRecord;
@@ -223,7 +222,7 @@ final class CRSBuilder extends ReferencingFactoryContainer {
} else if (lastName != null && lastName.getCode().equals(name)) {
name = lastName;
}
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
/**
@@ -513,7 +512,7 @@ final class CRSBuilder extends ReferencingFactoryContainer {
if (crs == null) {
missingValue(GeoKeys.GeographicType);
} else {
- crs = getCRSFactory().createCompoundCRS(Collections.singletonMap(IdentifiedObject.NAME_KEY, crs.getName()), crs, vertical);
+ crs = getCRSFactory().createCompoundCRS(Map.of(IdentifiedObject.NAME_KEY, crs.getName()), crs, vertical);
}
}
}
diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/XMLMetadata.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/XMLMetadata.java
index 4c9b3ac6c6..fcacdf7f50 100644
--- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/XMLMetadata.java
+++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/XMLMetadata.java
@@ -18,7 +18,7 @@ package org.apache.sis.storage.geotiff;
import java.util.Locale;
import java.util.Iterator;
-import java.util.Collections;
+import java.util.Map;
import java.util.StringJoiner;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
@@ -387,7 +387,7 @@ final class XMLMetadata implements Filter {
* The `mergeMetadata` method applies heuristic rules for adding components.
*/
metadata.mergeMetadata(XML.unmarshal(new StAXSource(reader),
- Collections.singletonMap(XML.WARNING_FILTER, this)),
+ Map.of(XML.WARNING_FILTER, this)),
(listeners != null) ? listeners.getLocale() : null);
}
reader.close(); // No need to close the underlying input stream.
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/CRSBuilder.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/CRSBuilder.java
index 5d7df21b4d..03828f4ce4 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/CRSBuilder.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/CRSBuilder.java
@@ -20,7 +20,6 @@ import java.util.Map;
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.StringJoiner;
import java.util.function.Supplier;
import java.util.logging.Level;
@@ -507,7 +506,7 @@ previous: for (int i=components.size(); --i >= 0;) {
* @param name name of the geodetic object (datum, coordinate system, …) to create.
*/
private static Map<String,?> properties(final Object name) {
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
/**
diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridMapping.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridMapping.java
index 3347d943be..6a64418bc5 100644
--- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridMapping.java
+++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridMapping.java
@@ -20,7 +20,6 @@ import java.util.Map;
import java.util.List;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.Collections;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.LogRecord;
@@ -415,7 +414,7 @@ final class GridMapping {
name = fallback.toString();
}
}
- return Collections.singletonMap(IdentifiedObject.NAME_KEY, name);
+ return Map.of(IdentifiedObject.NAME_KEY, name);
}
/**
diff --git a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Analyzer.java b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Analyzer.java
index 9e84bed1c1..4b7de5d982 100644
--- a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Analyzer.java
+++ b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Analyzer.java
@@ -21,7 +21,6 @@ import java.util.Map;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Collection;
-import java.util.Collections;
import java.util.Objects;
import java.util.logging.Level;
import java.sql.SQLException;
@@ -173,7 +172,7 @@ final class Analyzer {
} else {
name = nameFactory.createGenericName(null, catalog, schema);
}
- namespace = nameFactory.createNameSpace(name, Collections.singletonMap("separator", "."));
+ namespace = nameFactory.createNameSpace(name, Map.of("separator", "."));
} else {
namespace = null;
}
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
index 2754466ad2..4c5370968e 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
@@ -578,9 +578,10 @@ final class Store extends URIDataStore implements FeatureSet {
}
properties.add(createProperty(name, type, minOccurrence, maxOccurrence, characteristics));
}
+ // Do not use Map.of(…) because `name` may be null. Let constructor throw the exception.
final String name = IOUtilities.filenameWithoutExtension(super.getDisplayName());
return new DefaultFeatureType(Collections.singletonMap(DefaultFeatureType.NAME_KEY, name),
- false, null, properties.toArray(PropertyType[]::new));
+ false, null, properties.toArray(PropertyType[]::new));
}
/**
@@ -591,7 +592,7 @@ final class Store extends URIDataStore implements FeatureSet {
final int minOccurrence, final int maxOccurrence, final AttributeType<?>[] characteristics)
{
return new DefaultAttributeType<>(Collections.singletonMap(DefaultAttributeType.NAME_KEY, name),
- type, minOccurrence, maxOccurrence, null, characteristics);
+ type, minOccurrence, maxOccurrence, null, characteristics);
}
/**
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
index 5e3be6dc13..a78fe0e860 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/Store.java
@@ -20,7 +20,6 @@ import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Locale;
import java.util.TimeZone;
import java.util.Optional;
@@ -257,7 +256,7 @@ class Store extends DataStore implements StoreResource, UnstructuredAggregate, D
nameFactory = DefaultFactories.forBuildin(NameFactory.class);
}
GenericName name = nameFactory.createLocalName(null, super.getDisplayName());
- NameSpace ns = nameFactory.createNameSpace(name, Collections.singletonMap("separator", "/"));
+ NameSpace ns = nameFactory.createNameSpace(name, Map.of("separator", "/"));
identifier = nameFactory.createLocalName(ns, ".");
}
return identifier;
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/Store.java b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/Store.java
index d37630bb1e..5a48332686 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/Store.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/xml/Store.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.storage.xml;
import java.util.Map;
-import java.util.Collections;
import java.util.logging.Filter;
import java.util.logging.LogRecord;
import java.io.Closeable;
@@ -124,7 +123,7 @@ final class Store extends URIDataStore implements Filter {
*/
private Map<String,?> properties() {
if (listeners.hasListeners(WarningEvent.class)) {
- return Collections.singletonMap(XML.WARNING_FILTER, this);
+ return Map.of(XML.WARNING_FILTER, this);
}
return null;
}
diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/JoinFeatureSet.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/JoinFeatureSet.java
index f4a856dcd5..d8297aff83 100644
--- a/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/JoinFeatureSet.java
+++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/JoinFeatureSet.java
@@ -19,7 +19,6 @@ package org.apache.sis.storage.aggregate;
import java.util.Map;
import java.util.List;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Spliterator;
import java.util.function.Consumer;
import java.util.stream.Stream;
@@ -234,22 +233,22 @@ public class JoinFeatureSet extends AggregatedFeatureSet {
* Since we are going to need the type for any use of this JoinFeatureSet, better to create it now.
*/
PropertyType[] properties = new PropertyType[] {
- new DefaultAssociationRole(name(leftAlias), leftType, joinType.minimumOccurs(false), 1),
- new DefaultAssociationRole(name(rightAlias), rightType, joinType.minimumOccurs(true), 1)
+ new DefaultAssociationRole(properties(leftAlias), leftType, joinType.minimumOccurs(false), 1),
+ new DefaultAssociationRole(properties(rightAlias), rightType, joinType.minimumOccurs(true), 1)
};
final String identifierDelimiter = Containers.property(featureInfo, "identifierDelimiter", String.class);
if (identifierDelimiter != null && AttributeConvention.hasIdentifier(leftType)
&& AttributeConvention.hasIdentifier(rightType))
{
final Operation identifier = FeatureOperations.compound(
- name(AttributeConvention.IDENTIFIER_PROPERTY), identifierDelimiter,
+ properties(AttributeConvention.IDENTIFIER_PROPERTY), identifierDelimiter,
Containers.property(featureInfo, "identifierPrefix", String.class),
Containers.property(featureInfo, "identifierSuffix", String.class), properties);
properties = ArraysExt.insert(properties, 0, 1);
properties[0] = identifier;
}
if (featureInfo == null) {
- featureInfo = name(leftName.tip().toString() + '-' + rightName.tip());
+ featureInfo = properties(leftName.tip().toString() + '-' + rightName.tip());
}
type = new DefaultFeatureType(featureInfo, false, null, properties);
}
@@ -258,8 +257,8 @@ public class JoinFeatureSet extends AggregatedFeatureSet {
* Creates a minimal {@code properties} map for feature type or property type constructors.
* This minimalist map contain only the mandatory entry, which is the name.
*/
- private static Map<String,?> name(final Object name) {
- return Collections.singletonMap(DefaultFeatureType.NAME_KEY, name);
+ private static Map<String,?> properties(final Object name) {
+ return Map.of(DefaultFeatureType.NAME_KEY, name);
}
/**
diff --git a/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/xml/MimeTypeDetectorTest.java b/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/xml/MimeTypeDetectorTest.java
index 290e9e1360..d9f23fcdb6 100644
--- a/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/xml/MimeTypeDetectorTest.java
+++ b/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/xml/MimeTypeDetectorTest.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.storage.xml;
import java.util.Map;
-import java.util.Collections;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
@@ -67,7 +66,7 @@ public final strictfp class MimeTypeDetectorTest extends TestUsingFile {
* Implementation of test methods using a hard-coded XML string as a source.
*/
private static void testFromString(final String xml) throws IOException {
- assertEquals("application/vnd.iso.19139+xml", getMimeType(xml, Collections.emptyMap()));
+ assertEquals("application/vnd.iso.19139+xml", getMimeType(xml, Map.of()));
}
/**
@@ -78,7 +77,7 @@ public final strictfp class MimeTypeDetectorTest extends TestUsingFile {
assertEquals('<', in.read());
assertEquals('?', in.read());
final MimeTypeDetector detector = new MimeTypeDetector(
- Collections.singletonMap(LegacyNamespaces.GMD, "application/vnd.iso.19139+xml"),
+ Map.of(LegacyNamespaces.GMD, "application/vnd.iso.19139+xml"),
mimeForRootElements)
{
@Override int read() throws IOException {
@@ -102,8 +101,8 @@ public final strictfp class MimeTypeDetectorTest extends TestUsingFile {
assertEquals('<', in.read());
assertEquals('?', in.read());
final MimeTypeDetector detector = new MimeTypeDetector(
- Collections.singletonMap(LegacyNamespaces.GMD, "application/vnd.iso.19139+xml"),
- Collections.emptyMap())
+ Map.of(LegacyNamespaces.GMD, "application/vnd.iso.19139+xml"),
+ Map.of())
{
@Override int read() throws IOException {
return in.read();
@@ -124,7 +123,7 @@ public final strictfp class MimeTypeDetectorTest extends TestUsingFile {
final String type = getMimeType(
"<?xml version=\"1.0\" standalone=\"yes\"?>\n" +
"<MD_Metadata xmlns:xsi=\"" + Namespaces.XSI + "\">\n",
- Collections.singletonMap("MD_Metadata", "application/vnd.iso.19115+xml"));
+ Map.of("MD_Metadata", "application/vnd.iso.19115+xml"));
assertEquals("application/vnd.iso.19115+xml", type);
}
}
diff --git a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java
index 83d044aaf4..562f91b22b 100644
--- a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java
+++ b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/GroupAsPolylineOperation.java
@@ -19,7 +19,6 @@ package org.apache.sis.internal.storage.gpx;
import java.util.Map;
import java.util.Iterator;
import java.util.Collection;
-import java.util.Collections;
import org.opengis.parameter.ParameterDescriptorGroup;
import org.opengis.parameter.ParameterValueGroup;
import org.apache.sis.feature.AbstractAttribute;
@@ -82,6 +81,7 @@ final class GroupAsPolylineOperation extends AbstractOperation {
/**
* The expected result type to be returned by {@link #getResult()}.
*/
+ @SuppressWarnings("serial")
private final AttributeType<?> result;
/**
@@ -104,8 +104,8 @@ final class GroupAsPolylineOperation extends AbstractOperation {
* @param geometries accessor to the geometry implementation in use (Java2D, ESRI or JTS).
*/
static <G> AttributeType<? extends G> getResult(final Geometries<G> geometries) {
- return new DefaultAttributeType<>(Collections.singletonMap(NAME_KEY, AttributeConvention.ENVELOPE_PROPERTY),
- geometries.polylineClass, 1, 1, null);
+ return new DefaultAttributeType<>(Map.of(NAME_KEY, AttributeConvention.ENVELOPE_PROPERTY),
+ geometries.polylineClass, 1, 1, null);
}
/**
diff --git a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Types.java b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Types.java
index 29461d5df5..c1fb0a9d95 100644
--- a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Types.java
+++ b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Types.java
@@ -17,7 +17,6 @@
package org.apache.sis.internal.storage.gpx;
import java.util.Collection;
-import java.util.Collections;
import java.util.Locale;
import java.util.Map;
import java.util.HashMap;
@@ -135,8 +134,8 @@ final class Types {
geometries = Geometries.implementation(library);
final Map<String,InternationalString[]> resources = new HashMap<>();
final ScopedName geomName = AttributeConvention.GEOMETRY_PROPERTY;
- final Map<String,?> geomInfo = Collections.singletonMap(AbstractIdentifiedType.NAME_KEY, geomName);
- final Map<String,?> envpInfo = Collections.singletonMap(AbstractIdentifiedType.NAME_KEY, AttributeConvention.ENVELOPE_PROPERTY);
+ final Map<String,?> geomInfo = Map.of(AbstractIdentifiedType.NAME_KEY, geomName);
+ final Map<String,?> envpInfo = Map.of(AbstractIdentifiedType.NAME_KEY, AttributeConvention.ENVELOPE_PROPERTY);
/*
* The parent of all FeatureTypes to be created in this constructor.
* This parent has a single property, "sis:identifier" of type Integer,