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