From 3a205feb27de8450c3bac7242f3c976ce5d21436 Mon Sep 17 00:00:00 2001 From: Heemin Kim Date: Wed, 24 Jan 2024 10:09:37 -0800 Subject: [PATCH] Fix bug in ShapeTestUtil (#12287) boxPolygon and trianglePolygon only uses minX and minY value of give XY Rectangle which results in a polygon with points in single place. With this changes, both methods generate correct polygons. --- lucene/CHANGES.txt | 2 ++ .../org/apache/lucene/tests/geo/ShapeTestUtil.java | 14 +++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt index 69ca921135e5..75e52197b302 100644 --- a/lucene/CHANGES.txt +++ b/lucene/CHANGES.txt @@ -228,6 +228,8 @@ Bug Fixes * GITHUB#12885: Fixed the bug that JapaneseReadingFormFilter cannot convert some hiragana to romaji. (Takuma Kuramitsu) +* GITHUB#12287: Fix a bug in ShapeTestUtil. (Heemin Kim) + Build --------------------- diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/geo/ShapeTestUtil.java b/lucene/test-framework/src/java/org/apache/lucene/tests/geo/ShapeTestUtil.java index e0e8c6964fce..aed0a92ea4ca 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/tests/geo/ShapeTestUtil.java +++ b/lucene/test-framework/src/java/org/apache/lucene/tests/geo/ShapeTestUtil.java @@ -99,10 +99,10 @@ private static XYPolygon trianglePolygon(XYRectangle box) { final float[] polyY = new float[4]; polyX[0] = box.minX; polyY[0] = box.minY; - polyX[1] = box.minX; + polyX[1] = box.maxX; polyY[1] = box.minY; - polyX[2] = box.minX; - polyY[2] = box.minY; + polyX[2] = box.maxX; + polyY[2] = box.maxY; polyX[3] = box.minX; polyY[3] = box.minY; return new XYPolygon(polyX, polyY); @@ -142,12 +142,12 @@ private static XYPolygon boxPolygon(XYRectangle box) { final float[] polyY = new float[5]; polyX[0] = box.minX; polyY[0] = box.minY; - polyX[1] = box.minX; + polyX[1] = box.maxX; polyY[1] = box.minY; - polyX[2] = box.minX; - polyY[2] = box.minY; + polyX[2] = box.maxX; + polyY[2] = box.maxY; polyX[3] = box.minX; - polyY[3] = box.minY; + polyY[3] = box.maxY; polyX[4] = box.minX; polyY[4] = box.minY; return new XYPolygon(polyX, polyY);