From 8de5910cd8c3c785894020ca5b33291c19953906 Mon Sep 17 00:00:00 2001 From: Eirik Steira <eirsteir@stud.ntnu.no> Date: Mon, 23 Mar 2020 22:03:28 +0100 Subject: [PATCH] Implemented pdf generation on button click --- Album.pdf | 0 .../java/NTNU/IDATT1002/controllers/ViewAlbum.java | 12 +++++++++++- .../NTNU/IDATT1002/service/ImageAlbumService.java | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 Album.pdf diff --git a/Album.pdf b/Album.pdf new file mode 100644 index 00000000..e69de29b diff --git a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java index e717a4d3..d0b186b9 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java +++ b/src/main/java/NTNU/IDATT1002/controllers/ViewAlbum.java @@ -1,6 +1,9 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; +import NTNU.IDATT1002.models.ImageAlbum; +import NTNU.IDATT1002.service.ImageAlbumService; +import NTNU.IDATT1002.utils.PdfDocument; import javafx.event.ActionEvent; import javafx.scene.control.Button; import javafx.scene.control.TextField; @@ -41,6 +44,7 @@ public class ViewAlbum { public Button tbar_searchBtn; public Button tbar_albums; + /** * Method that changes scene to Main page * @param mouseEvent @@ -136,6 +140,12 @@ public class ViewAlbum { } public void createPdf(ActionEvent actionEvent) { - //write method that generates and downloads a PDF version of the album + ImageAlbumService imageAlbumService = new ImageAlbumService(); + Long currentAlbumId = App.ex.getChosenAlbumId(); + + ImageAlbum imageAlbum = imageAlbumService.getImageAlbumById(currentAlbumId) + .orElseThrow(IllegalArgumentException::new); + PdfDocument document = new PdfDocument(imageAlbum, "./Album.pdf"); + document.createPdfDocument(); } } diff --git a/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java b/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java index ab1fc169..cdcf9c2d 100644 --- a/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java +++ b/src/main/java/NTNU/IDATT1002/service/ImageAlbumService.java @@ -43,6 +43,10 @@ public class ImageAlbumService { this.tagRepository = new TagRepository(entityManager); } + public Optional<ImageAlbum> getImageAlbumById(Long imageAlbumId) { + return imageAlbumRepository.findById(imageAlbumId); + } + /** * Retrieves all image albums. * -- GitLab