From fbdb45d9b3ba888f534f21328cc3fcdb252a84ae Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 23 May 2021 12:44:24 +0200 Subject: [PATCH] #598 - moved methods --- .../database/model/BackupDatabase.java | 20 +++++++++++ .../database/model/v5/BackupDatabase_v5.java | 36 +++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/BackupDatabase.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/BackupDatabase.java index a3e15926c..07a2070f7 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/BackupDatabase.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/BackupDatabase.java @@ -22,4 +22,24 @@ public interface BackupDatabase } return upgradedItems; } + + default <T, S> List<T> convertItemsToInternal(List<S> backupItems, Converter<T, S> converter) + { + List<T> convertedItems = new ArrayList<>(); + for(S backupItem : backupItems) + { + convertedItems.add(converter.convertToInternalForm(backupItem)); + } + return convertedItems; + } + + default <T, S> List<S> convertItemsToExternal(List<T> backupItems, Converter<T, S> converter) + { + List<S> convertedItems = new ArrayList<>(); + for(T backupItem : backupItems) + { + convertedItems.add(converter.convertToExternalForm(backupItem)); + } + return convertedItems; + } } diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java index de8c6985a..fd29511e2 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java @@ -6,13 +6,11 @@ import de.deadlocker8.budgetmaster.charts.Chart; import de.deadlocker8.budgetmaster.database.InternalDatabase; import de.deadlocker8.budgetmaster.database.JSONIdentifier; import de.deadlocker8.budgetmaster.database.model.BackupDatabase; -import de.deadlocker8.budgetmaster.database.model.Converter; import de.deadlocker8.budgetmaster.database.model.v5.converter.*; import de.deadlocker8.budgetmaster.images.Image; import de.deadlocker8.budgetmaster.templates.Template; import de.deadlocker8.budgetmaster.transactions.Transaction; -import java.util.ArrayList; import java.util.List; public class BackupDatabase_v5 implements BackupDatabase @@ -117,16 +115,6 @@ public class BackupDatabase_v5 implements BackupDatabase return new InternalDatabase(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages); } - private <T, S> List<T> convertItemsToInternal(List<S> backupItems, Converter<T, S> converter) - { - List<T> convertedItems = new ArrayList<>(); - for(S backupItem : backupItems) - { - convertedItems.add(converter.convertToInternalForm(backupItem)); - } - return convertedItems; - } - @Override public int getVersion() { @@ -141,23 +129,15 @@ public class BackupDatabase_v5 implements BackupDatabase public static BackupDatabase_v5 createFromInternalEntities(InternalDatabase database) { - final List<BackupCategory_v5> convertedCategories = convertItemsToExternal(database.getCategories(), new CategoryConverter_v5()); - final List<BackupAccount_v5> convertedAccounts = convertItemsToExternal(database.getAccounts(), new AccountConverter_v5()); - final List<BackupTransaction_v5> convertedTransactions = convertItemsToExternal(database.getTransactions(), new TransactionConverter_v5()); - final List<BackupTemplate_v5> convertedTemplates = convertItemsToExternal(database.getTemplates(), new TemplateConverter_v5()); - final List<BackupChart_v5> convertedCharts = convertItemsToExternal(database.getCharts(), new ChartConverter_v5()); - final List<BackupImage_v5> convertedImages = convertItemsToExternal(database.getImages(), new ImageConverter_v5()); + final BackupDatabase_v5 externalDatabase = new BackupDatabase_v5(); - return new BackupDatabase_v5(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages); - } + externalDatabase.setCategories(externalDatabase.convertItemsToExternal(database.getCategories(), new CategoryConverter_v5())); + externalDatabase.setAccounts(externalDatabase.convertItemsToExternal(database.getAccounts(), new AccountConverter_v5())); + externalDatabase.setTransactions(externalDatabase.convertItemsToExternal(database.getTransactions(), new TransactionConverter_v5())); + externalDatabase.setTemplates(externalDatabase.convertItemsToExternal(database.getTemplates(), new TemplateConverter_v5())); + externalDatabase.setCharts(externalDatabase.convertItemsToExternal(database.getCharts(), new ChartConverter_v5())); + externalDatabase.setImages(externalDatabase.convertItemsToExternal(database.getImages(), new ImageConverter_v5())); - private static <T, S> List<S> convertItemsToExternal(List<T> backupItems, Converter<T, S> converter) - { - List<S> convertedItems = new ArrayList<>(); - for(T backupItem : backupItems) - { - convertedItems.add(converter.convertToExternalForm(backupItem)); - } - return convertedItems; + return externalDatabase; } } -- GitLab