diff --git a/pom.xml b/pom.xml index 216b79d5..375ac9fc 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.18 + 3.4.6 @@ -21,9 +21,9 @@ A simple photo storage and gallery application built with Spring Boot and Oracle DB - 1.8 - 8 - 8 + 21 + 21 + 21 UTF-8 diff --git a/src/main/java/com/photoalbum/controller/DetailController.java b/src/main/java/com/photoalbum/controller/DetailController.java index d138ef95..1c091add 100644 --- a/src/main/java/com/photoalbum/controller/DetailController.java +++ b/src/main/java/com/photoalbum/controller/DetailController.java @@ -37,7 +37,7 @@ public String detail(@PathVariable String id, Model model) { try { Optional photoOpt = photoService.getPhotoById(id); - if (!photoOpt.isPresent()) { + if (photoOpt.isEmpty()) { return "redirect:/"; } diff --git a/src/main/java/com/photoalbum/controller/HomeController.java b/src/main/java/com/photoalbum/controller/HomeController.java index d9905d97..22d52509 100644 --- a/src/main/java/com/photoalbum/controller/HomeController.java +++ b/src/main/java/com/photoalbum/controller/HomeController.java @@ -54,7 +54,7 @@ public String index(Model model) { */ @PostMapping("/upload") @ResponseBody - public ResponseEntity> uploadPhotos(@RequestParam("files") List files) { + public ResponseEntity> uploadPhotos(@RequestParam List files) { Map response = new HashMap(); List> uploadedPhotos = new ArrayList>(); List> failedUploads = new ArrayList>(); diff --git a/src/main/java/com/photoalbum/controller/PhotoFileController.java b/src/main/java/com/photoalbum/controller/PhotoFileController.java index 2f314081..6013ab6e 100644 --- a/src/main/java/com/photoalbum/controller/PhotoFileController.java +++ b/src/main/java/com/photoalbum/controller/PhotoFileController.java @@ -45,7 +45,7 @@ public ResponseEntity servePhoto(@PathVariable String id) { logger.info("=== DEBUGGING: Serving photo request for ID {} ===", id); Optional photoOpt = photoService.getPhotoById(id); - if (!photoOpt.isPresent()) { + if (photoOpt.isEmpty()) { logger.warn("Photo with ID {} not found", id); return ResponseEntity.notFound().build(); } diff --git a/src/main/java/com/photoalbum/model/Photo.java b/src/main/java/com/photoalbum/model/Photo.java index d1cea3ec..1852ad7a 100644 --- a/src/main/java/com/photoalbum/model/Photo.java +++ b/src/main/java/com/photoalbum/model/Photo.java @@ -1,10 +1,10 @@ package com.photoalbum.model; -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Positive; -import javax.validation.constraints.Size; +import jakarta.persistence.*; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Positive; +import jakarta.validation.constraints.Size; import java.time.LocalDateTime; import java.util.UUID; diff --git a/src/main/java/com/photoalbum/service/impl/PhotoServiceImpl.java b/src/main/java/com/photoalbum/service/impl/PhotoServiceImpl.java index fa379a51..9211352c 100644 --- a/src/main/java/com/photoalbum/service/impl/PhotoServiceImpl.java +++ b/src/main/java/com/photoalbum/service/impl/PhotoServiceImpl.java @@ -91,7 +91,7 @@ public UploadResult uploadPhoto(MultipartFile file) { // Validate file size if (file.getSize() > maxFileSizeBytes) { result.setSuccess(false); - result.setErrorMessage(String.format("File size exceeds %dMB limit.", maxFileSizeBytes / 1024 / 1024)); + result.setErrorMessage("File size exceeds %dMB limit.".formatted(maxFileSizeBytes / 1024 / 1024)); logger.warn("Upload rejected: File size {} exceeds limit for {}", file.getSize(), file.getOriginalFilename()); return result; @@ -178,7 +178,7 @@ public UploadResult uploadPhoto(MultipartFile file) { public boolean deletePhoto(String id) { try { Optional photoOpt = photoRepository.findById(id); - if (!photoOpt.isPresent()) { + if (photoOpt.isEmpty()) { logger.warn("Photo with ID {} not found for deletion", id); return false; } @@ -203,7 +203,7 @@ public boolean deletePhoto(String id) { @Transactional(readOnly = true) public Optional getPreviousPhoto(Photo currentPhoto) { List olderPhotos = photoRepository.findPhotosUploadedBefore(currentPhoto.getUploadedAt()); - return olderPhotos.isEmpty() ? Optional.empty() : Optional.of(olderPhotos.get(0)); + return olderPhotos.isEmpty() ? Optional.empty() : Optional.of(olderPhotos.getFirst()); } /** @@ -213,7 +213,7 @@ public Optional getPreviousPhoto(Photo currentPhoto) { @Transactional(readOnly = true) public Optional getNextPhoto(Photo currentPhoto) { List newerPhotos = photoRepository.findPhotosUploadedAfter(currentPhoto.getUploadedAt()); - return newerPhotos.isEmpty() ? Optional.empty() : Optional.of(newerPhotos.get(0)); + return newerPhotos.isEmpty() ? Optional.empty() : Optional.of(newerPhotos.getFirst()); } /**