Skip to content
Snippets Groups Projects
Commit e5bc4701 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#598 - added method to create an instance of BackupDatabase_v5 from internal Database

parent 3ada4aa4
No related branches found
No related tags found
No related merge requests found
...@@ -3,9 +3,9 @@ package de.deadlocker8.budgetmaster.database.model.v5; ...@@ -3,9 +3,9 @@ package de.deadlocker8.budgetmaster.database.model.v5;
import de.deadlocker8.budgetmaster.accounts.Account; import de.deadlocker8.budgetmaster.accounts.Account;
import de.deadlocker8.budgetmaster.categories.Category; import de.deadlocker8.budgetmaster.categories.Category;
import de.deadlocker8.budgetmaster.charts.Chart; import de.deadlocker8.budgetmaster.charts.Chart;
import de.deadlocker8.budgetmaster.database.model.Converter;
import de.deadlocker8.budgetmaster.database.Database; import de.deadlocker8.budgetmaster.database.Database;
import de.deadlocker8.budgetmaster.database.model.BackupDatabase; 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.database.model.v5.converter.*;
import de.deadlocker8.budgetmaster.images.Image; import de.deadlocker8.budgetmaster.images.Image;
import de.deadlocker8.budgetmaster.templates.Template; import de.deadlocker8.budgetmaster.templates.Template;
...@@ -132,4 +132,26 @@ public class BackupDatabase_v5 implements BackupDatabase ...@@ -132,4 +132,26 @@ public class BackupDatabase_v5 implements BackupDatabase
{ {
return null; return null;
} }
public static BackupDatabase_v5 createFromInternalEntities(Database 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());
return new BackupDatabase_v5(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages);
}
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;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment