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
commit d37c8ce0134771885e29be887e4ab37debbfebf6 Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Sat Dec 10 23:36:11 2022 +0100 Use the safer Java 11 way to convert collection to array. --- .../main/java/org/apache/sis/gui/coverage/CoverageStyling.java | 2 +- .../org/apache/sis/gui/referencing/PositionableProjection.java | 2 +- .../src/main/java/org/apache/sis/internal/gui/RecentChoices.java | 4 ++-- .../src/main/java/org/apache/sis/coverage/SampleDimension.java | 2 +- .../src/main/java/org/apache/sis/coverage/grid/GridCoverage.java | 2 +- .../src/main/java/org/apache/sis/feature/AbstractAttribute.java | 4 ++-- .../src/main/java/org/apache/sis/feature/DefaultFeatureType.java | 2 +- .../java/org/apache/sis/feature/builder/FeatureTypeBuilder.java | 4 ++-- .../src/main/java/org/apache/sis/filter/AssociationValue.java | 2 +- .../src/main/java/org/apache/sis/filter/LogicalFilter.java | 2 +- .../src/main/java/org/apache/sis/image/ComputedImage.java | 2 +- .../java/org/apache/sis/internal/feature/j2d/PathBuilder.java | 2 +- .../java/org/apache/sis/internal/filter/SortByComparator.java | 2 +- .../java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java | 2 +- .../main/java/org/apache/sis/internal/jaxb/TypeRegistration.java | 4 ++-- .../apache/sis/internal/jaxb/metadata/replace/SensorType.java | 2 +- .../java/org/apache/sis/internal/metadata/legacy/MediumName.java | 2 +- .../main/java/org/apache/sis/util/iso/DefaultNameFactory.java | 2 +- .../src/main/java/org/apache/sis/xml/Transformer.java | 2 +- .../src/main/java/org/apache/sis/xml/TransformingWriter.java | 2 +- .../src/main/java/org/apache/sis/internal/map/SEPortrayer.java | 2 +- .../src/main/java/org/apache/sis/portrayal/Canvas.java | 2 +- .../src/main/java/org/apache/sis/portrayal/MapLayers.java | 2 +- .../org/apache/sis/referencing/gazetteer/FinalLocationType.java | 4 ++-- .../org/apache/sis/referencing/gazetteer/LocationTypeTest.java | 4 +--- .../src/main/java/org/apache/sis/geometry/Envelopes.java | 2 +- .../internal/jaxb/referencing/CC_GeneralOperationParameter.java | 5 ++--- .../apache/sis/internal/jaxb/referencing/CC_OperationMethod.java | 2 +- .../internal/jaxb/referencing/CC_OperationParameterGroup.java | 2 +- .../org/apache/sis/internal/referencing/j2d/TileOrganizer.java | 2 +- .../sis/internal/referencing/provider/DatumShiftGridFile.java | 2 +- .../java/org/apache/sis/internal/referencing/provider/NTv2.java | 2 +- .../internal/referencing/provider/PolarStereographicNorth.java | 3 +-- .../main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java | 4 ++-- .../apache/sis/parameter/DefaultParameterDescriptorGroup.java | 7 +++---- .../org/apache/sis/parameter/DefaultParameterValueGroup.java | 3 +-- .../src/main/java/org/apache/sis/parameter/ParameterFormat.java | 3 +-- .../src/main/java/org/apache/sis/referencing/Builder.java | 4 ++-- .../src/main/java/org/apache/sis/referencing/CRS.java | 2 +- .../java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java | 9 ++++----- .../java/org/apache/sis/referencing/factory/CacheRecord.java | 2 +- .../org/apache/sis/referencing/factory/IdentifiedObjectSet.java | 2 +- .../apache/sis/referencing/factory/MultiAuthoritiesFactory.java | 2 +- .../org/apache/sis/referencing/factory/sql/EPSGDataAccess.java | 4 ++-- .../sis/referencing/operation/AbstractSingleOperation.java | 2 +- .../sis/referencing/operation/CoordinateOperationRegistry.java | 5 ++--- .../sis/referencing/operation/DefaultConcatenatedOperation.java | 7 +++---- .../apache/sis/referencing/operation/DefaultOperationMethod.java | 3 +-- .../apache/sis/referencing/operation/InverseOperationMethod.java | 2 +- .../referencing/operation/builder/LinearTransformBuilder.java | 2 +- .../jaxb/referencing/CC_OperationParameterGroupTest.java | 6 +++--- .../org/apache/sis/parameter/DefaultParameterValueGroupTest.java | 4 ++-- .../test/java/org/apache/sis/parameter/ParameterFormatTest.java | 2 +- .../org/apache/sis/referencing/AbstractIdentifiedObjectTest.java | 2 +- .../sis/referencing/report/CoordinateReferenceSystems.java | 2 +- .../main/java/org/apache/sis/internal/util/DefinitionURI.java | 2 +- .../src/main/java/org/apache/sis/math/StatisticsFormat.java | 2 +- core/sis-utility/src/main/java/org/apache/sis/util/Classes.java | 4 ++-- .../java/org/apache/sis/util/collection/DefaultTreeTable.java | 4 ++-- .../java/org/apache/sis/util/collection/FrequencySortedSet.java | 3 +-- .../java/org/apache/sis/util/collection/TreeTableFormat.java | 4 +--- .../src/test/java/org/apache/sis/test/TestRunner.java | 3 +-- .../test/java/org/apache/sis/util/collection/LargeCodeList.java | 2 +- .../src/main/java/org/apache/sis/storage/geotiff/CRSBuilder.java | 2 +- .../main/java/org/apache/sis/storage/geotiff/Localization.java | 2 +- .../org/apache/sis/storage/geotiff/MultiResolutionImage.java | 2 +- .../src/main/java/org/apache/sis/internal/netcdf/Axis.java | 2 +- .../src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java | 2 +- .../main/java/org/apache/sis/internal/netcdf/RasterResource.java | 2 +- .../src/main/java/org/apache/sis/internal/netcdf/Variable.java | 2 +- .../java/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java | 4 ++-- .../src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java | 2 +- .../main/java/org/apache/sis/internal/sql/feature/Database.java | 4 ++-- .../java/org/apache/sis/internal/sql/feature/PrimaryKey.java | 2 +- .../java/org/apache/sis/internal/sql/feature/QueryAnalyzer.java | 2 +- .../java/org/apache/sis/internal/sql/feature/TableAnalyzer.java | 2 +- .../src/main/java/org/apache/sis/internal/storage/csv/Store.java | 2 +- .../main/java/org/apache/sis/internal/storage/folder/Store.java | 2 +- .../org/apache/sis/storage/aggregate/AggregatedFeatureSet.java | 2 +- .../org/apache/sis/test/storage/CoverageReadConsistency.java | 2 +- .../main/java/org/apache/sis/internal/storage/gpx/Metadata.java | 2 +- 81 files changed, 105 insertions(+), 120 deletions(-) diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageStyling.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageStyling.java index 5afcc38344..519a8b1804 100644 --- a/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageStyling.java +++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/coverage/CoverageStyling.java @@ -99,7 +99,7 @@ final class CoverageStyling extends ColorColumnHandler<Category> implements Func * @param items list of items of the table to clear. */ private void clear(final ObservableList<Category> items) { - final Category[] content = items.toArray(new Category[items.size()]); + final Category[] content = items.toArray(Category[]::new); items.clear(); // For forcing a repaint of the table. customizedColors.clear(); items.setAll(content); diff --git a/application/sis-javafx/src/main/java/org/apache/sis/gui/referencing/PositionableProjection.java b/application/sis-javafx/src/main/java/org/apache/sis/gui/referencing/PositionableProjection.java index ce1d591f13..e56b554afa 100644 --- a/application/sis-javafx/src/main/java/org/apache/sis/gui/referencing/PositionableProjection.java +++ b/application/sis-javafx/src/main/java/org/apache/sis/gui/referencing/PositionableProjection.java @@ -173,7 +173,7 @@ public abstract class PositionableProjection extends CodeList<PositionableProjec */ public static PositionableProjection[] values() { synchronized (VALUES) { - return VALUES.toArray(new PositionableProjection[VALUES.size()]); + return VALUES.toArray(PositionableProjection[]::new); } } diff --git a/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/RecentChoices.java b/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/RecentChoices.java index 9e37d18a8a..8bb43a5370 100644 --- a/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/RecentChoices.java +++ b/application/sis-javafx/src/main/java/org/apache/sis/internal/gui/RecentChoices.java @@ -183,7 +183,7 @@ public final class RecentChoices { if (!CRS_THIS_RUN.add(code.trim())) { return; } - codes = CRS_THIS_RUN.toArray(new String[CRS_THIS_RUN.size()]); + codes = CRS_THIS_RUN.toArray(String[]::new); } saveReferenceSystems(codes); } @@ -196,7 +196,7 @@ public final class RecentChoices { public static void saveReferenceSystems() { final String[] codes; synchronized (CRS_THIS_RUN) { - codes = CRS_THIS_RUN.toArray(new String[CRS_THIS_RUN.size()]); + codes = CRS_THIS_RUN.toArray(String[]::new); } saveReferenceSystems(codes); } diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java index f53b080120..82b27f1df3 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/SampleDimension.java @@ -174,7 +174,7 @@ public class SampleDimension implements Serializable { if (categories.isEmpty()) { list = CategoryList.EMPTY; } else { - list = CategoryList.create(categories.toArray(new Category[categories.size()]), background); + list = CategoryList.create(categories.toArray(Category[]::new), background); } this.name = name; this.background = background; diff --git a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverage.java b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverage.java index 39ba19be94..5496915d40 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverage.java +++ b/core/sis-feature/src/main/java/org/apache/sis/coverage/grid/GridCoverage.java @@ -110,7 +110,7 @@ public abstract class GridCoverage extends BandedCoverage { ArgumentChecks.ensureNonNull ("domain", domain); ArgumentChecks.ensureNonEmpty("ranges", ranges); gridGeometry = domain; - sampleDimensions = ranges.toArray(new SampleDimension[ranges.size()]); + sampleDimensions = ranges.toArray(SampleDimension[]::new); ArgumentChecks.ensureNonEmpty("range", sampleDimensions); for (int i=0; i<sampleDimensions.length; i++) { ArgumentChecks.ensureNonNullElement("range", i, sampleDimensions[i]); diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java index 90ffb9fc05..45742cebb2 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java +++ b/core/sis-feature/src/main/java/org/apache/sis/feature/AbstractAttribute.java @@ -158,7 +158,7 @@ public abstract class AbstractAttribute<V> extends Field<V> implements Attribute out.defaultWriteObject(); final Attribute<?>[] characterizedBy; if (characteristics instanceof CharacteristicMap) { - characterizedBy = characteristics.values().toArray(new Attribute<?>[characteristics.size()]); + characterizedBy = characteristics.values().toArray(Attribute[]::new); } else { characterizedBy = null; } @@ -362,7 +362,7 @@ public abstract class AbstractAttribute<V> extends Field<V> implements Attribute if (!map.isEmpty()) { if (!(map instanceof CharacteristicTypeMap)) { final Collection<AttributeType<?>> types = map.values(); - map = CharacteristicTypeMap.create(type, types.toArray(new AttributeType<?>[types.size()])); + map = CharacteristicTypeMap.create(type, types.toArray(AttributeType<?>[]::new)); } return new CharacteristicMap(this, (CharacteristicTypeMap) map); } diff --git a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java index 3ada174a79..193da7f434 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java +++ b/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java @@ -353,7 +353,7 @@ public class DefaultFeatureType extends AbstractIdentifiedType implements Featur assignableTo = new HashSet<>(4); assignableTo.add(super.getName()); scanPropertiesFrom(this, properties); - allProperties = UnmodifiableArrayList.wrap(byName.values().toArray(new PropertyType[byName.size()])); + allProperties = UnmodifiableArrayList.wrap(byName.values().toArray(PropertyType[]::new)); /* * Now check if the feature is simple/complex or dense/sparse. We perform this check after we finished * to create the list of all properties, because some properties may be overridden and we want to take 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 d4ea848dcd..9b83bdac66 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 @@ -409,7 +409,7 @@ public class FeatureTypeBuilder extends TypeBuilder { * @see DefaultFeatureType#getSuperTypes() */ public FeatureType[] getSuperTypes() { - return superTypes.toArray(new FeatureType[superTypes.size()]); + return superTypes.toArray(FeatureType[]::new); } /** @@ -992,7 +992,7 @@ public class FeatureTypeBuilder extends TypeBuilder { } } feature = new DefaultFeatureType(identification(), isAbstract(), - superTypes.toArray(new FeatureType[superTypes.size()]), + superTypes.toArray(FeatureType[]::new), ArraysExt.resize(propertyTypes, propertyCursor)); } return feature; diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/AssociationValue.java b/core/sis-feature/src/main/java/org/apache/sis/filter/AssociationValue.java index 67914b95d6..2718f19400 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/filter/AssociationValue.java +++ b/core/sis-feature/src/main/java/org/apache/sis/filter/AssociationValue.java @@ -78,7 +78,7 @@ final class AssociationValue<V> extends LeafExpression<Feature, V> * @param accessor expression to use for evaluating the property value after the last element of the path. */ AssociationValue(final List<String> path, final PropertyValue<V> accessor) { - this.path = path.toArray(new String[path.size()]); + this.path = path.toArray(String[]::new); this.accessor = accessor; } diff --git a/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java b/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java index 71b7ffe60a..d17beffc58 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java +++ b/core/sis-feature/src/main/java/org/apache/sis/filter/LogicalFilter.java @@ -64,7 +64,7 @@ abstract class LogicalFilter<R> extends FilterNode<R> implements LogicalOperator @SuppressWarnings({"unchecked", "rawtypes"}) LogicalFilter(final Collection<? extends Filter<? super R>> op) { ArgumentChecks.ensureNonEmpty("operands", op); - operands = op.toArray(new Filter[op.size()]); + operands = op.toArray(Filter[]::new); if (operands.length < 2) { throw new IllegalArgumentException(Errors.format(Errors.Keys.TooFewArguments_2, 2, operands.length)); } diff --git a/core/sis-feature/src/main/java/org/apache/sis/image/ComputedImage.java b/core/sis-feature/src/main/java/org/apache/sis/image/ComputedImage.java index 4b85bad9e9..baa8a35f32 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/image/ComputedImage.java +++ b/core/sis-feature/src/main/java/org/apache/sis/image/ComputedImage.java @@ -655,7 +655,7 @@ public abstract class ComputedImage extends PlanarImage implements Disposable { public Point[] getWritableTileIndices() { final List<Point> indices = new ArrayList<>(); if (reference.getWritableTileIndices(indices)) { - return indices.toArray(new Point[indices.size()]); + return indices.toArray(Point[]::new); } return null; } diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PathBuilder.java b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PathBuilder.java index 2eb48ed63f..6141f4984b 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PathBuilder.java +++ b/core/sis-feature/src/main/java/org/apache/sis/internal/feature/j2d/PathBuilder.java @@ -228,7 +228,7 @@ public class PathBuilder { switch (polylines.size()) { case 0: return null; case 1: return polylines.get(0); - default: return new MultiPolylines(polylines.toArray(new Polyline[polylines.size()])); + default: return new MultiPolylines(polylines.toArray(Polyline[]::new)); } } diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java index 3727386d42..5487a2ebd5 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java +++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/SortByComparator.java @@ -74,7 +74,7 @@ public final class SortByComparator<R> implements SortBy<R>, Serializable { */ @SuppressWarnings({"unchecked","rawtypes"}) // Generic array creation. private SortByComparator(final Map<?, SortProperty<R>> merged) { - properties = merged.values().toArray(new SortProperty[merged.size()]); + properties = merged.values().toArray(SortProperty[]::new); } /** diff --git a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java index b4575408b3..ccb6e1b983 100644 --- a/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java +++ b/core/sis-feature/src/main/java/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java @@ -95,7 +95,7 @@ class TwoGeometries<R,G> extends SpatialFunction<R> { final GeometryWrapper<G> tr = literal.transform(targetCRS); if (tr != literal) { @SuppressWarnings({"unchecked","rawtypes"}) - final Expression<? super R, ?>[] effective = getParameters().toArray(new Expression[0]); // TODO: use generator in JDK9. + final Expression<? super R, ?>[] effective = getParameters().toArray(Expression[]::new); effective[1] = Optimization.literal(tr); return recreate(effective); } 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 0d1389e5f0..a672be9215 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 @@ -196,8 +196,8 @@ public abstract class TypeRegistration { final UnaryOperator<Object> c = t.beforeMarshal(); if (c != null) toImpl.add(c); } - converters = toImpl.toArray(new UnaryOperator[toImpl.size()]); - return types.toArray(new Class<?>[types.size()]); + converters = toImpl.toArray(UnaryOperator[]::new); + return types.toArray(Class<?>[]::new); } /** diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/SensorType.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/SensorType.java index 94d7cc1408..12a4751275 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/SensorType.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/replace/SensorType.java @@ -69,7 +69,7 @@ public final class SensorType extends CodeList<SensorType> { */ public static SensorType[] values() { synchronized (VALUES) { - return VALUES.toArray(new SensorType[VALUES.size()]); + return VALUES.toArray(SensorType[]::new); } } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/MediumName.java b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/MediumName.java index 937059eede..fa31ef7a83 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/MediumName.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/legacy/MediumName.java @@ -134,7 +134,7 @@ public final class MediumName extends CodeList<MediumName> implements Citation { */ public static MediumName[] values() { synchronized (VALUES) { - return VALUES.toArray(new MediumName[VALUES.size()]); + return VALUES.toArray(MediumName[]::new); } } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java index f7a20de0e8..eaf9fdfca6 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java @@ -341,7 +341,7 @@ public class DefaultNameFactory extends AbstractFactory implements NameFactory { */ return createLocalName(scope, name); } - return createGenericName(scope, names.toArray(new String[names.size()])); + return createGenericName(scope, names.toArray(String[]::new)); } /** diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/Transformer.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/Transformer.java index dff0fcbeeb..290a365d1c 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/xml/Transformer.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/Transformer.java @@ -385,7 +385,7 @@ abstract class Transformer { switch (renamedAttributes.size()) { case 0: attributes = List.of(); break; // Avoid object creation for this common case. case 1: attributes = List.of(renamedAttributes.remove(0)); break; - default: attributes = Arrays.asList(renamedAttributes.toArray(new Attribute[renamedAttributes.size()])); + default: attributes = Arrays.asList(renamedAttributes.toArray(Attribute[]::new)); renamedAttributes.clear(); break; } diff --git a/core/sis-metadata/src/main/java/org/apache/sis/xml/TransformingWriter.java b/core/sis-metadata/src/main/java/org/apache/sis/xml/TransformingWriter.java index cd78248d80..e87e51913c 100644 --- a/core/sis-metadata/src/main/java/org/apache/sis/xml/TransformingWriter.java +++ b/core/sis-metadata/src/main/java/org/apache/sis/xml/TransformingWriter.java @@ -321,7 +321,7 @@ final class TransformingWriter extends Transformer implements XMLEventWriter { } while (namespaces.hasNext()); if (changed) { assert !uniqueNamespaces.isEmpty(); - final Namespace[] exported = uniqueNamespaces.values().toArray(new Namespace[uniqueNamespaces.size()]); + final var exported = uniqueNamespaces.values().toArray(Namespace[]::new); uniqueNamespaces.clear(); return Arrays.asList(exported); } else { diff --git a/core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPortrayer.java b/core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPortrayer.java index 1ecb19ab55..960c1327d7 100644 --- a/core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPortrayer.java +++ b/core/sis-portrayal/src/main/java/org/apache/sis/internal/map/SEPortrayer.java @@ -513,7 +513,7 @@ public final class SEPortrayer { for (String propName : copy) { columns.add(new FeatureQuery.NamedExpression(filterFactory.property(propName), propName)); } - query.setProjection(columns.toArray(new FeatureQuery.NamedExpression[columns.size()])); + query.setProjection(columns.toArray(FeatureQuery.NamedExpression[]::new)); } //TODO optimize filter //TODO add linear resolution diff --git a/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/Canvas.java b/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/Canvas.java index 1f25957381..b582a72f19 100644 --- a/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/Canvas.java +++ b/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/Canvas.java @@ -972,7 +972,7 @@ public class Canvas extends Observable implements Localized { */ supplementalDimensions = CanvasExtent.findSupplementalDimensions(crs, multidimToObjective.derivative(pointOfInterest), components); - augmentedObjectiveCRS = CRS.compound(components.toArray(new CoordinateReferenceSystem[components.size()])); + augmentedObjectiveCRS = CRS.compound(components.toArray(CoordinateReferenceSystem[]::new)); if (Utilities.equalsIgnoreMetadata(augmentedObjectiveCRS, crs)) { augmentedObjectiveCRS = crs; } diff --git a/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapLayers.java b/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapLayers.java index 0ead548e0b..044f446bfc 100644 --- a/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapLayers.java +++ b/core/sis-portrayal/src/main/java/org/apache/sis/portrayal/MapLayers.java @@ -182,7 +182,7 @@ public class MapLayers extends MapItem { case 1 : return Optional.of(envelopes.get(0)); default : { try { - return Optional.ofNullable(Envelopes.union(envelopes.toArray(new Envelope[envelopes.size()]))); + return Optional.ofNullable(Envelopes.union(envelopes.toArray(Envelope[]::new))); } catch (TransformException ex) { throw new DataStoreException(ex.getMessage(), ex); } diff --git a/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/FinalLocationType.java b/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/FinalLocationType.java index 704d59b8d9..c37c69745c 100644 --- a/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/FinalLocationType.java +++ b/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/FinalLocationType.java @@ -166,7 +166,7 @@ final class FinalLocationType extends AbstractLocationType implements Serializab static List<LocationType> snapshot(final Collection<? extends LocationType> types, final ReferenceSystemUsingIdentifiers rs, final Map<LocationType, FinalLocationType> existing) { - final LocationType[] array = types.toArray(new LocationType[types.size()]); + final LocationType[] array = types.toArray(LocationType[]::new); for (int i=0; i < array.length; i++) { final LocationType source = array[i]; ArgumentChecks.ensureNonNullElement("types", i, source); @@ -191,7 +191,7 @@ final class FinalLocationType extends AbstractLocationType implements Serializab if (c instanceof UnmodifiableArrayList<?>) { return (List<InternationalString>) c; // Unsafe cast okay because we allow only read operations. } else { - return UnmodifiableArrayList.wrap(c.toArray(new InternationalString[c.size()])); + return UnmodifiableArrayList.wrap(c.toArray(InternationalString[]::new)); } } diff --git a/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/referencing/gazetteer/LocationTypeTest.java b/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/referencing/gazetteer/LocationTypeTest.java index 34a39716ff..e0c1bbe950 100644 --- a/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/referencing/gazetteer/LocationTypeTest.java +++ b/core/sis-referencing-by-identifiers/src/test/java/org/apache/sis/referencing/gazetteer/LocationTypeTest.java @@ -16,7 +16,6 @@ */ package org.apache.sis.referencing.gazetteer; -import java.util.List; import org.opengis.metadata.extent.GeographicDescription; import org.apache.sis.test.DependsOnMethod; import org.apache.sis.test.TestUtilities; @@ -183,8 +182,7 @@ public final strictfp class LocationTypeTest extends TestCase { @Test @DependsOnMethod("testInheritance") public void testSnapshot() { - final List<LocationType> snapshot = ModifiableLocationType.snapshot(null, create(true)); - verify(snapshot.toArray(new LocationType[snapshot.size()])); + verify(ModifiableLocationType.snapshot(null, create(true)).toArray(LocationType[]::new)); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java index b4379cf924..a0c584a66c 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java @@ -1006,7 +1006,7 @@ poles: for (int i=0; i<dimension; i++) { if (results.isEmpty() && transformed != null) { return new GeneralEnvelope[] {transformed}; } - return results.toArray(new GeneralEnvelope[results.size()]); + return results.toArray(GeneralEnvelope[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java index 2d176c9407..e46526a812 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java @@ -23,7 +23,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Collection; import java.util.LinkedHashMap; -import java.lang.reflect.Array; import javax.xml.bind.annotation.XmlElementRef; import org.opengis.util.GenericName; import org.opengis.metadata.Identifier; @@ -292,7 +291,7 @@ public final class CC_GeneralOperationParameter extends PropertyType<CC_GeneralO if (isGroup) { final List<GeneralParameterDescriptor> descriptors = ((ParameterDescriptorGroup) provided).descriptors(); return merge(DefaultParameterValueGroup.class, merged, merged, minimumOccurs, maximumOccurs, - descriptors.toArray(new GeneralParameterDescriptor[descriptors.size()]), + descriptors.toArray(GeneralParameterDescriptor[]::new), (ParameterDescriptorGroup) complete, canSubstitute); } else { return create(merged, (ParameterDescriptor<?>) provided, (ParameterDescriptor<?>) complete); @@ -465,7 +464,7 @@ public final class CC_GeneralOperationParameter extends PropertyType<CC_GeneralO c.remove(toNamedIdentifier(remove)); provided = c.values(); } - complete = provided.toArray((T[]) Array.newInstance(componentType, provided.size())); + complete = CollectionsExt.toArray(provided, componentType); merged.put(key, complete); } } 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 b419bc78eb..4c85779a3d 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 @@ -233,7 +233,7 @@ public final class CC_OperationMethod extends PropertyType<CC_OperationMethod, O final ParameterValueGroup source = (ParameterValueGroup) p; final ParameterValueGroup target = new DefaultParameterValueGroup((ParameterDescriptorGroup) replacement); final Collection<GeneralParameterValue> values = source.values(); - store(values.toArray(new GeneralParameterValue[values.size()]), target.values(), replacements); + store(values.toArray(GeneralParameterValue[]::new), target.values(), replacements); p = target; } } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroup.java index 15b225cf69..a6429361f1 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroup.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroup.java @@ -206,7 +206,7 @@ public final class CC_OperationParameterGroup extends PropertyType<CC_OperationP } } } - return union.values().toArray(new GeneralParameterDescriptor[union.size()]); + return union.values().toArray(GeneralParameterDescriptor[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/TileOrganizer.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/TileOrganizer.java index b19af5f604..ca13dadb93 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/TileOrganizer.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/TileOrganizer.java @@ -365,7 +365,7 @@ public class TileOrganizer { * First, compute the pyramid levels along the X axis. Transforms that we were unable * to classify will be discarded from the first run and put in a subsequent run. */ - AffineTransform[] transforms = gridToCRS.toArray(new AffineTransform[gridToCRS.size()]); + AffineTransform[] transforms = gridToCRS.toArray(AffineTransform[]::new); Arrays.sort(transforms, X_COMPARATOR); int length = transforms.length; while (length != 0) { diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java index f200d8dd1a..3cb4607a68 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java @@ -251,7 +251,7 @@ abstract class DatumShiftGridFile<C extends Quantity<C>, T extends Quantity<T>> @SuppressWarnings({"rawtypes", "unchecked"}) final void setSubGrids(final Collection<DatumShiftGridFile<C,T>> children) { if (subgrids != null) throw new IllegalStateException(); - subgrids = children.toArray(new DatumShiftGridFile[children.size()]); + subgrids = children.toArray(DatumShiftGridFile[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java index 39e33b5c3c..53004be904 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/NTv2.java @@ -367,7 +367,7 @@ public final class NTv2 extends AbstractProvider { } else { numGrids = 1; } - overviewKeys = header.keySet().toArray(new String[header.size()]); + overviewKeys = header.keySet().toArray(String[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java index ccadf50dcf..00664d8746 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java @@ -50,8 +50,7 @@ public final class PolarStereographicNorth extends AbstractStereographic { static { List<GeneralParameterDescriptor> sp = PolarStereographicSouth.PARAMETERS.descriptors(); sp = sp.subList(2, sp.size()); // Skip the "semi-major" and "semi-minor" parameters. - @SuppressWarnings("SuspiciousToArrayCall") // We know PolarStereographicSouth content. - ParameterDescriptor<?>[] parameters = sp.toArray(new ParameterDescriptor<?>[sp.size()]); + ParameterDescriptor<?>[] parameters = sp.toArray(ParameterDescriptor<?>[]::new); // Replace the "Standard Parallel" parameter from [-90 … 0]° domain to [0 … 90]° domain. final ParameterBuilder builder = builder(); 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 4ae099d821..5e7d134fb7 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 @@ -753,7 +753,7 @@ class GeodeticObjectParser extends MathTransformParser implements Comparator<Coo axis = parseAxis(list.size() < dimension ? MANDATORY : OPTIONAL, parent, type, defaultUnit); } while (axis != null); if (!isWKT1 || !ignoreAxes) { - axes = list.toArray(new CoordinateSystemAxis[list.size()]); + axes = list.toArray(CoordinateSystemAxis[]::new); Arrays.sort(axes, this); // Take ORDER[n] elements in account. } } @@ -2199,7 +2199,7 @@ class GeodeticObjectParser extends MathTransformParser implements Comparator<Coo try { return new EllipsoidalHeightCombiner(factories).createCompoundCRS( parseMetadataAndClose(element, name, null), - components.toArray(new CoordinateReferenceSystem[components.size()])); + components.toArray(CoordinateReferenceSystem[]::new)); } catch (FactoryException exception) { throw element.parseFailed(exception); } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java index 33cc59e093..e1ee9b984e 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterDescriptorGroup.java @@ -190,7 +190,7 @@ public class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor || ((DefaultParameterDescriptorGroup) parameters).descriptors != descriptors) { // Note sure where the list come from, we are better to copy its content. - final GeneralParameterDescriptor[] p = descriptors.toArray(new GeneralParameterDescriptor[descriptors.size()]); + final GeneralParameterDescriptor[] p = descriptors.toArray(GeneralParameterDescriptor[]::new); verifyNames(properties, p); descriptors = asList(p); } @@ -245,7 +245,7 @@ public class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor { descriptors = c; // Share the immutable instance (no need to clone). } else { - descriptors = asList(c.toArray(new GeneralParameterDescriptor[c.size()])); + descriptors = asList(c.toArray(GeneralParameterDescriptor[]::new)); } } @@ -471,8 +471,7 @@ public class DefaultParameterDescriptorGroup extends AbstractParameterDescriptor */ @XmlElement(name = "parameter", required = true) private GeneralParameterDescriptor[] getDescriptors() { - final List<GeneralParameterDescriptor> descriptors = descriptors(); // Give to user a chance to override. - return descriptors.toArray(new GeneralParameterDescriptor[descriptors.size()]); + return descriptors().toArray(GeneralParameterDescriptor[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java index 4d7c64be86..908ab5c746 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/DefaultParameterValueGroup.java @@ -577,8 +577,7 @@ scan: for (final GeneralParameterValue param : actual.values()) { */ @XmlElement(name = "parameterValue", required = true) private GeneralParameterValue[] getValues() { - final List<GeneralParameterValue> values = values(); // Gives to user a chance to override. - return values.toArray(new GeneralParameterValue[values.size()]); + return values().toArray(GeneralParameterValue[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java index 2200a2a20a..deb1eef873 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterFormat.java @@ -438,8 +438,7 @@ public class ParameterFormat extends TabularFormat<Object> { .getString(Errors.Keys.UnsupportedType_1, object.getClass())); } if (isSummary) { - final List<GeneralParameterDescriptor> parameters = descriptor.descriptors(); - formatSummary(parameters.toArray(new IdentifiedObject[parameters.size()]), toAppendTo); + formatSummary(descriptor.descriptors().toArray(IdentifiedObject[]::new), toAppendTo); } else { format(name.getCode(), descriptor, values, toAppendTo); } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java index 2c6f38ff1d..da9f292aa5 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java @@ -1048,8 +1048,8 @@ public abstract class Builder<B extends Builder<B>> { valueAlias = null; valueIds = null; } else { - valueAlias = aliases .toArray(new GenericName[aliases .size()]); - valueIds = identifiers.toArray(new Identifier [identifiers.size()]); + valueAlias = aliases .toArray(GenericName[]::new); + valueIds = identifiers.toArray(Identifier[]::new); } properties.put(IdentifiedObject.ALIAS_KEY, valueAlias); properties.put(IdentifiedObject.IDENTIFIERS_KEY, valueIds); diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java index b576e8d34a..193212f7fc 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java @@ -985,7 +985,7 @@ public final class CRS extends Static { } final List<CoordinateReferenceSystem> components = new ArrayList<>(Long.bitCount(selected)); reduce(0, crs, dimension, selected, components); - return compound(components.toArray(new CoordinateReferenceSystem[components.size()])); + return compound(components.toArray(CoordinateReferenceSystem[]::new)); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java index b7f572b173..2bfeba2f4a 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java @@ -202,7 +202,7 @@ public class DefaultCompoundCRS extends AbstractCRS implements CompoundCRS { * Note that this is already be done if the given array does not contain nested CompoundCRS. */ if (singles != this.components) { - verify(properties, singles.toArray(new SingleCRS[singles.size()])); + verify(properties, singles.toArray(SingleCRS[]::new)); } } @@ -350,7 +350,7 @@ public class DefaultCompoundCRS extends AbstractCRS implements CompoundCRS { if (setSingleComponents(crs)) { components = singles; // Shares the same list. } else { - components = UnmodifiableArrayList.wrap(crs.toArray(new CoordinateReferenceSystem[crs.size()])); + components = UnmodifiableArrayList.wrap(crs.toArray(CoordinateReferenceSystem[]::new)); } } @@ -380,7 +380,7 @@ public class DefaultCompoundCRS extends AbstractCRS implements CompoundCRS { private boolean setSingleComponents(final List<? extends CoordinateReferenceSystem> crs) { final List<SingleCRS> flattened = new ArrayList<>(crs.size()); final boolean identical = ReferencingUtilities.getSingleComponents(crs, flattened); - singles = UnmodifiableArrayList.wrap(flattened.toArray(new SingleCRS[flattened.size()])); + singles = UnmodifiableArrayList.wrap(flattened.toArray(SingleCRS[]::new)); return identical; } @@ -649,8 +649,7 @@ public class DefaultCompoundCRS extends AbstractCRS implements CompoundCRS { @XmlJavaTypeAdapter(SC_CRS.class) @XmlElement(name = "componentReferenceSystem", required = true) private CoordinateReferenceSystem[] getXMLComponents() { - final List<SingleCRS> crs = getSingleComponents(); - return crs.toArray(new CoordinateReferenceSystem[crs.size()]); + return getSingleComponents().toArray(CoordinateReferenceSystem[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java index 86e5726b71..254bf101f6 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/CacheRecord.java @@ -120,7 +120,7 @@ final class CacheRecord implements Comparable<CacheRecord> { } codeLength += 2; identityLength += 2; - final CacheRecord[] records = list.toArray(new CacheRecord[list.size()]); + final CacheRecord[] records = list.toArray(CacheRecord[]::new); Arrays.sort(records); if (out == null) { final Console c = System.console(); diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java index c8f6794fc4..1ec563eb4c 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java @@ -200,7 +200,7 @@ public class IdentifiedObjectSet<T extends IdentifiedObject> extends AbstractSet synchronized (objects) { if (codes == null) { final Set<String> keys = objects.keySet(); - codes = keys.toArray(new String[keys.size()]); + codes = keys.toArray(String[]::new); } return codes; } 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 5128c2ad48..32f4666d1d 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 @@ -1813,7 +1813,7 @@ public class MultiAuthoritiesFactory extends GeodeticAuthorityFactory implements } } } - finders = list.toArray(new IdentifiedObjectFinder[list.size()]); + finders = list.toArray(IdentifiedObjectFinder[]::new); } catch (BackingStoreException e) { throw e.unwrapOrRethrow(FactoryException.class); } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java index f4a9c48357..b19617cede 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java @@ -1177,7 +1177,7 @@ codes: for (int i=0; i<codes.length; i++) { properties.put(IdentifiedObject.NAME_KEY, id); } if (!aliases.isEmpty()) { - properties.put(IdentifiedObject.ALIAS_KEY, aliases.toArray(new GenericName[aliases.size()])); + properties.put(IdentifiedObject.ALIAS_KEY, aliases.toArray(GenericName[]::new)); } if (code != null) { final String codeString = code.toString(); @@ -2675,7 +2675,7 @@ next: while (r.next()) { descriptors.add(owner.createParameterDescriptor(getString(method, result, 1))); } } - return descriptors.toArray(new ParameterDescriptor<?>[descriptors.size()]); + return descriptors.toArray(ParameterDescriptor<?>[]::new); } /** diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java index 850def6aa2..ae1bbb40c5 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java @@ -393,7 +393,7 @@ class AbstractSingleOperation extends AbstractCoordinateOperation implements Sin if (parameters != null) { final List<GeneralParameterValue> values = parameters.values(); if (values != null) { // Paranoiac check (should not be allowed). - return CC_OperationMethod.filterImplicit(values.toArray(new GeneralParameterValue[values.size()])); + return CC_OperationMethod.filterImplicit(values.toArray(GeneralParameterValue[]::new)); } } return null; diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java index 03c3eec299..dbd3cf6989 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java @@ -865,7 +865,7 @@ class CoordinateOperationRegistry { */ if (operation instanceof ConcatenatedOperation) { final List<? extends CoordinateOperation> c = ((ConcatenatedOperation) operation).getOperations(); - final CoordinateOperation[] op = c.toArray(new CoordinateOperation[c.size()]); + final CoordinateOperation[] op = c.toArray(CoordinateOperation[]::new); switch (op.length) { case 0: break; // Illegal, but we are paranoiac. case 1: operation = op[0]; break; // Useless ConcatenatedOperation. @@ -1040,8 +1040,7 @@ class CoordinateOperationRegistry { case 0: return null; case 1: return operations.get(0); default: return factory.createConcatenatedOperation(derivedFrom(operation), - operations.toArray(new CoordinateOperation[operations.size()])); - + operations.toArray(CoordinateOperation[]::new)); } } diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java index f3ec6afb34..a63547a52a 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java @@ -145,7 +145,7 @@ final class DefaultConcatenatedOperation extends AbstractCoordinateOperation imp * At this point we should have flattened.size() >= 2, except if some operations * were omitted because their associated math transform were identity operation. */ - this.operations = UnmodifiableArrayList.wrap(flattened.toArray(new CoordinateOperation[flattened.size()])); + this.operations = UnmodifiableArrayList.wrap(flattened.toArray(CoordinateOperation[]::new)); } /** @@ -236,8 +236,7 @@ final class DefaultConcatenatedOperation extends AbstractCoordinateOperation imp } if (op instanceof ConcatenatedOperation) { final List<? extends CoordinateOperation> children = ((ConcatenatedOperation) op).getOperations(); - @SuppressWarnings("SuspiciousToArrayCall") - final CoordinateOperation[] asArray = children.toArray(new CoordinateOperation[children.size()]); + final CoordinateOperation[] asArray = children.toArray(CoordinateOperation[]::new); initialize(properties, asArray, flattened, (step == null) ? mtFactory : null, false, setAccuracy, setDomain); } else if (!step.isIdentity()) { flattened.add(op); @@ -423,7 +422,7 @@ final class DefaultConcatenatedOperation extends AbstractCoordinateOperation imp @XmlElement(name = "coordOperation", required = true) private CoordinateOperation[] getSteps() { final List<? extends CoordinateOperation> operations = getOperations(); - return (operations != null) ? operations.toArray(new CoordinateOperation[operations.size()]) : null; + return (operations != null) ? operations.toArray(CoordinateOperation[]::new) : null; } /** 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 7801da0439..97ccaf727a 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 @@ -932,8 +932,7 @@ public class DefaultOperationMethod extends AbstractIdentifiedObject implements if (parameters != null) { final List<GeneralParameterDescriptor> descriptors = parameters.descriptors(); if (descriptors != null) { // Paranoiac check (should not be allowed). - return CC_OperationMethod.filterImplicit(descriptors.toArray( - new GeneralParameterDescriptor[descriptors.size()])); + return CC_OperationMethod.filterImplicit(descriptors.toArray(GeneralParameterDescriptor[]::new)); } } return null; diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java index 41c50daba7..533333a95c 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java @@ -143,7 +143,7 @@ final class InverseOperationMethod extends DefaultOperationMethod { final Collection<PositionalAccuracy> accuracy = source.getCoordinateOperationAccuracy(); if (!Containers.isNullOrEmpty(accuracy)) { target.put(SingleOperation.COORDINATE_OPERATION_ACCURACY_KEY, - accuracy.toArray(new PositionalAccuracy[accuracy.size()])); + accuracy.toArray(PositionalAccuracy[]::new)); } /* * If the inverse of the given operation can be represented by inverting the sign of all numerical diff --git a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java index b17eba9dc5..d4e804c289 100644 --- a/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java +++ b/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/builder/LinearTransformBuilder.java @@ -1697,7 +1697,7 @@ search: for (int j=domain(); --j >= 0;) { * └────────────┴─────────────┘ */ if (linearizers != null) { - final ProjectedTransformTry[] alternatives = linearizers.toArray(new ProjectedTransformTry[linearizers.size()]); + final var alternatives = linearizers.toArray(ProjectedTransformTry[]::new); Arrays.sort(alternatives); buffer.append(Strings.CONTINUATION_ITEM); vocabulary.appendLabel(Vocabulary.Keys.Preprocessing, buffer); 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 cec3e888c1..c4622ecd5a 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 @@ -116,8 +116,8 @@ public final strictfp class CC_OperationParameterGroupTest extends TestCase { final List<GeneralParameterDescriptor> fromXML = unmarshal().descriptors(); final List<GeneralParameterDescriptor> fromValues = UnmodifiableArrayList.wrap(expected); final Map<GeneralParameterDescriptor,GeneralParameterDescriptor> replacements = new IdentityHashMap<>(4); - final GeneralParameterDescriptor[] merged = CC_OperationParameterGroup.merge(fromXML, - fromValues.toArray(new GeneralParameterDescriptor[fromValues.size()]), replacements); + final var merged = CC_OperationParameterGroup.merge(fromXML, + fromValues.toArray(GeneralParameterDescriptor[]::new), replacements); assertTrue("Expected no replacement.", replacements.isEmpty()); assertEquals("Number of parameters", 2, merged.length); @@ -179,7 +179,7 @@ public final strictfp class CC_OperationParameterGroupTest extends TestCase { List<GeneralParameterDescriptor> descriptors = group.descriptors(); // Merge with the parameters defined in Mercator1SP class - group = CC_OperationMethod.group(group.getName(), descriptors.toArray(new GeneralParameterDescriptor[descriptors.size()])); + group = CC_OperationMethod.group(group.getName(), descriptors.toArray(GeneralParameterDescriptor[]::new)); descriptors = group.descriptors(); assertSame("name", group.getName(), group.getName()); 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 98dbebb8fb..45b145258e 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 @@ -240,10 +240,10 @@ public final strictfp class DefaultParameterValueGroupTest extends TestCase { final DefaultParameterDescriptorGroup group, subGroup; final List<GeneralParameterDescriptor> descriptors = new ArrayList<>(descriptor.descriptors()); subGroup = new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "theSubGroup"), - 2, 4, descriptors.toArray(new GeneralParameterDescriptor[descriptors.size()])); + 2, 4, descriptors.toArray(GeneralParameterDescriptor[]::new)); descriptors.add(subGroup); group = new DefaultParameterDescriptorGroup(singletonMap(NAME_KEY, "theGroup"), - descriptors.toArray(new GeneralParameterDescriptor[descriptors.size()])); + descriptors.toArray(GeneralParameterDescriptor[]::new)); /* * Prepare the GeneralParameterValue instances that we are going to add in the above group. * We assign arbitrary integer values to each instance if order to be able to differentiate diff --git a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java index 40b081fdd8..9c2897c3db 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java @@ -274,7 +274,7 @@ public final strictfp class ParameterFormatTest extends TestCase { "│ EPSG:9804 │ Mercator (variant A) │ Mercator_1SP │\n" + "└────────────┴──────────────────────┴──────────────┘\n", text); - text = format.format(parameters.toArray(new IdentifiedObject[parameters.size()])); + text = format.format(parameters.toArray(IdentifiedObject[]::new)); assertMultilinesEquals( "┌────────────┬────────────────────────────────┬────────────────────┐\n" + "│ Identifier │ EPSG │ OGC │\n" + diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java index ad448a43dd..eb5fa53043 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java @@ -59,7 +59,7 @@ public final strictfp class AbstractIdentifiedObjectTest extends TestCase { private static Map<String,Object> properties(final Set<Identifier> identifiers) { final Map<String,Object> properties = new HashMap<>(8); assertNull(properties.put("name", "GRS 1980")); - assertNull(properties.put("identifiers", identifiers.toArray(new Identifier[identifiers.size()]))); + assertNull(properties.put("identifiers", identifiers.toArray(Identifier[]::new))); assertNull(properties.put("codespace", "EPSG")); assertNull(properties.put("version", "8.3")); assertNull(properties.put("alias", "International 1979")); diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/report/CoordinateReferenceSystems.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/report/CoordinateReferenceSystems.java index 4ffbcc9362..ed8436a185 100644 --- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/report/CoordinateReferenceSystems.java +++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/report/CoordinateReferenceSystems.java @@ -774,7 +774,7 @@ public final strictfp class CoordinateReferenceSystems extends AuthorityCodesRep protected void sortRows() { super.sortRows(); @SuppressWarnings("SuspiciousToArrayCall") - final ByName[] data = rows.toArray(new ByName[rows.size()]); + final ByName[] data = rows.toArray(ByName[]::new); final Map<String,String> sections = new TreeMap<>(); for (final ByName row : data) { final String section = row.section; 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 40f4a821f3..c8e40dc6ff 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 @@ -424,7 +424,7 @@ public final class DefinitionURI { orderedComponents.put(sequenceNumber, parse(uri, isURN, splitAt, next)); splitAt = next; } while (hasMore); - result.components = orderedComponents.values().toArray(new DefinitionURI[orderedComponents.size()]); + result.components = orderedComponents.values().toArray(DefinitionURI[]::new); } // Fall through } diff --git a/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java b/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java index 26211f98e0..d691628148 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java +++ b/core/sis-utility/src/main/java/org/apache/sis/math/StatisticsFormat.java @@ -272,7 +272,7 @@ public class StatisticsFormat extends TabularFormat<Statistics> { list.add(stats); stats = stats.differences(); } - format(list.toArray(new Statistics[list.size()]), toAppendTo); + format(list.toArray(Statistics[]::new), toAppendTo); } /** diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java b/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java index a06899ab97..e41f8bec63 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/Classes.java @@ -412,10 +412,10 @@ public final class Classes extends Static { * * @see Class#getInterfaces() */ - @SuppressWarnings({"unchecked","rawtypes"}) // Generic array creation. + @SuppressWarnings({"unchecked","rawtypes"}) public static <T> Class<? super T>[] getAllInterfaces(final Class<T> type) { final Set<Class<?>> interfaces = getInterfaceSet(type); - return (interfaces != null) ? interfaces.toArray(new Class[interfaces.size()]) : EMPTY_ARRAY; + return (interfaces != null) ? interfaces.toArray(Class[]::new) : EMPTY_ARRAY; } /** 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 ed0e0f9cbf..4075275b12 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 @@ -180,7 +180,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable { * {@link UnmodifiableArrayList#wrap(Object[])}. */ static TableColumn<?>[] getColumns(final Map<TableColumn<?>,Integer> columnIndices) { - return columnIndices.keySet().toArray(new TableColumn<?>[columnIndices.size()]); + return columnIndices.keySet().toArray(TableColumn<?>[]::new); } /** @@ -433,7 +433,7 @@ public class DefaultTreeTable implements TreeTable, Cloneable, Serializable { columnIndices = ((DefaultTreeTable) table).columnIndices; } else { final List<TableColumn<?>> columns = table.getColumns(); - columnIndices = createColumnIndices(columns.toArray(new TableColumn<?>[columns.size()])); + columnIndices = createColumnIndices(columns.toArray(TableColumn<?>[]::new)); } } diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java index 187872bf5c..4777b12d5d 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/FrequencySortedSet.java @@ -554,8 +554,7 @@ public class FrequencySortedSet<E> extends AbstractSet<E> implements SortedSet<E @SuppressWarnings("unchecked") private void ensureSorted() { if (sorted == null) { - @SuppressWarnings("rawtypes") // Generic array creation. - final Map.Entry<E,Integer>[] entries = count.entrySet().toArray(new Map.Entry[count.size()]); + final Map.Entry<E,Integer>[] entries = count.entrySet().toArray(Map.Entry[]::new); Arrays.sort(entries, COMPARATOR); final int length = entries.length; sorted = (E[]) new Object[length]; diff --git a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java index 129b793b31..8995ce2ba1 100644 --- a/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java +++ b/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java @@ -21,7 +21,6 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.HashSet; -import java.util.List; import java.util.Locale; import java.util.TimeZone; import java.util.ConcurrentModificationException; @@ -881,8 +880,7 @@ public class TreeTableFormat extends TabularFormat<TreeTable> { if (columnIndices != null) { columns = DefaultTreeTable.getColumns(columnIndices); } else { - final List<TableColumn<?>> c = tree.getColumns(); - columns = c.toArray(new TableColumn<?>[c.size()]); + columns = tree.getColumns().toArray(TableColumn<?>[]::new); } if (recursivityGuard == null) { recursivityGuard = new HashSet<>(); diff --git a/core/sis-utility/src/test/java/org/apache/sis/test/TestRunner.java b/core/sis-utility/src/test/java/org/apache/sis/test/TestRunner.java index 515691284c..4c9086f90b 100644 --- a/core/sis-utility/src/test/java/org/apache/sis/test/TestRunner.java +++ b/core/sis-utility/src/test/java/org/apache/sis/test/TestRunner.java @@ -232,8 +232,7 @@ public final class TestRunner extends BlockJUnit4ClassRunner { @SuppressWarnings("ReturnOfCollectionOrArrayField") private FrameworkMethod[] getFilteredChildren() { if (filteredChildren == null) { - final List<FrameworkMethod> children = super.getChildren(); - filteredChildren = children.toArray(new FrameworkMethod[children.size()]); + filteredChildren = super.getChildren().toArray(FrameworkMethod[]::new); sortDependantTestsLast(filteredChildren); } return filteredChildren; diff --git a/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java b/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java index d092729328..e4ed49b7c2 100644 --- a/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java +++ b/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java @@ -63,7 +63,7 @@ public final strictfp class LargeCodeList extends CodeList<LargeCodeList> { */ public static LargeCodeList[] values() { synchronized (VALUES) { - return VALUES.toArray(new LargeCodeList[VALUES.size()]); + return VALUES.toArray(LargeCodeList[]::new); } } 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 2cec0e68f7..51ff4268ce 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 @@ -535,7 +535,7 @@ final class CRSBuilder extends ReferencingFactoryContainer { * Returns all remaining keys, sorted in increasing order. */ private Short[] remainingKeys() { - final Short[] keys = geoKeys.keySet().toArray(new Short[geoKeys.size()]); + final Short[] keys = geoKeys.keySet().toArray(Short[]::new); Arrays.sort(keys); return keys; } diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/Localization.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/Localization.java index 7f4374d755..239e83e1d7 100644 --- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/Localization.java +++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/Localization.java @@ -210,7 +210,7 @@ final class Localization { for (int i=0; i<n; i++) { uniques.add(values.doubleValue(i)); } - final Double[] array = uniques.toArray(new Double[uniques.size()]); + final Double[] array = uniques.toArray(Double[]::new); uniques.clear(); int i = array.length; if (i >= 3) { diff --git a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java index 68e5d906f2..282cabd041 100644 --- a/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java +++ b/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/MultiResolutionImage.java @@ -85,7 +85,7 @@ final class MultiResolutionImage extends GridResourceWrapper implements Resource * from finest resolution to coarsest resolution. The full-resolution image shall be at index 0. */ MultiResolutionImage(final List<ImageFileDirectory> overviews) { - levels = overviews.toArray(new ImageFileDirectory[overviews.size()]); + levels = overviews.toArray(ImageFileDirectory[]::new); resolutions = new double[levels.length][]; } diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Axis.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Axis.java index 0cc57c072e..a8502ffc91 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Axis.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Axis.java @@ -589,7 +589,7 @@ public final class Axis extends NamedElement { } } if (!aliases.isEmpty()) { - properties.put(CoordinateSystemAxis.ALIAS_KEY, aliases.toArray(new GenericName[aliases.size()])); + properties.put(CoordinateSystemAxis.ALIAS_KEY, aliases.toArray(GenericName[]::new)); } /* * Axis abbreviation, direction and unit of measurement are mandatory. If any of them is null, diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java index ab457dade6..3e44370e91 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/FeatureSet.java @@ -355,7 +355,7 @@ final class FeatureSet extends DiscreteSampling { addFeatureSet(features, decoder, null, dimension, dimension, lock); } } - return features.toArray(new FeatureSet[features.size()]); + return features.toArray(FeatureSet[]::new); } /** diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java index 5aeec3d323..e470c9cb8c 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/RasterResource.java @@ -199,7 +199,7 @@ public final class RasterResource extends AbstractGridCoverageResource implement identifier = decoder.nameFactory.createLocalName(decoder.namespace, name); visibleBand = decoder.convention().getVisibleBand(); sampleDimensions = new SampleDimension[numBands]; - data = bands.toArray(new Variable[bands.size()]); + data = bands.toArray(Variable[]::new); assert data.length == (bandDimension >= 0 ? 1 : sampleDimensions.length); } diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Variable.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Variable.java index 2c8b707160..e6806fd169 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Variable.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Variable.java @@ -599,7 +599,7 @@ public abstract class Variable extends Node { */ boolean isIncomplete = false; final List<Dimension> fromVariable = getGridDimensions(); - final Dimension[] dimensions = fromVariable.toArray(new Dimension[fromVariable.size()]); + final Dimension[] dimensions = fromVariable.toArray(Dimension[]::new); for (int i=0; i<dimensions.length; i++) { isIncomplete |= ((dimensions[i] = domain.remove(dimensions[i])) == null); } diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java index bd59558dfb..ab2c94e325 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java @@ -1033,14 +1033,14 @@ nextVar: for (final VariableInfo variable : variables) { * from the "coordinates" attribute and axes inferred from variable names matching dimension names, we * use axes from "coordinates" attribute first followed by other axes. */ - GridInfo grid = new GridInfo(variable.dimensions, axes.toArray(new VariableInfo[axes.size()])); + GridInfo grid = new GridInfo(variable.dimensions, axes.toArray(VariableInfo[]::new)); GridInfo existing = shared.putIfAbsent(grid, grid); if (existing != null) { grid = existing; } variable.grid = grid; } - gridGeometries = shared.values().toArray(new Grid[shared.size()]); + gridGeometries = shared.values().toArray(Grid[]::new); } return gridGeometries; } diff --git a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java index aa9b596238..872a3891f1 100644 --- a/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java +++ b/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java @@ -238,7 +238,7 @@ public class NetcdfStore extends DataStore implements Aggregate { final List<Resource> grids = RasterResource.create(decoder, this); if (!grids.isEmpty()) { grids.addAll(UnmodifiableArrayList.wrap(resources)); - resources = grids.toArray(new Resource[grids.size()]); + resources = grids.toArray(Resource[]::new); } components = UnmodifiableArrayList.wrap(resources); } catch (IOException e) { diff --git a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Database.java b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Database.java index 22f31c226a..81f388edd0 100644 --- a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Database.java +++ b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/Database.java @@ -379,7 +379,7 @@ public class Database<G> extends Syntax { hasGeometry |= table.hasGeometry; hasRaster |= table.hasRaster; } - tables = tableList.toArray(new Table[tableList.size()]); + tables = tableList.toArray(Table[]::new); } /** @@ -398,7 +398,7 @@ public class Database<G> extends Syntax { } } } - return types.toArray(new String[types.size()]); + return types.toArray(String[]::new); } /** diff --git a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/PrimaryKey.java b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/PrimaryKey.java index 49c58c3d0b..c722f377ae 100644 --- a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/PrimaryKey.java +++ b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/PrimaryKey.java @@ -99,7 +99,7 @@ abstract class PrimaryKey { /** Creates a new primary key composed of the given columns. */ Composite(final Class<?> valueClass, final Collection<String> columns) { super(valueClass); - this.columns = UnmodifiableArrayList.wrap(columns.toArray(new String[columns.size()])); + this.columns = UnmodifiableArrayList.wrap(columns.toArray(String[]::new)); } /** Returns all columns composing this primary key. */ diff --git a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/QueryAnalyzer.java b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/QueryAnalyzer.java index d149a0bf8f..1b14582358 100644 --- a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/QueryAnalyzer.java +++ b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/QueryAnalyzer.java @@ -181,6 +181,6 @@ final class QueryAnalyzer extends FeatureAnalyzer { attributes.add(column); } } - return attributes.toArray(new Column[attributes.size()]); + return attributes.toArray(Column[]::new); } } diff --git a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/TableAnalyzer.java b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/TableAnalyzer.java index b8b4387edc..5d7f8a0e65 100644 --- a/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/TableAnalyzer.java +++ b/storage/sis-sqlstore/src/main/java/org/apache/sis/internal/sql/feature/TableAnalyzer.java @@ -179,7 +179,7 @@ final class TableAnalyzer extends FeatureAnalyzer { attributes.add(column); } } - return attributes.toArray(new Column[attributes.size()]); + return attributes.toArray(Column[]::new); } /** 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 27f9685fb7..2754466ad2 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 @@ -580,7 +580,7 @@ final class Store extends URIDataStore implements FeatureSet { } final String name = IOUtilities.filenameWithoutExtension(super.getDisplayName()); return new DefaultFeatureType(Collections.singletonMap(DefaultFeatureType.NAME_KEY, name), - false, null, properties.toArray(new PropertyType[properties.size()])); + false, null, properties.toArray(PropertyType[]::new)); } /** 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 c666058311..5e3be6dc13 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 @@ -378,7 +378,7 @@ class Store extends DataStore implements StoreResource, UnstructuredAggregate, D } catch (BackingStoreException ex) { throw ex.unwrapOrRethrow(DataStoreException.class); } - components = UnmodifiableArrayList.wrap(resources.toArray(new Resource[resources.size()])); + components = UnmodifiableArrayList.wrap(resources.toArray(Resource[]::new)); } return components; // Safe because unmodifiable list. } diff --git a/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/AggregatedFeatureSet.java b/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/AggregatedFeatureSet.java index 856c6512c4..b05db5c0f3 100644 --- a/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/AggregatedFeatureSet.java +++ b/storage/sis-storage/src/main/java/org/apache/sis/storage/aggregate/AggregatedFeatureSet.java @@ -125,7 +125,7 @@ abstract class AggregatedFeatureSet extends AbstractFeatureSet { if (!isEnvelopeComputed) { final List<Envelope> envelopes = new ArrayList<>(); if (getEnvelopes(envelopes)) try { - envelope = ImmutableEnvelope.castOrCopy(Envelopes.union(envelopes.toArray(new Envelope[envelopes.size()]))); + envelope = ImmutableEnvelope.castOrCopy(Envelopes.union(envelopes.toArray(Envelope[]::new))); } catch (TransformException e) { listeners.warning(e); } diff --git a/storage/sis-storage/src/test/java/org/apache/sis/test/storage/CoverageReadConsistency.java b/storage/sis-storage/src/test/java/org/apache/sis/test/storage/CoverageReadConsistency.java index 3c278e1050..0fab1ed840 100644 --- a/storage/sis-storage/src/test/java/org/apache/sis/test/storage/CoverageReadConsistency.java +++ b/storage/sis-storage/src/test/java/org/apache/sis/test/storage/CoverageReadConsistency.java @@ -449,7 +449,7 @@ nextSlice: for (;;) { public static void printDurations() { if (statistics != null) { // It is too late for using `TestCase.out`. - System.out.print(StatisticsFormat.getInstance().format(statistics.toArray(new Statistics[statistics.size()]))); + System.out.print(StatisticsFormat.getInstance().format(statistics.toArray(Statistics[]::new))); statistics = null; } } diff --git a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Metadata.java b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Metadata.java index 63f1a5f9f6..6d081c0108 100644 --- a/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Metadata.java +++ b/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Metadata.java @@ -306,7 +306,7 @@ public final class Metadata extends SimpleMetadata { @Override public Collection<Keywords> getDescriptiveKeywords() { if (keywords != null) { - return Collections.singletonList(new DefaultKeywords(keywords.toArray(new String[keywords.size()]))); + return Collections.singletonList(new DefaultKeywords(keywords.toArray(String[]::new))); } return Collections.emptyList(); }