From 93cbf58ba65978ccb947f149eda6e71c34eabc30 Mon Sep 17 00:00:00 2001 From: keahorvath Date: Fri, 10 Mar 2023 15:59:08 +0100 Subject: [PATCH] debut --- .../src/main/java/pdl/backend/ImageDao.java | 97 ++++++++++++------ .../src/main/resources/{ => images}/test.jpg | Bin .../pdl/backend/BackendApplicationTests.java | 12 ++- 3 files changed, 73 insertions(+), 36 deletions(-) rename backend/src/main/resources/{ => images}/test.jpg (100%) diff --git a/backend/src/main/java/pdl/backend/ImageDao.java b/backend/src/main/java/pdl/backend/ImageDao.java index ca1474b..047a881 100644 --- a/backend/src/main/java/pdl/backend/ImageDao.java +++ b/backend/src/main/java/pdl/backend/ImageDao.java @@ -1,5 +1,6 @@ package pdl.backend; +import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.util.ArrayList; @@ -15,44 +16,74 @@ import org.springframework.stereotype.Repository; @Repository public class ImageDao implements Dao { - private final Map images = new HashMap<>(); + private final Map images = new HashMap<>(); - public ImageDao() { - final ClassPathResource imgFile = new ClassPathResource("test.jpg"); - byte[] fileContent; - try { - fileContent = Files.readAllBytes(imgFile.getFile().toPath()); - Image img = new Image("test.jpg", fileContent); - images.put(img.getId(), img); - } catch (final IOException e) { - e.printStackTrace(); - } - } + public ImageDao() { + try { + final File folder = new File("backend/src/main/resources/images"); + getAllImages(folder); + } catch (final Exception e) { + e.printStackTrace(); + } + System.out.println("IMAGEEEEEEEEEEEEEEs"); + for (Image img : retrieveAll()) { + System.out.println(img.getName()); + } + System.out.println("ENNNNNNNNNNNNNNd"); - @Override - public Optional retrieve(final long id) { - return Optional.ofNullable(images.get(id)); - } + } - @Override - public List retrieveAll() { - return new ArrayList(images.values()); - } + public void getAllImages(final File folder) { + for (final File fileEntry : folder.listFiles()) { + if (fileEntry.isDirectory()) { + getAllImages(fileEntry); + } else { + final ClassPathResource imgFile = new ClassPathResource(fileEntry.getName()); + String extension = ""; - @Override - public void create(final Image img) { - images.put(img.getId(), img); - } + int i = fileEntry.getName().lastIndexOf('.'); + if (i > 0) { + extension = fileEntry.getName().substring(i + 1); + } + if (!extension.equals("jpg") && !extension.equals("pgn")) { + continue; + } + byte[] fileContent; + try { + fileContent = Files.readAllBytes(imgFile.getFile().toPath()); + Image img = new Image(imgFile.getFilename(), fileContent); + images.put(img.getId(), img); + } catch (final IOException e) { + e.printStackTrace(); + } + } + } + } - @Override - public void update(final Image img, final String[] params) { - img.setName(Objects.requireNonNull(params[0], "Name cannot be null")); + @Override + public Optional retrieve(final long id) { + return Optional.ofNullable(images.get(id)); + } - images.put(img.getId(), img); - } + @Override + public List retrieveAll() { + return new ArrayList(images.values()); + } - @Override - public void delete(final Image img) { - images.remove(img.getId()); - } + @Override + public void create(final Image img) { + images.put(img.getId(), img); + } + + @Override + public void update(final Image img, final String[] params) { + img.setName(Objects.requireNonNull(params[0], "Name cannot be null")); + + images.put(img.getId(), img); + } + + @Override + public void delete(final Image img) { + images.remove(img.getId()); + } } diff --git a/backend/src/main/resources/test.jpg b/backend/src/main/resources/images/test.jpg similarity index 100% rename from backend/src/main/resources/test.jpg rename to backend/src/main/resources/images/test.jpg diff --git a/backend/src/test/java/pdl/backend/BackendApplicationTests.java b/backend/src/test/java/pdl/backend/BackendApplicationTests.java index b316b44..cb692e0 100644 --- a/backend/src/test/java/pdl/backend/BackendApplicationTests.java +++ b/backend/src/test/java/pdl/backend/BackendApplicationTests.java @@ -1,13 +1,19 @@ package pdl.backend; +import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class BackendApplicationTests { - @Test - void contextLoads() { - } + @Test + void contextLoads() { + } + @Test + @Order(1) + public void appLaunchShouldReturnError() throws Exception { + + } }