From f6215930b9e21a5252c95296d9924b3c4524d9f6 Mon Sep 17 00:00:00 2001 From: "bodong.ybd" Date: Fri, 25 Nov 2022 15:32:23 +0800 Subject: [PATCH] TairGis: fix gissearch result factory npe --- .../aliyun/tair/tairgis/factory/GisBuilderFactory.java | 4 ++-- .../aliyun/tair/tests/tairgis/TairGisPipelineTest.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/aliyun/tair/tairgis/factory/GisBuilderFactory.java b/src/main/java/com/aliyun/tair/tairgis/factory/GisBuilderFactory.java index ea6641b..99c789f 100644 --- a/src/main/java/com/aliyun/tair/tairgis/factory/GisBuilderFactory.java +++ b/src/main/java/com/aliyun/tair/tairgis/factory/GisBuilderFactory.java @@ -19,7 +19,7 @@ public Map build(Object data) { List rawResults; List result = (List) data; if (null == result || 0 == result.size()) { - rawResults = null; + return new HashMap<>(); } else { rawResults = (List) result.get(1); } @@ -45,7 +45,7 @@ public Map build(Object data) { List rawResults; List result = (List) data; if (null == result || 0 == result.size()) { - rawResults = null; + return new HashMap<>(); } else { rawResults = (List) result.get(1); } diff --git a/src/test/java/com/aliyun/tair/tests/tairgis/TairGisPipelineTest.java b/src/test/java/com/aliyun/tair/tests/tairgis/TairGisPipelineTest.java index a049e18..9163766 100644 --- a/src/test/java/com/aliyun/tair/tests/tairgis/TairGisPipelineTest.java +++ b/src/test/java/com/aliyun/tair/tests/tairgis/TairGisPipelineTest.java @@ -75,6 +75,16 @@ public void gissearchTest() throws Exception { AssertUtil.assertEquals(1, Map.class.cast(objs.get(i)).size()); } + @Test + public void gissearchNotExistsTest() throws Exception { + String polygonWktText = "POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))", pointWktText = "POINT (30 11)"; + // String + tairGisPipeline.gissearch(area, pointWktText); + List objs = tairGisPipeline.syncAndReturnAll(); + Assert.assertEquals(1, objs.size()); + Assert.assertEquals(0, Map.class.cast(objs.get(0)).size()); + } + @Test public void gisdelTest() throws Exception { String uuid = UUID.randomUUID().toString();