From a0bcaeb59e442d67323eb6762d6199373abf939b Mon Sep 17 00:00:00 2001 From: jotty Date: Sat, 11 Mar 2023 08:02:38 +0100 Subject: [PATCH] added deleting locations --- .../module/admin/AdminController.java | 2 +- .../module/admin/AdminRepository.java | 24 +++++++++++++++++++ .../module/admin/AdminService.java | 16 ++++++++++--- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java index 3b4ac0e..61f611e 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java +++ b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminController.java @@ -142,7 +142,7 @@ public class AdminController extends CommonController { LOGGER.error("error {}: {}", error.getCode(), error.getDefaultMessage()); return "/admin/location_edit"; } - service.updateLocation(bean); + service.upsertLocation(bean); return "redirect:/admin/location"; } diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java index 15405f5..0272266 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java +++ b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminRepository.java @@ -11,6 +11,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import javax.validation.Valid; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jooq.Condition; @@ -303,4 +305,26 @@ public class AdminRepository { return LocationBean.of(sql.fetchOne()); } + /** + * delete the location from the database + * + * @param id the ID of the location + * @return number of affected database rows; should be 1 + */ + public Integer deleteLocation(Integer id) { + DeleteConditionStep sql = jooq.deleteFrom(T_LOCATION).where(T_LOCATION.PK.eq(id)); + LOGGER.debug(sql.toString()); + return sql.execute(); + } + + /** + * upsert the bean; if pk is null, do an insert, an upsert else + * + * @param bean the bean + * @return number of affected database rows; should be 1 + */ + public Integer upsertLocation(@Valid LocationBean bean) { + // TODO: implement; respect existing camps that fit to the current camp location. + throw new DataAccessException("not yet implemented"); + } } diff --git a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminService.java b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminService.java index 0a7747d..8e9a32f 100644 --- a/src/main/java/de/jottyfan/camporganizer/module/admin/AdminService.java +++ b/src/main/java/de/jottyfan/camporganizer/module/admin/AdminService.java @@ -99,12 +99,22 @@ public class AdminService { return adminRepository.getLocation(id); } - public void updateLocation(@Valid LocationBean bean) { - throw new DataAccessException("not yet implemented"); + /** + * upsert the bean + * + * @param bean the bean + */ + public void upsertLocation(@Valid LocationBean bean) { + adminRepository.upsertLocation(bean); } + /** + * delete the location + * + * @param id the ID of the location + */ public void deleteLocation(Integer id) { - throw new DataAccessException("not yet implemented"); + adminRepository.deleteLocation(id); } /**