From 022024219e3103e0105813be22ce9dad3ee724ae Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 18 Jun 2024 18:24:47 +0200 Subject: [PATCH] Interceptor for Transaction Table --- .../com/nttdata/calender/WebMvcConfig.java | 14 +++++-- .../calender/api/KalenderRestController.java | 1 + .../calender/api/RequestInterceptor.java | 38 +++++++++++++++++++ .../com/nttdata/calender/changes/Change.java | 5 +-- 4 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java diff --git a/backend/src/main/java/com/nttdata/calender/WebMvcConfig.java b/backend/src/main/java/com/nttdata/calender/WebMvcConfig.java index ab87283..3fce4e6 100644 --- a/backend/src/main/java/com/nttdata/calender/WebMvcConfig.java +++ b/backend/src/main/java/com/nttdata/calender/WebMvcConfig.java @@ -1,27 +1,33 @@ package com.nttdata.calender; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import com.nttdata.calender.api.RequestInterceptor; import com.nttdata.calender.api.rsso.RssoInterceptor; @Configuration public class WebMvcConfig implements WebMvcConfigurer { private final RssoInterceptor sessionInterceptor; + private final RequestInterceptor requestInterceptor; - public WebMvcConfig(RssoInterceptor sessionInterceptor) { + @Autowired + public WebMvcConfig(RssoInterceptor sessionInterceptor, RequestInterceptor requestInterceptor) { this.sessionInterceptor = sessionInterceptor; + this.requestInterceptor = requestInterceptor; } /** - * Adds the session interceptor to the interceptor registry. + * Adds the session interceptor and request interceptor to the interceptor registry. * * @param registry the interceptor registry. */ @Override public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(sessionInterceptor); + registry.addInterceptor(sessionInterceptor).addPathPatterns("/**"); + registry.addInterceptor(requestInterceptor).addPathPatterns("/**"); } -} \ No newline at end of file +} 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 7cb2f1d..823437a 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -254,6 +254,7 @@ public class KalenderRestController { @ResponseBody public ChangeResponse getChanges(@RequestBody ChangeRequest request) throws ARException, NotFoundError, ValidationError { + return change.get(request); } diff --git a/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java new file mode 100644 index 0000000..c9ae1e0 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java @@ -0,0 +1,38 @@ +package com.nttdata.calender.api; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@Component +public class RequestInterceptor implements HandlerInterceptor { + + private static final Logger logger = LogManager.getLogger("application"); + private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @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); + String out = currentDateTime + " - handling request: " + request.getRequestURI(); + logger.info(out); + System.out.println(out); + return true; // Continue with the request + } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) + throws Exception { + if (ex == null) + System.out.println("Success in handling request: " + request.getRequestURI()); + else + System.out.println("Error in handling request: " + request.getRequestURI()); + } +} diff --git a/backend/src/main/java/com/nttdata/calender/changes/Change.java b/backend/src/main/java/com/nttdata/calender/changes/Change.java index 1500fc0..55f0c26 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/Change.java +++ b/backend/src/main/java/com/nttdata/calender/changes/Change.java @@ -87,7 +87,6 @@ public class Change { * @throws ValidationError if there is an invalid filter or qualification */ public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError { - LoggerTemplates log = new LoggerTemplates(api); var peopleFullName = processPeopleInfo(request); @@ -165,9 +164,7 @@ public class Change { .map(Value::getIntValue) .orElse(-1)); } - - - System.out.println("\nStatus: "+change.getState()); + change.setPackageInstanceId(getValueStringByID(entry, "PackageInstanceId")); change.setResourceName(getValueStringByID(entry, "ResourceName"));