From 58d1dfcecfd79b4d77194b1f0ac2231f61480e04 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 23 May 2021 15:17:02 +0200 Subject: [PATCH] #598 - added upgrade methods for backup models v5 to v6 --- .../database/model/v5/BackupAccount_v5.java | 9 ++++- .../database/model/v5/BackupTemplate_v5.java | 35 +++++++++++++++++-- .../model/v5/BackupTransaction_v5.java | 16 ++++++++- 3 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupAccount_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupAccount_v5.java index 2c4b8b52c..d10a40b42 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupAccount_v5.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupAccount_v5.java @@ -2,10 +2,12 @@ package de.deadlocker8.budgetmaster.database.model.v5; import de.deadlocker8.budgetmaster.accounts.AccountState; import de.deadlocker8.budgetmaster.accounts.AccountType; +import de.deadlocker8.budgetmaster.database.model.Upgradeable; +import de.deadlocker8.budgetmaster.database.model.v6.BackupAccount_v6; import java.util.Objects; -public class BackupAccount_v5 +public class BackupAccount_v5 implements Upgradeable<BackupAccount_v6> { private Integer ID; private String name; @@ -103,4 +105,9 @@ public class BackupAccount_v5 ", icon=" + icon + '}'; } + + public BackupAccount_v6 upgrade() + { + return new BackupAccount_v6(ID, name, accountState, type, icon.getID()); + } } diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java index d362f2d18..2b846d174 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java @@ -1,12 +1,13 @@ package de.deadlocker8.budgetmaster.database.model.v5; +import de.deadlocker8.budgetmaster.database.model.Upgradeable; import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4; -import de.deadlocker8.budgetmaster.tags.Tag; +import de.deadlocker8.budgetmaster.database.model.v6.BackupTemplate_v6; import java.util.List; import java.util.Objects; -public class BackupTemplate_v5 +public class BackupTemplate_v5 implements Upgradeable<BackupTemplate_v6> { private String templateName; private Integer amount; @@ -168,4 +169,34 @@ public class BackupTemplate_v5 ", transferAccount=" + transferAccount + '}'; } + + @Override + public BackupTemplate_v6 upgrade() + { + Integer accountID = null; + if(account != null) + { + accountID = account.getID(); + } + + Integer categoryID = null; + if(category != null) + { + categoryID = category.getID(); + } + + Integer iconID = null; + if(icon != null) + { + iconID = icon.getID(); + } + + Integer transferAccountID = null; + if(transferAccount != null) + { + transferAccountID = transferAccount.getID(); + } + + return new BackupTemplate_v6(templateName, amount, isExpenditure, accountID, categoryID, name, description, iconID, tags, transferAccountID); + } } diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java index 5243376b4..d6043623c 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java @@ -1,12 +1,14 @@ package de.deadlocker8.budgetmaster.database.model.v5; +import de.deadlocker8.budgetmaster.database.model.Upgradeable; import de.deadlocker8.budgetmaster.database.model.v4.BackupRepeatingOption_v4; import de.deadlocker8.budgetmaster.database.model.v4.BackupTag_v4; +import de.deadlocker8.budgetmaster.database.model.v6.BackupTransaction_v6; import java.util.List; import java.util.Objects; -public class BackupTransaction_v5 +public class BackupTransaction_v5 implements Upgradeable<BackupTransaction_v6> { private Integer amount; private Boolean isExpenditure; @@ -168,4 +170,16 @@ public class BackupTransaction_v5 ", transferAccount=" + transferAccount + '}'; } + + @Override + public BackupTransaction_v6 upgrade() + { + Integer transferAccountID = null; + if(transferAccount != null) + { + transferAccountID = transferAccount.getID(); + } + + return new BackupTransaction_v6(amount, isExpenditure, date, account.getID(), category.getID(), name, description, tags, repeatingOption, transferAccountID); + } } -- GitLab