diff --git a/control-myplaces/src/main/java/fi/nls/oskari/control/myplaces/handler/MyPlacesFeaturesHandler.java b/control-myplaces/src/main/java/fi/nls/oskari/control/myplaces/handler/MyPlacesFeaturesHandler.java index 7371599c0..110c814ae 100644 --- a/control-myplaces/src/main/java/fi/nls/oskari/control/myplaces/handler/MyPlacesFeaturesHandler.java +++ b/control-myplaces/src/main/java/fi/nls/oskari/control/myplaces/handler/MyPlacesFeaturesHandler.java @@ -177,7 +177,7 @@ public void handleDelete(ActionParameters params) throws ActionException { int deleted; try { LOG.debug("Deleting MyPlaces:", ids); - deleted = featureService.delete(ids); + deleted = mybatisFeatureService.delete(ids); LOG.info("Deleted", deleted, "/", ids.length); } catch (ServiceException e) { LOG.warn(e); diff --git a/service-myplaces/src/main/java/fi/nls/oskari/myplaces/MyPlaceMapper.java b/service-myplaces/src/main/java/fi/nls/oskari/myplaces/MyPlaceMapper.java index c034031ec..62ee5b55a 100755 --- a/service-myplaces/src/main/java/fi/nls/oskari/myplaces/MyPlaceMapper.java +++ b/service-myplaces/src/main/java/fi/nls/oskari/myplaces/MyPlaceMapper.java @@ -64,4 +64,10 @@ public interface MyPlaceMapper { " WHERE "+ " id = #{id} ") Long updateMyPlace(MyPlace myPlace); + + @Delete("DELETE FROM my_places "+ + " WHERE "+ + " id = #{id} ") + Long deleteMyPlace(long id); + } diff --git a/service-myplaces/src/main/java/fi/nls/oskari/myplaces/service/MyPlacesFeaturesServiceMybatisImpl.java b/service-myplaces/src/main/java/fi/nls/oskari/myplaces/service/MyPlacesFeaturesServiceMybatisImpl.java index 897f88ff0..48f0ac20f 100644 --- a/service-myplaces/src/main/java/fi/nls/oskari/myplaces/service/MyPlacesFeaturesServiceMybatisImpl.java +++ b/service-myplaces/src/main/java/fi/nls/oskari/myplaces/service/MyPlacesFeaturesServiceMybatisImpl.java @@ -117,7 +117,19 @@ public int update(List places) throws ServiceException { @Override public int delete(long[] ids) throws ServiceException { - return 0; + try (SqlSession session = factory.openSession()) { + LOG.debug("Deleting from myPlaces: ", ids); + final MyPlaceMapper mapper = session.getMapper(MyPlaceMapper.class); + for (long id : ids) { + mapper.deleteMyPlace(id); + LOG.info("deleted myplace: ", id); + } + session.commit(); + return ids.length; + } catch (Exception e) { + LOG.warn(e, "Exception when trying to add MyPlaces "); + throw new ServiceException(e.getMessage()); + } } private Geometry doGeometryTransform(Geometry geometry) throws ServiceException {