From 23876821927b72836a858ea333060574cd332047 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 23 May 2021 15:30:05 +0200 Subject: [PATCH] #598 - upgrade database --- .../database/model/v4/BackupDatabase_v4.java | 1 + .../database/model/v5/BackupDatabase_v5.java | 12 +++- .../database/model/v6/BackupDatabase_v6.java | 56 ++++++++++--------- 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupDatabase_v4.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupDatabase_v4.java index 4214cb37b..1e86a7656 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupDatabase_v4.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v4/BackupDatabase_v4.java @@ -80,6 +80,7 @@ public class BackupDatabase_v4 implements BackupDatabase return this.VERSION; } + @Override public BackupDatabase upgrade() { final BackupDatabase_v5 upgradedDatabase = new BackupDatabase_v5(); 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 fd29511e2..257a0d0b7 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 @@ -7,6 +7,7 @@ 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.v5.converter.*; +import de.deadlocker8.budgetmaster.database.model.v6.BackupDatabase_v6; import de.deadlocker8.budgetmaster.images.Image; import de.deadlocker8.budgetmaster.templates.Template; import de.deadlocker8.budgetmaster.transactions.Transaction; @@ -124,7 +125,16 @@ public class BackupDatabase_v5 implements BackupDatabase @Override public BackupDatabase upgrade() { - throw new UnsupportedOperationException(); + final BackupDatabase_v6 upgradedDatabase = new BackupDatabase_v6(); + + upgradedDatabase.setCategories(categories); + upgradedDatabase.setAccounts(upgradeItems(accounts)); + upgradedDatabase.setTransactions(upgradeItems(transactions)); + upgradedDatabase.setTemplates(upgradeItems(templates)); + upgradedDatabase.setCharts(charts); + upgradedDatabase.setImages(images); + + return upgradedDatabase; } public static BackupDatabase_v5 createFromInternalEntities(InternalDatabase database) diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v6/BackupDatabase_v6.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v6/BackupDatabase_v6.java index e95be8962..0847306d3 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v6/BackupDatabase_v6.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v6/BackupDatabase_v6.java @@ -6,6 +6,9 @@ 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.v5.BackupCategory_v5; +import de.deadlocker8.budgetmaster.database.model.v5.BackupChart_v5; +import de.deadlocker8.budgetmaster.database.model.v5.BackupImage_v5; import de.deadlocker8.budgetmaster.database.model.v5.converter.*; import de.deadlocker8.budgetmaster.images.Image; import de.deadlocker8.budgetmaster.templates.Template; @@ -21,19 +24,19 @@ public class BackupDatabase_v6 implements BackupDatabase @SuppressWarnings("FieldCanBeLocal") private final int VERSION = 5; - private List<BackupCategory_v6> categories; + private List<BackupCategory_v5> categories; private List<BackupAccount_v6> accounts; private List<BackupTransaction_v6> transactions; private List<BackupTemplate_v6> templates; - private List<BackupChart_v6> charts; - private List<BackupImage_v6> images; + private List<BackupChart_v5> charts; + private List<BackupImage_v5> images; public BackupDatabase_v6() { // for GSON } - public BackupDatabase_v6(List<BackupCategory_v6> categories, List<BackupAccount_v6> accounts, List<BackupTransaction_v6> transactions, List<BackupTemplate_v6> templates, List<BackupChart_v6> charts, List<BackupImage_v6> images) + public BackupDatabase_v6(List<BackupCategory_v5> categories, List<BackupAccount_v6> accounts, List<BackupTransaction_v6> transactions, List<BackupTemplate_v6> templates, List<BackupChart_v5> charts, List<BackupImage_v5> images) { this.categories = categories; this.accounts = accounts; @@ -43,12 +46,12 @@ public class BackupDatabase_v6 implements BackupDatabase this.images = images; } - public List<BackupCategory_v6> getCategories() + public List<BackupCategory_v5> getCategories() { return categories; } - public void setCategories(List<BackupCategory_v6> categories) + public void setCategories(List<BackupCategory_v5> categories) { this.categories = categories; } @@ -83,36 +86,37 @@ public class BackupDatabase_v6 implements BackupDatabase this.templates = templates; } - public List<BackupChart_v6> getCharts() + public List<BackupChart_v5> getCharts() { return charts; } - public void setCharts(List<BackupChart_v6> charts) + public void setCharts(List<BackupChart_v5> charts) { this.charts = charts; } - public List<BackupImage_v6> getImages() + public List<BackupImage_v5> getImages() { return images; } - public void setImages(List<BackupImage_v6> images) + public void setImages(List<BackupImage_v5> images) { this.images = images; } public InternalDatabase convertToInternal() { - final List<Category> convertedCategories = convertItemsToInternal(categories, new CategoryConverter_v5()); - final List<Account> convertedAccounts = convertItemsToInternal(accounts, new AccountConverter_v5()); - final List<Transaction> convertedTransactions = convertItemsToInternal(this.transactions, new TransactionConverter_v5()); - final List<Template> convertedTemplates = convertItemsToInternal(this.templates, new TemplateConverter_v5()); - final List<Chart> convertedCharts = convertItemsToInternal(this.charts, new ChartConverter_v5()); - final List<Image> convertedImages = convertItemsToInternal(this.images, new ImageConverter_v5()); - - return new InternalDatabase(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages); +// final List<Category> convertedCategories = convertItemsToInternal(categories, new CategoryConverter_v5()); +// final List<Account> convertedAccounts = convertItemsToInternal(accounts, new AccountConverter_v5()); +// final List<Transaction> convertedTransactions = convertItemsToInternal(this.transactions, new TransactionConverter_v5()); +// final List<Template> convertedTemplates = convertItemsToInternal(this.templates, new TemplateConverter_v5()); +// final List<Chart> convertedCharts = convertItemsToInternal(this.charts, new ChartConverter_v5()); +// final List<Image> convertedImages = convertItemsToInternal(this.images, new ImageConverter_v5()); +// +// return new InternalDatabase(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages); + return null; } @Override @@ -130,14 +134,14 @@ public class BackupDatabase_v6 implements BackupDatabase public static BackupDatabase_v6 createFromInternalEntities(InternalDatabase database) { final BackupDatabase_v6 externalDatabase = new BackupDatabase_v6(); - - 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())); - +// +// 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())); +// return externalDatabase; } } -- GitLab