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();