From a22bbce1f8af1748108bc9706e17e7c0b6e43b04 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 25 Jul 2019 19:23:17 +0200
Subject: [PATCH] we should properly handle nulls

---
 .../mapviewer/api/files/FileController.java   |  2 +-
 .../mapviewer/api/files/FileRestImpl.java     |  2 +-
 .../mapviewer/services/impl/FileService.java  | 20 ++++++++++---------
 .../services/interfaces/IFileService.java     |  4 ++--
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java b/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java
index 4b4a99b8a0..5064344421 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java
@@ -42,7 +42,7 @@ public class FileController extends BaseController {
 
   @PreAuthorize("@fileService.getOwnerByFileId(#id)?.login == authentication.name")
   @PostMapping(value = "/{id}:uploadContent")
-  public Map<String, Object> uploadContent(@PathVariable(value = "id") String id, @RequestBody byte[] data)
+  public Map<String, Object> uploadContent(@PathVariable(value = "id") Integer id, @RequestBody byte[] data)
       throws ObjectNotFoundException {
     return fileRest.uploadContent(id, data);
   }
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/files/FileRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/files/FileRestImpl.java
index 636cf3c005..fe478a55e4 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/files/FileRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/files/FileRestImpl.java
@@ -60,7 +60,7 @@ public class FileRestImpl extends BaseRestImpl {
     return result;
   }
 
-  public Map<String, Object> uploadContent(String id, byte[] data) throws ObjectNotFoundException {
+  public Map<String, Object> uploadContent(Integer id, byte[] data) throws ObjectNotFoundException {
     int fileId = Integer.valueOf(id);
     UploadedFileEntry fileEntry = uploadedFileEntryDao.getById(fileId);
     if (fileEntry == null) {
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/FileService.java b/service/src/main/java/lcsb/mapviewer/services/impl/FileService.java
index 8690ac68f5..0b94799a4c 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/FileService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/FileService.java
@@ -21,20 +21,22 @@ public class FileService implements IFileService {
   }
 
   @Override
-  public UploadedFileEntry getById(int id) {
+  public UploadedFileEntry getById(Integer id) {
     return uploadedFileEntryDao.getById(id);
   }
 
   @Override
-  public User getOwnerByFileId(int id) {
-    UploadedFileEntry entry = uploadedFileEntryDao.getById(id);
-    if (entry != null && entry.getOwner() != null) {
-      //it's lazy initialized
-      entry.getOwner().getLogin();
-      return uploadedFileEntryDao.getById(id).getOwner();
-    } else {
-      return null;
+  public User getOwnerByFileId(Integer id) {
+    if (id != null) {
+      UploadedFileEntry entry = uploadedFileEntryDao.getById(id);
+      if (entry != null && entry.getOwner() != null) {
+        // it's lazy initialized
+        entry.getOwner().getLogin();
+        return uploadedFileEntryDao.getById(id).getOwner();
+      }
     }
+    return null;
+
   }
 
 }
diff --git a/service/src/main/java/lcsb/mapviewer/services/interfaces/IFileService.java b/service/src/main/java/lcsb/mapviewer/services/interfaces/IFileService.java
index 4ea6298077..5598fecf5f 100644
--- a/service/src/main/java/lcsb/mapviewer/services/interfaces/IFileService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/interfaces/IFileService.java
@@ -5,8 +5,8 @@ import lcsb.mapviewer.model.user.User;
 
 public interface IFileService {
 
-  UploadedFileEntry getById(int id);
+  UploadedFileEntry getById(Integer id);
 
-  User getOwnerByFileId(int id);
+  User getOwnerByFileId(Integer id);
 
 }
-- 
GitLab