Browse Source

Add appendixImage to repository and service (untested)

Andrew Grant 1 month ago
parent
commit
e2766c7726

+ 24 - 0
src/main/java/scot/carricksoftware/grants/repositories/images/AppendixImageRepository.java

@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 28/03/2025, 11:02. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.repositories.images;
+
+import org.springframework.data.repository.PagingAndSortingRepository;
+import scot.carricksoftware.grants.domains.images.AppendixImage;
+
+import java.util.Optional;
+
+public interface AppendixImageRepository extends PagingAndSortingRepository<AppendixImage, Long> {
+
+    AppendixImage save(AppendixImage image);
+
+    long count();
+
+    void deleteById(Long id);
+
+    Optional<AppendixImage> findById(Long id);
+
+    Iterable<AppendixImage> findAll();
+}

+ 40 - 0
src/main/java/scot/carricksoftware/grants/services/images/appendiximage/AppendixImageService.java

@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 28/03/2025, 12:33. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.services.images.appendiximage;
+
+import org.springframework.stereotype.Service;
+import scot.carricksoftware.grants.commands.images.AppendixImageCommand;
+import scot.carricksoftware.grants.domains.images.AppendixImage;
+
+import java.util.List;
+
+
+@SuppressWarnings("unused")
+@Service
+public interface AppendixImageService {
+
+    @SuppressWarnings("unused")
+    AppendixImage findById(Long id);
+
+    @SuppressWarnings({"unused", "UnusedReturnValue"})
+    AppendixImage save(AppendixImage appendixImage);
+
+    @SuppressWarnings("unused")
+    void deleteById(Long id);
+
+    @SuppressWarnings("unused")
+    List<AppendixImage> getPagedAppendixImages(int pageNumber);
+
+    @SuppressWarnings("unused")
+    long count();
+
+
+    @SuppressWarnings("unused")
+    AppendixImageCommand saveAppendixImageCommand(AppendixImageCommand AppendixImageCommand);
+
+    @SuppressWarnings("unused")
+    List<AppendixImage> findAll();
+}

+ 104 - 0
src/main/java/scot/carricksoftware/grants/services/images/appendiximage/AppendixImageServiceImpl.java

@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 11/03/2025, 20:23. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grants.services.images.appendiximage;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import scot.carricksoftware.grants.commands.images.AppendixImageCommand;
+import scot.carricksoftware.grants.constants.ApplicationConstants;
+import scot.carricksoftware.grants.converters.images.appendiximage.AppendixImageCommandConverterImpl;
+import scot.carricksoftware.grants.converters.images.appendiximage.AppendixImageConverterImpl;
+import scot.carricksoftware.grants.domains.images.AppendixImage;
+import scot.carricksoftware.grants.repositories.images.AppendixImageRepository;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class AppendixImageServiceImpl implements AppendixImageService {
+    private static final Logger logger = LogManager.getLogger(AppendixImageServiceImpl.class);
+
+    @SuppressWarnings({"unused"})
+    private final AppendixImageRepository appendixImageRepository;
+    private final AppendixImageConverterImpl appendixImageConverterImpl;
+    private final AppendixImageCommandConverterImpl appendixImageCommandConverterImpl;
+
+    public AppendixImageServiceImpl(
+            AppendixImageRepository appendixImageRepository,
+            AppendixImageConverterImpl appendixImageConverterImpl,
+            AppendixImageCommandConverterImpl appendixImageCommandConverterImpl) {
+
+        this.appendixImageRepository = appendixImageRepository;
+        this.appendixImageConverterImpl = appendixImageConverterImpl;
+        this.appendixImageCommandConverterImpl = appendixImageCommandConverterImpl;
+    }
+
+
+    @Override
+    public AppendixImage findById(Long id) {
+        logger.debug("AppendixImageServiceImpl::findById");
+        Optional<AppendixImage> appendixImageOptional = appendixImageRepository.findById(id);
+        return appendixImageOptional.orElse(null);
+    }
+
+    @Override
+    public AppendixImage save(AppendixImage appendixImage) {
+        logger.debug("AppendixImageServiceImpl::save");
+        return appendixImageRepository.save(appendixImage);
+    }
+
+    @Override
+    public void deleteById(Long id) {
+        logger.debug("AppendixImageServiceImpl::deleteBy");
+        appendixImageRepository.deleteById(id);
+    }
+    
+    
+    @Override
+    public List<AppendixImage> getPagedAppendixImages(int pageNumber) {
+        logger.debug("AppendixImageServiceImpl::getPagedCountries");
+        Pageable paging = PageRequest.of(pageNumber, ApplicationConstants.DEFAULT_PAGE_SIZE, getSort());
+        Page<AppendixImage> pagedResult = appendixImageRepository.findAll(paging);
+        return pagedResult.getContent();
+    }
+
+    private Sort getSort() {
+        return Sort.by(Sort.Direction.ASC, "id");
+    }
+
+    @Override
+    public long count() {
+        logger.debug("AppendixImageServiceImpl::count");
+        return appendixImageRepository.count();
+    }
+
+    @Transactional
+    @Override
+    public AppendixImageCommand saveAppendixImageCommand(AppendixImageCommand appendixImageCommand) {
+        logger.debug("AppendixImageServiceImpl::saveAppendixImageCommand");
+        AppendixImage appendixImage = appendixImageCommandConverterImpl.convert(appendixImageCommand);
+        AppendixImage savedAppendixImage = appendixImageRepository.save(appendixImage);
+        return appendixImageConverterImpl.convert(savedAppendixImage);
+
+    }
+
+    @Override
+    public List<AppendixImage> findAll() {
+        logger.debug("AppendixImageServiceImpl::findAll");
+        List<AppendixImage> result = new ArrayList<>();
+        Iterable<AppendixImage> appendixImageIterable = appendixImageRepository.findAll();
+        appendixImageIterable.forEach(result::add);
+        return result;
+    }
+
+}