Commit: 9c24ca4

Commit Details

SHA9c24ca40dbca995b0007e09659176f7c90e13392
Tree4c630341b69f778f78daa19bfebcc1bfdebe1836
Author<f69e50@finnacloud.com> 1766442705 +0300
Committer<f69e50@finnacloud.com> 1766442705 +0300
Message
add CI configuration and test script for Jenkins build
GPG Signature
-----BEGIN PGP SIGNATURE-----

iQJSBAABCAA8FiEEWJb139mJI+vZ81KkoAIVSUsXI0oFAmlJxtEeHHNvcGhpYS5l
cmFzbGFuQGZpbm5hY2xvdWQuY29tAAoJEKACFUlLFyNKwOEP/RJdPEnaGlYKr4zE
NkU5vATgzcYMHxCO6p3T6JqsfHsvv2d65vedOJ8LsSHFtT9AN/yXqZKV2722R5CG
WLsPzbVYJSXexKVZ8D7Zpf+DTu+/OAlWUE+XHMm+bJYVpDmqUo0ak/qX6vz6VYtW
bSRPMtM9g8WZKZqbBxLK7Sg1IkYFsFjEWmvn6mbD9C7k/0y4Sxp6Xee26xAx1sdI
+srAjwFgF+wJw0OAQoBA2jykTOiib93n9gdc9wbgl4AYUvdcaX3Hxv8LTl3Bu88N
2rqaL+OmjXtkFkEAiBaruvZZCt+aqp14gTgOM0wcLp1I1FP7uOFNOg0F0zSUawzY
Fuw3w6CKebkpbixGfxtJqrLl1IbPAhd92TxRVerZbDEnWpXW3a9HoGWRu5KFX/ny
ww+8M53ziWFNcHqpIyI5adRjG74C+5MdvC04J0/Sh1X8mykWcjE96Wu2/iRY9XQe
07I94ZVO0RaBSjSUnIItfhAgBXi03nzx+ZPw2tM4VHosn2zZjpzT8+KNQ0EXYhuT
AzgqcOKV94ZkM+48ZePvUFXsJxhMSkpXIQxGWWBnU9gjm3QAUsuCyqZGKXgVY9Vo
mDlLBl83Nhx+/7V8AFJO2gUmaph9YB01p3SMDfE++lLqX1BwdguFVrQib30OsRnq
e86d/6MrRABKf+FjtaulHY9+e8LS
=9ZJj
-----END PGP SIGNATURE-----

✓ Verified

File: src/main/java/com/paymentlink/exception/GlobalExceptionHandler.java

1 package com.paymentlink.exception;
2
3 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory;
5 import org.springframework.http.HttpStatus;
6 import org.springframework.web.bind.annotation.ControllerAdvice;
7 import org.springframework.web.bind.annotation.ExceptionHandler;
8 import org.springframework.web.bind.annotation.ResponseStatus;
9 import org.springframework.web.servlet.ModelAndView;
10
11 @ControllerAdvice
12 public class GlobalExceptionHandler {
13
14 private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
15
16 @ExceptionHandler(RegionBlockedException.class)
17 @ResponseStatus(HttpStatus.FORBIDDEN)
18 public ModelAndView handleRegionBlocked(RegionBlockedException ex) {
19 logger.warn("Region blocked: {} ({})", ex.getCountryName(), ex.getCountryCode());
20
21 ModelAndView mav = new ModelAndView("region-blocked");
22 mav.addObject("countryCode", ex.getCountryCode());
23 mav.addObject("countryName", ex.getCountryName());
24 mav.addObject("message", "Service is not available in your region");
25
26 return mav;
27 }
28
29 @ExceptionHandler(Exception.class)
30 @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
31 public ModelAndView handleGenericException(Exception ex) {
32 logger.error("Unexpected error", ex);
33
34 ModelAndView mav = new ModelAndView("error");
35 mav.addObject("message", "An unexpected error occurred");
36 mav.addObject("error", ex.getMessage());
37
38 return mav;
39 }
40 }
41