From f8d2ae8d2cbee7e16f1bf062a6073d0b0631bad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EB=B3=B4=EA=B5=90=20=28Bogus=20Jung=29?= Date: Sat, 22 Feb 2025 01:09:30 +0900 Subject: [PATCH 1/2] fix: improve ArrayList capacity allocation in GeoJson MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 정보교 (Bogus Jung) --- .../data/mongodb/core/geo/GeoJsonMultiPoint.java | 2 +- .../springframework/data/mongodb/core/geo/GeoJsonPolygon.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonMultiPoint.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonMultiPoint.java index bcb4c3e79e..f02e6c0ef6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonMultiPoint.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonMultiPoint.java @@ -79,7 +79,7 @@ public GeoJsonMultiPoint(Point first, Point second, Point... others) { Assert.notNull(second, "Second point must not be null"); Assert.notNull(others, "Additional points must not be null"); - this.points = new ArrayList<>(); + this.points = new ArrayList<>(2 + others.length); this.points.add(first); this.points.add(second); this.points.addAll(Arrays.asList(others)); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java index 166a10df08..5f441851d7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java @@ -126,7 +126,7 @@ public List getCoordinates() { private static List asList(Point first, Point second, Point third, Point fourth, Point... others) { - ArrayList result = new ArrayList(3 + others.length); + ArrayList result = new ArrayList(4 + others.length); result.add(first); result.add(second); From efa226ad937f1f84a1adf3e5c6a13f33b9114dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EB=B3=B4=EA=B5=90=20=28Bogus=20Jung=29?= Date: Sat, 22 Feb 2025 01:10:10 +0900 Subject: [PATCH 2/2] add: assert messages when create polygon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 정보교 (Bogus Jung) --- .../data/mongodb/core/geo/GeoJsonPolygon.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java index 5f441851d7..3d828595f9 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/geo/GeoJsonPolygon.java @@ -126,6 +126,12 @@ public List getCoordinates() { private static List asList(Point first, Point second, Point third, Point fourth, Point... others) { + Assert.notNull(first, "First point must not be null"); + Assert.notNull(second, "Second point must not be null"); + Assert.notNull(third, "Third point must not be null"); + Assert.notNull(fourth, "Fourth point must not be null"); + Assert.notNull(others, "Additional points must not be null"); + ArrayList result = new ArrayList(4 + others.length); result.add(first);