Skip to content
Snippets Groups Projects
Commit 75f23d3d authored by Eirik Steira's avatar Eirik Steira
Browse files

Add ImageAlbumDocument and implemented it in PdfDocument

Rename get/createPdfDocument to get/createDocument
parent ae11bae2
No related branches found
No related tags found
1 merge request!88Refactor/pdf creation
......@@ -2,9 +2,9 @@ package NTNU.IDATT1002.controllers;
import NTNU.IDATT1002.App;
import NTNU.IDATT1002.models.ImageAlbum;
import NTNU.IDATT1002.service.ImageAlbumDocument;
import NTNU.IDATT1002.service.ImageAlbumService;
import NTNU.IDATT1002.service.TagService;
import NTNU.IDATT1002.service.PdfDocument;
import javafx.application.HostServices;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
......@@ -374,9 +374,9 @@ public class ViewAlbum implements Initializable {
*/
public void createPdf(ActionEvent actionEvent) {
Long currentAlbumId = App.ex.getChosenAlbumId();
PdfDocument document = imageAlbumService.getPdfDocument(currentAlbumId);
ImageAlbumDocument document = imageAlbumService.getDocument(currentAlbumId);
displayPdfLink(document.getPdfDocument());
displayPdfLink(document.getDocument());
}
/**
......
package NTNU.IDATT1002.service;
import java.io.File;
public interface ImageAlbumDocument {
File getDocument();
void createDocument();
}
......@@ -107,7 +107,7 @@ public class ImageAlbumService {
}
public PdfDocument getPdfDocument(Long currentAlbumId) {
public ImageAlbumDocument getDocument(Long currentAlbumId) {
ImageAlbum imageAlbum = getImageAlbumById(currentAlbumId)
.orElseThrow(IllegalArgumentException::new);
......@@ -115,8 +115,8 @@ public class ImageAlbumService {
System.getProperty("user.home"),
imageAlbum.getTitle());
PdfDocument document = new PdfDocument(imageAlbum, destinationFile);
document.createPdfDocument();
ImageAlbumDocument document = new PdfDocument(imageAlbum, destinationFile);
document.createDocument();
logger.info("[x] Saved PDF document to " + destinationFile);
return document;
......
......@@ -18,7 +18,7 @@ import java.util.Date;
* @author Eirik Steira
* @version 1.0 22.03.20
*/
public class PdfDocument {
public class PdfDocument implements ImageAlbumDocument {
/**
* Height ratio satisfying a 16:9 ratio.
......@@ -48,14 +48,14 @@ public class PdfDocument {
this.document = new Document();
}
public File getPdfDocument() {
public File getDocument() {
return new File(DESTINATION_FILE);
}
/**
* Create a new pdf document.
*/
public void createPdfDocument() {
public void createDocument() {
try {
generatePdfDocument();
} catch (IOException | DocumentException e) {
......
......@@ -20,13 +20,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
class PdfDocumentTest {
private static final String PATH_TO_PDF = "src/test/java/tmp/generatedImageAlbumPdf.pdf";
private static final String PATH_SEPARATOR = File.pathSeparator;
private ImageAlbum imageAlbum;
private Image image;
private User user;
/**
......@@ -67,9 +62,9 @@ class PdfDocumentTest {
* Test that a pdf document is successfully created.
*/
@Test
void testCreatePdfDocumentCreatesPdfDocument() {
void testCreateDocumentCreatesPdfDocument() {
PdfDocument document = new PdfDocument(imageAlbum, PATH_TO_PDF);
document.createPdfDocument();
document.createDocument();
assertNotNull(document);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment