From 08475d2f4082f97bd86b92c74db0e2c18d57b953 Mon Sep 17 00:00:00 2001 From: "hukekuan@163.com" Date: Tue, 23 Jan 2018 17:25:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/com/gis3c/ol/dao/MapDao.java | 5 ++ src/main/java/com/gis3c/ol/dao/ViewDao.java | 7 +++ .../java/com/gis3c/ol/service/MapService.java | 1 + .../com/gis3c/ol/service/ViewService.java | 4 ++ .../gis3c/ol/service/impl/MapServiceImpl.java | 5 ++ .../ol/service/impl/ViewServiceImpl.java | 7 +++ .../spatial/common/FeatureUtilities.java | 47 +++++++++++++++++++ .../spatial/entity/feature/BaseFeature.java | 2 +- .../gis3c/spatial/postgis/PostGISHandler.java | 2 - src/test/java/com/gis3c/spatial/App.java | 17 +++++-- .../java/com/gis3c/spatial/entity/Test.java | 2 - src/test/resources/mappings/ol/MapDao.xml | 8 ++++ 13 files changed, 98 insertions(+), 11 deletions(-) rename src/{main => test}/java/com/gis3c/spatial/entity/Test.java (87%) diff --git a/pom.xml b/pom.xml index ff7e2de..bb8e5f3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.c3gis c3gis - 1.0.1 + 1.0.2 diff --git a/src/main/java/com/gis3c/ol/dao/MapDao.java b/src/main/java/com/gis3c/ol/dao/MapDao.java index 0b73924..78d88a2 100644 --- a/src/main/java/com/gis3c/ol/dao/MapDao.java +++ b/src/main/java/com/gis3c/ol/dao/MapDao.java @@ -2,6 +2,8 @@ package com.gis3c.ol.dao; import com.gis3c.common.persistence.annotation.C3olDao; import com.gis3c.ol.entity.Map; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -10,6 +12,9 @@ import java.util.List; @C3olDao public interface MapDao { public List findAllList(); + public List findMapsByByPage( + @Param("pageSize") Integer pageSize, + @Param("currentPage") Integer currentPage); public Map findMapById(String mapId); public Map findMapByName(String mapName); diff --git a/src/main/java/com/gis3c/ol/dao/ViewDao.java b/src/main/java/com/gis3c/ol/dao/ViewDao.java index 3082db2..d3c5cc6 100644 --- a/src/main/java/com/gis3c/ol/dao/ViewDao.java +++ b/src/main/java/com/gis3c/ol/dao/ViewDao.java @@ -2,12 +2,19 @@ package com.gis3c.ol.dao; import com.gis3c.common.persistence.annotation.C3olDao; import com.gis3c.ol.entity.View; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * Created by hukekuan on 2017/12/15. */ @C3olDao public interface ViewDao { + public List findViewsByByPage( + @Param("pageSize") Integer pageSize, + @Param("currentPage") Integer currentPage); + public View findeViewById(String viewId); public View findeViewByName(String viewName); diff --git a/src/main/java/com/gis3c/ol/service/MapService.java b/src/main/java/com/gis3c/ol/service/MapService.java index c2b1d80..9d9087f 100644 --- a/src/main/java/com/gis3c/ol/service/MapService.java +++ b/src/main/java/com/gis3c/ol/service/MapService.java @@ -9,6 +9,7 @@ import java.util.List; */ public interface MapService { public List findAllList(); + public List findMapsByByPage(Integer pageSize,Integer currentPage); public Map findMapById(String mapId); public Map findMapByName(String mapName); diff --git a/src/main/java/com/gis3c/ol/service/ViewService.java b/src/main/java/com/gis3c/ol/service/ViewService.java index a7ad70c..3323b42 100644 --- a/src/main/java/com/gis3c/ol/service/ViewService.java +++ b/src/main/java/com/gis3c/ol/service/ViewService.java @@ -2,10 +2,14 @@ package com.gis3c.ol.service; import com.gis3c.ol.entity.View; +import java.util.List; + /** * Created by hukekuan on 2017/12/14. */ public interface ViewService { + public List findViewsByByPage(Integer pageSize,Integer currentPage); + public View findeViewById(String viewId); public View findeViewByName(String viewName); diff --git a/src/main/java/com/gis3c/ol/service/impl/MapServiceImpl.java b/src/main/java/com/gis3c/ol/service/impl/MapServiceImpl.java index f45d3cf..82890b2 100644 --- a/src/main/java/com/gis3c/ol/service/impl/MapServiceImpl.java +++ b/src/main/java/com/gis3c/ol/service/impl/MapServiceImpl.java @@ -21,6 +21,11 @@ public class MapServiceImpl implements MapService { return mapDao.findAllList(); } + @Override + public List findMapsByByPage(Integer pageSize,Integer currentPage) { + return mapDao.findMapsByByPage(pageSize,currentPage); + } + @Override public Map findMapById(String mapId) { return mapDao.findMapById(mapId); diff --git a/src/main/java/com/gis3c/ol/service/impl/ViewServiceImpl.java b/src/main/java/com/gis3c/ol/service/impl/ViewServiceImpl.java index 5af1be0..69e7227 100644 --- a/src/main/java/com/gis3c/ol/service/impl/ViewServiceImpl.java +++ b/src/main/java/com/gis3c/ol/service/impl/ViewServiceImpl.java @@ -6,6 +6,8 @@ import com.gis3c.ol.service.ViewService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * Created by hukekuan on 2017/12/14. */ @@ -14,6 +16,11 @@ public class ViewServiceImpl implements ViewService { @Autowired private ViewDao viewDao; + @Override + public List findViewsByByPage(Integer pageSize, Integer currentPage) { + return viewDao.findViewsByByPage(pageSize,currentPage); + } + @Override public View findeViewById(String viewId) { return viewDao.findeViewById(viewId); diff --git a/src/main/java/com/gis3c/spatial/common/FeatureUtilities.java b/src/main/java/com/gis3c/spatial/common/FeatureUtilities.java index a25866b..901e652 100644 --- a/src/main/java/com/gis3c/spatial/common/FeatureUtilities.java +++ b/src/main/java/com/gis3c/spatial/common/FeatureUtilities.java @@ -1,19 +1,66 @@ package com.gis3c.spatial.common; +import com.gis3c.spatial.entity.feature.BaseFeature; import org.geotools.data.DataUtilities; import org.geotools.data.simple.SimpleFeatureCollection; import org.geotools.geojson.feature.FeatureJSON; import org.opengis.feature.simple.SimpleFeature; +import org.opengis.feature.simple.SimpleFeatureType; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.StringWriter; +import java.util.ArrayList; import java.util.List; /** * Created by hukekuan on 2018/1/16. */ public class FeatureUtilities { + /** + * @Description: 将java bean转换为Simple Feature + * @param beansList + * @return + * @throws IllegalAccessException + */ + public static List JavaBeans2Features(List beansList) + throws IllegalAccessException { + if(beansList == null || beansList.size() == 0){ + throw new NullPointerException("参数无效"); + } + List simpleFeatureList = new ArrayList<>(); + SimpleFeatureType featureType = beansList.get(0).createFeatureType(); + for(int i = 0,len = beansList.size();i < len;i++){ + simpleFeatureList.add(beansList.get(i).javaBean2SimpleFeature(featureType,Integer.toString(i))); + } + + return simpleFeatureList; + } + + /** + * @Description: 将java bean转换SimpleFeatureCollection + * @param beansList + * @return + * @throws IllegalAccessException + */ + public static SimpleFeatureCollection JavaBeans2Collections(List beansList) + throws IllegalAccessException { + List simpleFeatureList = JavaBeans2Features(beansList); + return Features2Collection(simpleFeatureList); + } + + /** + * @Description: 将java bean转换GeoJSON + * @param beansList + * @return + * @throws IllegalAccessException + * @throws IOException + */ + public static String JavaBeans2Json(List beansList) + throws IllegalAccessException, IOException { + List simpleFeatureList = JavaBeans2Features(beansList); + return Features2GeoJSON(simpleFeatureList); + } /** * @author hukekuan diff --git a/src/main/java/com/gis3c/spatial/entity/feature/BaseFeature.java b/src/main/java/com/gis3c/spatial/entity/feature/BaseFeature.java index 4900447..f83685b 100644 --- a/src/main/java/com/gis3c/spatial/entity/feature/BaseFeature.java +++ b/src/main/java/com/gis3c/spatial/entity/feature/BaseFeature.java @@ -91,7 +91,7 @@ public class BaseFeature implements IFeature { * @throws IllegalAccessException * @date 2017-07-10 下午7:10 */ - public SimpleFeature attribute2Feature(SimpleFeatureType featureType, String featureIndex) + public SimpleFeature javaBean2SimpleFeature(SimpleFeatureType featureType, String featureIndex) throws IllegalArgumentException, IllegalAccessException { SimpleFeature simpleFeature = null; if(featureType == null){ diff --git a/src/main/java/com/gis3c/spatial/postgis/PostGISHandler.java b/src/main/java/com/gis3c/spatial/postgis/PostGISHandler.java index 5741614..57e4a10 100644 --- a/src/main/java/com/gis3c/spatial/postgis/PostGISHandler.java +++ b/src/main/java/com/gis3c/spatial/postgis/PostGISHandler.java @@ -5,8 +5,6 @@ import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; - -import com.gis3c.spatial.entity.geometry.C3Point; import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.MappedTypes; import org.apache.ibatis.type.TypeHandler; diff --git a/src/test/java/com/gis3c/spatial/App.java b/src/test/java/com/gis3c/spatial/App.java index 439a59c..413cebb 100644 --- a/src/test/java/com/gis3c/spatial/App.java +++ b/src/test/java/com/gis3c/spatial/App.java @@ -5,12 +5,13 @@ import com.gis3c.ol.service.LayerService; import com.gis3c.ol.service.MapService; import com.gis3c.ol.service.SourceService; import com.gis3c.ol.service.ViewService; +import com.gis3c.spatial.common.FeatureUtilities; import com.gis3c.spatial.entity.Test; -import com.gis3c.spatial.entity.feature.IFeature; import com.gis3c.spatial.service.TestService; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +import java.io.IOException; import java.util.List; /** @@ -20,7 +21,7 @@ public class App { public static ApplicationContext ApplicationInit(){ return new ClassPathXmlApplicationContext("classpath:spring-config.xml"); } - public static void main(String[] args) { + public static void main(String[] args) throws IllegalAccessException, IOException { ApplicationContext context = ApplicationInit(); ViewService viewService = context.getBean(ViewService.class); SourceService sourceService = context.getBean(SourceService.class); @@ -29,11 +30,17 @@ public class App { TestService testService = context.getBean(TestService.class); +// List mapList = mapService.findMapsByByPage(10,0); + Map map = mapService.findMapById("fc813a1f-6a31-4202-9419-8d125ba203c9"); + System.out.println(map); - List result = testService.allList(); - Test test = result.get(0); - System.out.println(test.AllFieldes()); +// List result = testService.allList(); +// Test test = result.get(0); +// SimpleFeatureType type = test.createFeatureType(); +// +// System.out.println(type); +// System.out.println(FeatureUtilities.JavaBeans2Json(result)); // //地图接口 // Map map = mapService.findMapById("fc813a1f-6a31-4202-9419-8d125ba203c9"); diff --git a/src/main/java/com/gis3c/spatial/entity/Test.java b/src/test/java/com/gis3c/spatial/entity/Test.java similarity index 87% rename from src/main/java/com/gis3c/spatial/entity/Test.java rename to src/test/java/com/gis3c/spatial/entity/Test.java index d53aa34..2f5cea9 100644 --- a/src/main/java/com/gis3c/spatial/entity/Test.java +++ b/src/test/java/com/gis3c/spatial/entity/Test.java @@ -1,8 +1,6 @@ package com.gis3c.spatial.entity; import com.gis3c.spatial.entity.feature.BaseFeature; -import com.gis3c.spatial.entity.geometry.C3Point; -import com.vividsolutions.jts.geom.Point; /** * Created by hukekuan on 2018/1/16. diff --git a/src/test/resources/mappings/ol/MapDao.xml b/src/test/resources/mappings/ol/MapDao.xml index a1d751f..7c82125 100644 --- a/src/test/resources/mappings/ol/MapDao.xml +++ b/src/test/resources/mappings/ol/MapDao.xml @@ -33,6 +33,14 @@ FROM c3gis_ol_map; + +