From 3d57531637638d226f7f73717514bec634518eb7 Mon Sep 17 00:00:00 2001
From: Daniel Vogel <daniel.vogel@mni.thm.de>
Date: Thu, 29 Jan 2015 00:48:13 +0100
Subject: [PATCH] Added improved error message for too large images

---
 .../controller/SecurityExceptionControllerAdvice.java       | 6 ++++++
 src/main/java/de/thm/arsnova/services/SessionService.java   | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java b/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java
index 2b4608d97..611f8e132 100644
--- a/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java
+++ b/src/main/java/de/thm/arsnova/controller/SecurityExceptionControllerAdvice.java
@@ -37,6 +37,7 @@ import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.NotImplementedException;
 import de.thm.arsnova.exceptions.PreconditionFailedException;
 import de.thm.arsnova.exceptions.UnauthorizedException;
+import de.thm.arsnova.exceptions.RequestEntityTooLargeException;
 
 @ControllerAdvice
 public class SecurityExceptionControllerAdvice {
@@ -98,4 +99,9 @@ public class SecurityExceptionControllerAdvice {
 	@ExceptionHandler(NotImplementedException.class)
 	public void handleNotImplementedException(final Exception e, final HttpServletRequest request) {
 	}
+	
+	@ResponseStatus(HttpStatus.REQUEST_ENTITY_TOO_LARGE)
+	@ExceptionHandler(RequestEntityTooLargeException.class)
+	public void handleRequestEntityTooLargeException(final Exception e, final HttpServletRequest request) {
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/services/SessionService.java b/src/main/java/de/thm/arsnova/services/SessionService.java
index 37b9f8b4c..47954ec10 100644
--- a/src/main/java/de/thm/arsnova/services/SessionService.java
+++ b/src/main/java/de/thm/arsnova/services/SessionService.java
@@ -44,6 +44,7 @@ import de.thm.arsnova.entities.User;
 import de.thm.arsnova.exceptions.ForbiddenException;
 import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.BadRequestException;
+import de.thm.arsnova.exceptions.RequestEntityTooLargeException;
 import de.thm.arsnova.socket.ARSnovaSocketIOServer;
 
 @Service
@@ -218,7 +219,7 @@ public class SessionService implements ISessionService {
 			final int fileSize = (int) ((session.getPpLogo().length()-814)/1.37);
 			if (fileSize > uploadFileSizeByte) {
 				LOGGER.error("Could not save file. File is too large with " + fileSize + " Byte.");
-				throw new BadRequestException();
+				throw new RequestEntityTooLargeException();
 			}
 		}
 		
-- 
GitLab