From ad276a6d166750cd8718d6a7e53a7ba015a3a2de Mon Sep 17 00:00:00 2001 From: Ludovic Claude <ludovic.claude54@gmail.com> Date: Mon, 26 Jun 2017 11:02:27 +0200 Subject: [PATCH] Update Spring, generate more complete error response --- pom.xml | 6 ++-- .../configuration/PortalErrorAttributes.java | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java diff --git a/pom.xml b/pom.xml index 86a2ae45a..492953053 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ <asciidoctor.maven.plugin.version>1.5.3</asciidoctor.maven.plugin.version> <asciidoctorj.pdf.version>1.5.0-alpha.11</asciidoctorj.pdf.version> <asciidoctorj.version>1.5.4</asciidoctorj.version> - <spring-data-commons.version>1.12.2.RELEASE</spring-data-commons.version> + <spring-data-commons.version>1.13.4.RELEASE</spring-data-commons.version> <angularjs.version>1.5.7</angularjs.version> <jquery.version>3.0.0</jquery.version> <bootstrap.version>3.3.7</bootstrap.version> @@ -43,9 +43,9 @@ <hibernate4-maven-plugin.version>1.1.0</hibernate4-maven-plugin.version> <flyway-core.version>4.0.3</flyway-core.version> <hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version> - <hibernate.version>4.3.8.Final</hibernate.version> + <hibernate.version>4.3.11.Final</hibernate.version> <spring-data-jpa.version>1.10.2.RELEASE</spring-data-jpa.version> - <spring-boot-starter-actuator.version>1.4.0.RELEASE</spring-boot-starter-actuator.version> + <spring-boot-starter-actuator.version>1.5.4.RELEASE</spring-boot-starter-actuator.version> <aspectjweaver.version>1.8.9</aspectjweaver.version> <woken-messages.version>76f49ed</woken-messages.version> <javax-inject.version>1</javax-inject.version> diff --git a/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java b/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java new file mode 100644 index 000000000..5c7f180be --- /dev/null +++ b/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java @@ -0,0 +1,31 @@ +package eu.hbp.mip.configuration; + +import org.apache.log4j.Logger; +import org.springframework.boot.autoconfigure.web.DefaultErrorAttributes; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; + +import java.util.HashMap; +import java.util.Map; + +@Component +public class PortalErrorAttributes extends DefaultErrorAttributes { + private static final Logger LOGGER = Logger.getLogger(PortalErrorAttributes.class); + + @Override + public Map<String, Object> getErrorAttributes(RequestAttributes requestAttributes, boolean includeStackTrace) { + Map<String, Object> errorAttributes = super.getErrorAttributes(requestAttributes, includeStackTrace); + + Throwable throwable = getError(requestAttributes); + LOGGER.warn("Reporting server error", throwable); + + Throwable cause = throwable.getCause(); + if (cause != null) { + Map<String, Object> causeErrorAttributes = new HashMap<>(); + causeErrorAttributes.put("exception", cause.getClass().getName()); + causeErrorAttributes.put("message", cause.getMessage()); + errorAttributes.put("cause", causeErrorAttributes); + } + return errorAttributes; + } +} -- GitLab