From 29bc869b31629f003478b36c5bd3bae66240d54e Mon Sep 17 00:00:00 2001 From: Michal Vala Date: Mon, 29 Oct 2018 10:10:11 +0100 Subject: [PATCH] duplicated exception handler to one global --- .../boxitory/controller/BoxController.java | 14 ------------- .../controller/DownloadController.java | 14 ------------- .../GlobalControllerExceptionHandler.java | 21 +++++++++++++++++++ 3 files changed, 21 insertions(+), 28 deletions(-) create mode 100644 src/main/java/cz/sparko/boxitory/controller/GlobalControllerExceptionHandler.java diff --git a/src/main/java/cz/sparko/boxitory/controller/BoxController.java b/src/main/java/cz/sparko/boxitory/controller/BoxController.java index 60269c3..8687bc3 100644 --- a/src/main/java/cz/sparko/boxitory/controller/BoxController.java +++ b/src/main/java/cz/sparko/boxitory/controller/BoxController.java @@ -6,11 +6,8 @@ import cz.sparko.boxitory.service.BoxRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -52,15 +49,4 @@ public String latestBoxVersion(@PathVariable String boxName) { .map(BoxVersion::getVersion) .orElseThrow(() -> NotFoundException.boxNotFound(boxName)); } - - @ExceptionHandler - public ResponseEntity handleException(Exception e) { - final HttpStatus status; - if (e instanceof NotFoundException) { - status = HttpStatus.NOT_FOUND; - } else { - status = HttpStatus.INTERNAL_SERVER_ERROR; - } - return new ResponseEntity<>(e.getMessage(), status); - } } diff --git a/src/main/java/cz/sparko/boxitory/controller/DownloadController.java b/src/main/java/cz/sparko/boxitory/controller/DownloadController.java index 661d23b..9b942e4 100644 --- a/src/main/java/cz/sparko/boxitory/controller/DownloadController.java +++ b/src/main/java/cz/sparko/boxitory/controller/DownloadController.java @@ -6,12 +6,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.util.FileCopyUtils; -import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -53,15 +50,4 @@ public void downloadLatestBox( LOG.info("Downloading latest version of box [{}], provider [{}]", boxName, boxProvider); downloadBox(response, boxName, boxProvider, boxRepository.latestVersionOfBox(boxName, boxProvider)); } - - @ExceptionHandler - public ResponseEntity handleException(Exception e) { - final HttpStatus status; - if (e instanceof NotFoundException) { - status = HttpStatus.NOT_FOUND; - } else { - status = HttpStatus.INTERNAL_SERVER_ERROR; - } - return new ResponseEntity<>(e.getMessage(), status); - } } diff --git a/src/main/java/cz/sparko/boxitory/controller/GlobalControllerExceptionHandler.java b/src/main/java/cz/sparko/boxitory/controller/GlobalControllerExceptionHandler.java new file mode 100644 index 0000000..3a09d37 --- /dev/null +++ b/src/main/java/cz/sparko/boxitory/controller/GlobalControllerExceptionHandler.java @@ -0,0 +1,21 @@ +package cz.sparko.boxitory.controller; + +import cz.sparko.boxitory.conf.NotFoundException; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; + +@ControllerAdvice +public class GlobalControllerExceptionHandler { + @ExceptionHandler + public ResponseEntity handleException(Exception e) { + final HttpStatus status; + if (e instanceof NotFoundException) { + status = HttpStatus.NOT_FOUND; + } else { + status = HttpStatus.INTERNAL_SERVER_ERROR; + } + return new ResponseEntity<>(e.getMessage(), status); + } +}