diff --git a/build/screenshots/Screenshot-Database.json b/build/screenshots/Screenshot-Database.json index 8f6325182558cda003c1a3c479a38df2475cd0ad..e37e0e5864d80fc3ba84c3d29e9c01d4b131284b 100644 --- a/build/screenshots/Screenshot-Database.json +++ b/build/screenshots/Screenshot-Database.json @@ -128,7 +128,7 @@ "color": "#5ac8fa", "type": "CUSTOM" }, - "name": "Internet and Phone \t", + "name": "Internet and Phone", "description": "", "tags": [], "repeatingOption": { diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java index e7478a1325500ec4de8887cdaff5f0878f65ee44..50a1192349db25d9bc30cec8be3599e50c64e0b9 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java @@ -39,17 +39,22 @@ public class ImportService public void importDatabase(Database database, AccountMatchList accountMatchList) { + LOGGER.debug("Importing database..."); importCategories(database); importAccounts(database, accountMatchList); importTransactions(database); + LOGGER.debug("Importing database DONE"); } private void importCategories(Database database) { + List<Category> categories = database.getCategories(); + LOGGER.debug("Importing " + categories.size() + " categories..."); List<Transaction> alreadyUpdatedTransactions = new ArrayList<>(); - for(Category category : database.getCategories()) + for(Category category : categories) { + LOGGER.debug("Importing category " + category.getName()); Category existingCategory; if(category.getType().equals(CategoryType.NONE) || category.getType().equals(CategoryType.REST)) { @@ -88,6 +93,8 @@ public class ImportService alreadyUpdatedTransactions.addAll(updateCategoriesForTransactions(transactions, oldCategoryID, newCategoryID)); } + + LOGGER.debug("Importing categories DONE"); } public List<Transaction> updateCategoriesForTransactions(List<Transaction> transactions, int oldCategoryID, int newCategoryID) @@ -107,10 +114,13 @@ public class ImportService private void importAccounts(Database database, AccountMatchList accountMatchList) { + LOGGER.debug("Importing " + accountMatchList.getAccountMatches().size() + " accounts..."); List<Transaction> alreadyUpdatedTransactions = new ArrayList<>(); List<Transaction> alreadyUpdatedTransferTransactions = new ArrayList<>(); for(AccountMatch accountMatch : accountMatchList.getAccountMatches()) { + LOGGER.debug("Importing account " + accountMatch.getAccountSource().getName() + " -> " + accountMatch.getAccountDestination().getName()); + List<Transaction> transactions = new ArrayList<>(database.getTransactions()); transactions.removeAll(alreadyUpdatedTransactions); @@ -120,6 +130,7 @@ public class ImportService alreadyUpdatedTransactions.addAll(updateAccountsForTransactions(transactions, accountMatch.getAccountSource().getID(), accountMatch.getAccountDestination().getID())); alreadyUpdatedTransferTransactions.addAll(updateTransferAccountsForTransactions(transferTransactions, accountMatch.getAccountSource().getID(), accountMatch.getAccountDestination().getID())); } + LOGGER.debug("Importing accounts DONE"); } private List<Transaction> updateAccountsForTransactions(List<Transaction> transactions, int oldAccountID, int newAccountID) @@ -160,12 +171,17 @@ public class ImportService private void importTransactions(Database database) { - for(Transaction transaction : database.getTransactions()) + List<Transaction> transactions = database.getTransactions(); + LOGGER.debug("Importing " + transactions.size() + " transactions..."); + for(int i = 0; i < transactions.size(); i++) { + Transaction transaction = transactions.get(i); + LOGGER.debug("Importing transaction " + (i+1) + "/" + transactions.size() + " (name: " + transaction.getName() + ", date: " + transaction.getDate() + ")"); updateTagsForTransaction(transaction); transaction.setID(null); transactionRepository.save(transaction); } + LOGGER.debug("Importing transactions DONE"); } private void updateTagsForTransaction(Transaction transaction)