From d264c406bcb9e8001dab80a07ac73907e542ec89 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Thu, 20 Jun 2024 18:57:16 +0200 Subject: [PATCH] modified request interceptor --- .../calender/api/KalenderRestController.java | 3 +- .../calender/api/RequestInterceptor.java | 56 +++++++++---------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index b87ed53..5a84028 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -300,8 +300,9 @@ public class KalenderRestController { */ @CrossOrigin("*") @PostMapping("/api/updateState") - public ResponseEntity updateState(@RequestBody StateChangeRequest request) throws ARException { + public ResponseEntity updateState(@RequestBody StateChangeRequest request, HttpServletRequest httpRequest) throws ARException { logRequest("/updateState", request.toString()); + httpRequest.setAttribute("changeUpdateState", request); var response = stateChange.createStateChange(request); return ResponseEntity.ok(response); } diff --git a/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java index af3008d..f8196de 100644 --- a/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java +++ b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java @@ -7,6 +7,7 @@ import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import com.nttdata.calender.changes.ChangeUpdateRequest; +import com.nttdata.calender.states.StateChangeRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -23,57 +24,56 @@ public class RequestInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - // Print current datetime before handling the request String currentDateTime = LocalDateTime.now().format(dateTimeFormatter); long transactionId = System.currentTimeMillis(); - String out = "Transaction ID = " + transactionId + " " + currentDateTime + " - handling request: " - + request.getRequestURI(); + String out = String.format("Transaction ID = %d %s - handling request: %s", transactionId, currentDateTime, + request.getRequestURI()); logger.info(out); - return true; // Continue with the request + return true; } private static String output(String time, long id, String user, String status, String action, String ticket, String result) { - return String.format("Time: %s\nTransaction ID: %d\nUser: %s\nStatus: %s\nAction: %s\nTicket: %s\nResult: %s", + return String.format("%s\nTransaction ID: %d\nUser: %s\nStatus: %s\nAction: %s\nTicket: %s\nResult: %s", time, id, user, status, action, ticket, result); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { - - // Only react for POST requests if ("POST".equalsIgnoreCase(request.getMethod())) { - // Print current datetime after handling the request String currentDateTime = LocalDateTime.now().format(dateTimeFormatter); long transactionId = System.currentTimeMillis(); String changeNr = ""; if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; - if (handlerMethod.getMethod().getName().equals("updateChange")) { - ChangeUpdateRequest changeUpdateRequest = (ChangeUpdateRequest) request - .getAttribute("changeUpdateRequest"); - if (changeUpdateRequest != null) { - changeNr = changeUpdateRequest.getChangeNr(); - } + String action = handlerMethod.getMethod().getName(); + Object requestBody = request.getAttribute("requestBody"); + + if (requestBody instanceof ChangeUpdateRequest) { + ChangeUpdateRequest changeUpdateRequest = (ChangeUpdateRequest) requestBody; + changeNr = changeUpdateRequest.getChangeNr(); + action += " | Date change"; + } else if (requestBody instanceof StateChangeRequest) { + StateChangeRequest changeStateRequest = (StateChangeRequest) requestBody; + changeNr = changeStateRequest.getChangeNr(); + action += " | State transition"; } - System.out.println("\n" + output(currentDateTime, transactionId, "User", "Success", request.getRequestURI(), - changeNr, "Successful")); - } + String status = (ex == null) ? "Success" : "Error"; + String result = (ex == null) ? "Successful" : ex.getMessage(); + String out = output(currentDateTime, transactionId, "User", status, + request.getRequestURI() + " | " + action, changeNr, result); - // if (ex == null) { - // String out = currentDateTime + "Transaction ID = " + transactionId - // + "\nDone / Success\nHandling Request: " + request.getRequestURI() + "\n"; - // logger.info(out); - // System.out.println(out); - // } else { - // String out = "Transaction ID = " + transactionId + " " + currentDateTime + " [ERROR] handling request: " - // + request.getRequestURI() + "\n" + ex.getMessage() + "\n"; - // logger.error(out); - // System.err.println(out); - // } + if (ex == null) { + logger.info(out); + } else { + logger.error(out); + } + + System.out.println("\n" + out); + } } } }