diff --git a/src/main/java/NTNU/IDATT1002/controllers/Upload.java b/src/main/java/NTNU/IDATT1002/controllers/Upload.java index 5b80584857109ee3ad1a8ac6ffb1e2e2600d4a8a..1c0ab1980d68be0f04ab5b2df4f08d0334b213a7 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/Upload.java +++ b/src/main/java/NTNU/IDATT1002/controllers/Upload.java @@ -7,6 +7,9 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; +import java.util.ArrayList; +import javafx.event.ActionEvent; +import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.input.DragEvent; import javafx.scene.input.TransferMode; @@ -50,6 +53,14 @@ public class Upload extends NavBarController { // Show save file dialog List<File> list = fileChooser.showOpenMultipleDialog(uploadBtn.getScene().getWindow()); + for(File file : list) { + if(file.length() > 4100000) { + Alert alert = new Alert(Alert.AlertType.ERROR, file.getName() + " is too large. File limit is 4.1MB"); + alert.show(); + list = new ArrayList<>(); + } + } + if(!list.isEmpty()){ //Store files in DataExchange App.ex.setUploadedFiles(list); diff --git a/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java b/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java index 8f26e9def2a737fa0c78078eac47490335e77881..821041e7895d35e783473c63c10bca43909b5758 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java +++ b/src/main/java/NTNU/IDATT1002/controllers/UploadImages.java @@ -251,6 +251,11 @@ public class UploadImages implements Initializable { //Each of the uploaded images in DataExchange index match on each container displaying it on the page File file = App.ex.getUploadedFiles().get(i); + if(file.length() > 4100000) { + Alert alert = new Alert(Alert.AlertType.INFORMATION, file.getName() + "is too large. File limit is 4.1MB"); + alert.show(); + break; + } String tagsString = ((TextField) tagsField).getText(); List<Tag> tags = TagService.getTagsFromString(tagsString); diff --git a/src/main/java/NTNU/IDATT1002/service/ImageService.java b/src/main/java/NTNU/IDATT1002/service/ImageService.java index e9d6113ebded6b4925a641bcc4a724b041c9a555..af5347fae8cfe1b740e3397bb99c0f20cc4b2e22 100644 --- a/src/main/java/NTNU/IDATT1002/service/ImageService.java +++ b/src/main/java/NTNU/IDATT1002/service/ImageService.java @@ -11,6 +11,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Image service @@ -22,6 +24,7 @@ public class ImageService { private ImageRepository imageRepository; private TagService tagService; + private static Logger logger = LoggerFactory.getLogger(ImageService.class); /** * Inject entity manager instance to the repositories. @@ -39,11 +42,12 @@ public class ImageService { * @return Optional containing the saved image */ public Optional<Image> createImage(User user, File file, List<Tag> tags) { - + if(file == null) { + logger.error("[x] An error occurred when trying to create a image; the file was null and the image could not be created"); + return Optional.empty(); + } GeoLocation geoLocation = MetaDataExtractor.getGeoLocation(file); - if(file == null) - return Optional.empty(); Image image = new Image(); Metadata metadata = new Metadata();