From aa41b39354beb8db20a4da2473c2d8e0db43e292 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 20 Nov 2014 08:36:28 +0100
Subject: [PATCH] OO-1320: catch the case where the uploaded file is null

---
 .../ImportRepositoryEntryController.java      | 27 ++++++++++++-------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java b/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java
index 8c072a84ef7..df377b4c819 100644
--- a/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java
+++ b/src/main/java/org/olat/repository/ui/author/ImportRepositoryEntryController.java
@@ -199,18 +199,25 @@ public class ImportRepositoryEntryController extends FormBasicController {
 
 	private void doAnalyseUpload() {
 		File uploadedFile = uploadFileEl.getUploadFile();
-		String uploadedFilename = uploadFileEl.getUploadFileName();
-		
-		List<ResourceHandler> handlers = new ArrayList<>(3);
-		for(String type:repositoryHandlerFactory.getSupportedTypes()) {
-			RepositoryHandler handler = repositoryHandlerFactory.getRepositoryHandler(type);
-			ResourceEvaluation eval = handler.acceptImport(uploadedFile, uploadedFilename);
-			if(eval != null && eval.isValid()) {
-				handlers.add(new ResourceHandler(handler, eval));
+		if(uploadedFile == null) {//OO-1320
+			typeEl.setVisible(false);
+			selectType.setVisible(false);
+			uploadFileEl.reset();
+			importButton.setEnabled(false);
+		} else {
+			String uploadedFilename = uploadFileEl.getUploadFileName();
+			
+			List<ResourceHandler> handlers = new ArrayList<>(3);
+			for(String type:repositoryHandlerFactory.getSupportedTypes()) {
+				RepositoryHandler handler = repositoryHandlerFactory.getRepositoryHandler(type);
+				ResourceEvaluation eval = handler.acceptImport(uploadedFile, uploadedFilename);
+				if(eval != null && eval.isValid()) {
+					handlers.add(new ResourceHandler(handler, eval));
+				}
 			}
+	
+			updateResourceInfos(handlers);
 		}
-
-		updateResourceInfos(handlers);
 	}
 	
 	private void updateResourceInfos(List<ResourceHandler> handlers) {
-- 
GitLab