From c03426f0e18e1128f45ec1972e2b846d07f373c0 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Wed, 19 Nov 2014 09:35:31 +0100
Subject: [PATCH] OO-1314: gracefully survive the scaling of a none existing
 image, show a warning with a message if the scaling of the image is not
 successful

---
 .../olat/core/commons/services/image/spi/ImageHelperImpl.java | 3 +++
 .../java/org/olat/repository/_i18n/LocalStrings_de.properties | 2 ++
 .../ui/author/RepositoryEditDescriptionController.java        | 4 ++--
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/core/commons/services/image/spi/ImageHelperImpl.java b/src/main/java/org/olat/core/commons/services/image/spi/ImageHelperImpl.java
index 80d34da4c07..08fbfbac79c 100644
--- a/src/main/java/org/olat/core/commons/services/image/spi/ImageHelperImpl.java
+++ b/src/main/java/org/olat/core/commons/services/image/spi/ImageHelperImpl.java
@@ -247,6 +247,9 @@ public class ImageHelperImpl extends AbstractImageHelper {
 	 */
 	private ImageInputStream getInputStream(VFSLeaf leaf)
 	throws IOException {
+		if(leaf == null) {
+			return null;
+		}
 		if(leaf instanceof LocalFileImpl) {
 			LocalFileImpl file = (LocalFileImpl)leaf;
 			if(file.getBasefile() != null) {
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
index 3ab0efb395e..6b5956aab4a 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
@@ -209,6 +209,8 @@ cif.error.description.empty=Bitte f\u00FCllen Sie das Feld "Beschreibung" aus.
 cif.error.displayname.empty=Bitte f\u00FCllen Sie das Feld "Titel der Lernressource" aus.
 cif.error.idnotint=Diese Identifikationsnummer existiert nicht.
 cif.error.resourcename.empty=Bitte f\u00FCllen Sie das Feld "Referenz" aus.
+cif.error.image=Das Titelbild könnte nicht richtig gespeichert werden.
+cif.error.movie=Der Teaser-Film könnte nicht richtig gespeichert werden.
 cif.expenditureOfWork=Zeitaufwand
 cif.externalid=Extern ID
 cif.externalref=Kennzeichen
diff --git a/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java b/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java
index b7772ff2910..4884adb458c 100644
--- a/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java
+++ b/src/main/java/org/olat/repository/ui/author/RepositoryEditDescriptionController.java
@@ -466,7 +466,7 @@ public class RepositoryEditDescriptionController extends FormBasicController {
 			VFSLeaf newFile = fileUpload.moveUploadFileTo(container);//give it it's real name and extension
 			boolean ok = repositoryManager.setImage(newFile, repositoryEntry);
 			if (!ok) {
-				showError("Failed");
+				showWarning("cif.error.image");
 			} else {
 				VFSLeaf image = repositoryManager.getImage(repositoryEntry);
 				if(image instanceof  LocalFileImpl) {
@@ -481,7 +481,7 @@ public class RepositoryEditDescriptionController extends FormBasicController {
 			VFSContainer m = (VFSContainer)mediaContainer.resolve("media");
 			VFSLeaf newFile = movieUpload.moveUploadFileTo(m);
 			if (newFile == null) {
-				showError("Failed");
+				showWarning("cif.error.movie");
 			} else {
 				String filename = movieUpload.getUploadFileName();
 				String extension = FileUtils.getFileSuffix(filename);
-- 
GitLab