From aa97c86cd5f01c7bb94340da69a5c96a9b448493 Mon Sep 17 00:00:00 2001 From: c2038058 <gillj8@cardiff.ac.uk> Date: Fri, 10 Dec 2021 12:05:06 +0000 Subject: [PATCH] ShopDeleter fully logged, other classes changed to no longer use autowiring for attributes --- .../clientproject/services/ShopDeleter.java | 15 +++++++++++++-- .../web/controllers/AdminController.java | 2 +- .../web/controllers/DeleteShopTests.java | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/example/clientproject/services/ShopDeleter.java b/src/main/java/com/example/clientproject/services/ShopDeleter.java index ced2b59..2f7bf25 100644 --- a/src/main/java/com/example/clientproject/services/ShopDeleter.java +++ b/src/main/java/com/example/clientproject/services/ShopDeleter.java @@ -1,20 +1,31 @@ package com.example.clientproject.services; +import com.example.clientproject.service.LoggingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpSession; + @Service public class ShopDeleter { - @Autowired JdbcTemplate jdbc; + LoggingService loggingService; /** * @param shopId - the shopID of the shop that the stored procedure is going to delete */ - public void deleteShop(Integer shopId){ + public void deleteShop(Integer shopId, HttpSession session){ String query = "CALL `mydb`.`deleteShop`('" + shopId + "');"; jdbc.execute(query); + // Log the change + loggingService.logEvent( + "Deleted Shop", + session, + "Shop deleted with Shop Id: " + shopId + + " in ShopDeleter.deleteShop()" + ); + } } diff --git a/src/main/java/com/example/clientproject/web/controllers/AdminController.java b/src/main/java/com/example/clientproject/web/controllers/AdminController.java index 21efc8f..b21f430 100644 --- a/src/main/java/com/example/clientproject/web/controllers/AdminController.java +++ b/src/main/java/com/example/clientproject/web/controllers/AdminController.java @@ -195,7 +195,7 @@ public class AdminController { } if (shopPermissionLevel == 2 || shopPermissionLevel == 3) { System.out.println("shop is being deleted"); - shopDeleter.deleteShop(shopId); + shopDeleter.deleteShop(shopId, session); } return "redirect:/settings"; } diff --git a/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java b/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java index 265fe5e..8579b7d 100644 --- a/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java +++ b/src/test/java/com/example/clientproject/web/controllers/DeleteShopTests.java @@ -31,7 +31,7 @@ public class DeleteShopTests { //in future make a jdbc service that will do the exact same thing as the stored procedure @Test public void shouldDeleteAllShopData() throws Exception{ - shopDeleter.deleteShop(12); + shopDeleter.deleteShop(12, null); List<Shops> shopsList = shopsRepo.findAll(); assertEquals(11, shopsList.size()); } -- GitLab