diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java index 86c903e1ec52b13d0acba3150c227ee0b1ec642f..233360c997d0aa7affa56dc732505b08c15dfb89 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java @@ -112,12 +112,14 @@ public class AccountService implements Resettable, AccessAllEntities<Account>, A @Override public void deleteAll() { + LOGGER.info("Resetting accounts..."); deselectAllAccounts(); User user = userRepository.findByName("Default"); user.setSelectedAccount(null); userRepository.save(user); accountRepository.deleteAll(); + LOGGER.info("All accounts reset."); } @Override diff --git a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java index 9086780d06fc43b35064ca29c2f0bc99fb76bbe2..0d010094f690fc4c8fae01f51e6a56f719562cef 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java @@ -82,7 +82,9 @@ public class CategoryService implements Resettable, AccessAllEntities<Category>, @Override public void deleteAll() { + LOGGER.info("Resetting categories..."); categoryRepository.deleteAll(); + LOGGER.info("All categories reset."); } @Override diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartService.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartService.java index b0beea706b7821743a021b73e84de212bec62ab4..c0c1bc979dad2d897ffbb36eb4ddb6942f112901 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartService.java @@ -39,7 +39,9 @@ public class ChartService implements Resettable, AccessAllEntities<Chart> @Override public void deleteAll() { + LOGGER.info("Resetting charts..."); chartRepository.deleteAll(); + LOGGER.info("All charts reset."); } @SuppressWarnings("OptionalIsPresent") diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java index f9a6a9d0f9146ad611a81951c80c9f9186887394..ae563e67a67e3d2fc8b9e5f42f15f19cd21fb340 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java @@ -16,6 +16,7 @@ import de.deadlocker8.budgetmaster.icon.IconService; import de.deadlocker8.budgetmaster.images.Image; import de.deadlocker8.budgetmaster.images.ImageService; import de.deadlocker8.budgetmaster.repeating.RepeatingOption; +import de.deadlocker8.budgetmaster.services.Resettable; import de.deadlocker8.budgetmaster.settings.SettingsService; import de.deadlocker8.budgetmaster.tags.TagService; import de.deadlocker8.budgetmaster.templategroup.TemplateGroup; @@ -80,78 +81,18 @@ public class DatabaseService public void reset() { - resetTransactions(); - resetTemplates(); - resetCategories(); - resetAccounts(); - resetTags(); - resetCharts(); - resetIcons(); - resetImages(); - } - - private void resetAccounts() - { - LOGGER.info("Resetting accounts..."); - accountService.deleteAll(); - accountService.createDefaults(); - LOGGER.info("All accounts reset."); - } - - private void resetCategories() - { - LOGGER.info("Resetting categories..."); - categoryService.deleteAll(); - categoryService.createDefaults(); - LOGGER.info("All categories reset."); - } - - private void resetTransactions() - { - LOGGER.info("Resetting transactions..."); - transactionService.deleteAll(); - transactionService.createDefaults(); - LOGGER.info("All transactions reset."); - } - - private void resetTags() - { - LOGGER.info("Resetting tags..."); - tagService.deleteAll(); - tagService.createDefaults(); - LOGGER.info("All tags reset."); - } + final List<Resettable> services = List.of(this.transactionService, templateService, categoryService, accountService, tagService, chartService, iconService, imageService); - private void resetTemplates() - { - LOGGER.info("Resetting templates..."); - templateService.deleteAll(); - templateService.createDefaults(); - LOGGER.info("All templates reset."); - } - - private void resetCharts() - { - LOGGER.info("Resetting charts..."); - chartService.deleteAll(); - chartService.createDefaults(); - LOGGER.info("All charts reset."); - } - - private void resetImages() - { - LOGGER.info("Resetting images..."); - imageService.deleteAll(); - imageService.createDefaults(); - LOGGER.info("All images reset."); - } + for(Resettable service : services) + { + service.deleteAll(); + } - private void resetIcons() - { - LOGGER.info("Resetting icons..."); - iconService.deleteAll(); - iconService.createDefaults(); - LOGGER.info("All icons reset."); + // create defaults after deletion to avoid deletion of newly created defaults + for(Resettable service : services) + { + service.createDefaults(); + } } public void rotatingBackup(Path backupFolderPath) diff --git a/src/main/java/de/deadlocker8/budgetmaster/icon/IconService.java b/src/main/java/de/deadlocker8/budgetmaster/icon/IconService.java index 7b8e207185a0f3688f01cc0bc331af927f744b62..e28ec2ed73688c23d285d13a34b3f41a8c6a5e5a 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/icon/IconService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/icon/IconService.java @@ -7,6 +7,8 @@ import de.deadlocker8.budgetmaster.images.ImageRepository; import de.deadlocker8.budgetmaster.services.Resettable; import de.deadlocker8.budgetmaster.templates.Template; import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -17,6 +19,8 @@ import java.util.Optional; @Service public class IconService implements Resettable { + private static final Logger LOGGER = LoggerFactory.getLogger(IconService.class); + private final IconRepository iconRepository; private final ImageRepository imageRepository; @@ -36,6 +40,8 @@ public class IconService implements Resettable @Transactional public void deleteAll() { + LOGGER.info("Resetting icons..."); + final List<Icon> icons = iconRepository.findAll(); for(Icon icon : icons) { @@ -43,6 +49,7 @@ public class IconService implements Resettable } iconRepository.deleteAll(); + LOGGER.info("All icons reset."); } @Transactional diff --git a/src/main/java/de/deadlocker8/budgetmaster/images/ImageService.java b/src/main/java/de/deadlocker8/budgetmaster/images/ImageService.java index c336bb9660c9a6cb98f24ab9e19fee0932114e2c..9d52c357bb49c08066fdbc19fd1535d2a849b1f6 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/images/ImageService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/images/ImageService.java @@ -5,6 +5,8 @@ import de.deadlocker8.budgetmaster.icon.IconService; import de.deadlocker8.budgetmaster.services.Resettable; import de.thecodelabs.utils.util.Localization; import org.apache.commons.lang3.ArrayUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -17,6 +19,9 @@ import java.util.Optional; @Service public class ImageService implements Resettable { + private static final Logger LOGGER = LoggerFactory.getLogger(ImageService.class); + + private final ImageRepository imageRepository; private final IconService iconService; @@ -36,6 +41,7 @@ public class ImageService implements Resettable @Transactional public void deleteAll() { + LOGGER.info("Resetting images..."); final List<Image> images = imageRepository.findAll(); for(Image image : images) { @@ -43,6 +49,7 @@ public class ImageService implements Resettable } imageRepository.deleteAll(); + LOGGER.info("All images reset."); } @Transactional diff --git a/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java b/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java index 054d4f5bc6089adebd21c4eb80a905c0c16c5d0d..87f43c724e30721ecb361d60e50902ba444267be 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java @@ -3,6 +3,8 @@ package de.deadlocker8.budgetmaster.tags; import de.deadlocker8.budgetmaster.services.AccessAllEntities; import de.deadlocker8.budgetmaster.services.Resettable; import org.padler.natorder.NaturalOrderComparator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -13,6 +15,8 @@ import java.util.Map; @Service public class TagService implements Resettable, AccessAllEntities<Tag> { + private static final Logger LOGGER = LoggerFactory.getLogger(TagService.class); + private final TagRepository tagRepository; @Autowired @@ -29,7 +33,9 @@ public class TagService implements Resettable, AccessAllEntities<Tag> @Override public void deleteAll() { + LOGGER.info("Resetting tags..."); tagRepository.deleteAll(); + LOGGER.info("All tags reset."); } @Override diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java index 3e9a4a7a421f8b80bf205056a4bbad9bd5225f38..c6fa79bb6292a64e35cf053371e09eaf8a8b7b0b 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateService.java @@ -60,7 +60,9 @@ public class TemplateService implements Resettable, AccessAllEntities<Template>, @Override public void deleteAll() { + LOGGER.info("Resetting templates..."); templateRepository.deleteAll(); + LOGGER.info("All templates reset."); } @Override diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java index 6e8d3e92216714d4979603f730498827ebf3a3c7..2b26fd35a39be8cbe271b2496a9b52bd6d2565f4 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java @@ -203,10 +203,12 @@ public class TransactionService implements Resettable @Override public void deleteAll() { + LOGGER.info("Resetting transactions..."); for(Transaction transaction : transactionRepository.findAll()) { deleteTransactionInRepo(transaction.getID()); } + LOGGER.info("All transactions reset."); } public void deleteTransactionsWithAccount(Account account)