From bd64df4a318a6806ced29209eca5fd72241c1c32 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sat, 22 May 2021 11:56:34 +0200 Subject: [PATCH] #598 - added backup model classes for all v5 entities --- .../database/model/v5/BackupAccount_v5.java | 131 ++++++++++++++ .../database/model/v5/BackupCategory_v5.java | 104 +++++++++++ .../database/model/v5/BackupChart_v5.java | 104 +++++++++++ .../database/model/v5/BackupDatabase_v5.java | 122 +++++++++++++ .../database/model/v5/BackupImage_v5.java | 90 ++++++++++ .../database/model/v5/BackupTemplate_v5.java | 168 +++++++++++++++++ .../model/v5/BackupTransaction_v5.java | 170 ++++++++++++++++++ 7 files changed, 889 insertions(+) create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupAccount_v5.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupCategory_v5.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupChart_v5.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupImage_v5.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java create mode 100644 src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java 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 new file mode 100644 index 000000000..5883cb495 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupAccount_v5.java @@ -0,0 +1,131 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.accounts.AccountState; +import de.deadlocker8.budgetmaster.accounts.AccountType; + +import java.util.Objects; + +public class BackupAccount_v5 +{ + private Integer ID; + private String name; + private Boolean isSelected; + private Boolean isDefault; + private AccountState accountState; + private AccountType type; + private BackupImage_v5 icon; + + public BackupAccount_v5() + { + } + + public BackupAccount_v5(Integer ID, String name, AccountState accountState, AccountType type, BackupImage_v5 icon) + { + this.ID = ID; + this.name = name; + this.isSelected = false; + this.isDefault = false; + this.accountState = accountState; + this.type = type; + this.icon = icon; + } + + public Integer getID() + { + return ID; + } + + public void setID(Integer ID) + { + this.ID = ID; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public Boolean getSelected() + { + return isSelected; + } + + public void setSelected(Boolean selected) + { + isSelected = selected; + } + + public Boolean getDefault() + { + return isDefault; + } + + public void setDefault(Boolean aDefault) + { + isDefault = aDefault; + } + + public AccountState getAccountState() + { + return accountState; + } + + public void setAccountState(AccountState accountState) + { + this.accountState = accountState; + } + + public AccountType getType() + { + return type; + } + + public void setType(AccountType type) + { + this.type = type; + } + + public BackupImage_v5 getIcon() + { + return icon; + } + + public void setIcon(BackupImage_v5 icon) + { + this.icon = icon; + } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + BackupAccount_v5 that = (BackupAccount_v5) o; + return Objects.equals(ID, that.ID) && Objects.equals(name, that.name) && Objects.equals(isSelected, that.isSelected) && Objects.equals(isDefault, that.isDefault) && accountState == that.accountState && type == that.type && Objects.equals(icon, that.icon); + } + + @Override + public int hashCode() + { + return Objects.hash(ID, name, isSelected, isDefault, accountState, type, icon); + } + + @Override + public String toString() + { + return "BackupAccount_v5{" + + "ID=" + ID + + ", name='" + name + '\'' + + ", isSelected=" + isSelected + + ", isDefault=" + isDefault + + ", accountState=" + accountState + + ", type=" + type + + ", icon=" + icon + + '}'; + } +} diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupCategory_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupCategory_v5.java new file mode 100644 index 000000000..0d3d9edd9 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupCategory_v5.java @@ -0,0 +1,104 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.categories.CategoryType; + +import java.util.Objects; + +public class BackupCategory_v5 +{ + private Integer ID; + private String name; + private String color; + private CategoryType type; + private String icon; + + public BackupCategory_v5() + { + } + + public BackupCategory_v5(Integer ID, String name, String color, CategoryType type, String icon) + { + this.ID = ID; + this.name = name; + this.color = color; + this.type = type; + this.icon = icon; + } + + public Integer getID() + { + return ID; + } + + public void setID(Integer ID) + { + this.ID = ID; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getColor() + { + return color; + } + + public void setColor(String color) + { + this.color = color; + } + + public CategoryType getType() + { + return type; + } + + public void setType(CategoryType type) + { + this.type = type; + } + + public String getIcon() + { + return icon; + } + + public void setIcon(String icon) + { + this.icon = icon; + } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + BackupCategory_v5 that = (BackupCategory_v5) o; + return Objects.equals(ID, that.ID) && Objects.equals(name, that.name) && Objects.equals(color, that.color) && type == that.type && Objects.equals(icon, that.icon); + } + + @Override + public int hashCode() + { + return Objects.hash(ID, name, color, type, icon); + } + + @Override + public String toString() + { + return "BackupCategory_v5{" + + "ID=" + ID + + ", name='" + name + '\'' + + ", color='" + color + '\'' + + ", type=" + type + + ", icon='" + icon + '\'' + + '}'; + } +} diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupChart_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupChart_v5.java new file mode 100644 index 000000000..7f336ea84 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupChart_v5.java @@ -0,0 +1,104 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.charts.ChartType; + +import java.util.Objects; + +public class BackupChart_v5 +{ + private Integer ID; + private String name; + private String script; + private ChartType type; + private int version; + + public BackupChart_v5() + { + } + + public BackupChart_v5(Integer ID, String name, String script, ChartType type, int version) + { + this.ID = ID; + this.name = name; + this.script = script; + this.type = type; + this.version = version; + } + + public Integer getID() + { + return ID; + } + + public void setID(Integer ID) + { + this.ID = ID; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getScript() + { + return script; + } + + public void setScript(String script) + { + this.script = script; + } + + public ChartType getType() + { + return type; + } + + public void setType(ChartType type) + { + this.type = type; + } + + public int getVersion() + { + return version; + } + + public void setVersion(int version) + { + this.version = version; + } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + BackupChart_v5 that = (BackupChart_v5) o; + return version == that.version && Objects.equals(ID, that.ID) && Objects.equals(name, that.name) && Objects.equals(script, that.script) && type == that.type; + } + + @Override + public int hashCode() + { + return Objects.hash(ID, name, script, type, version); + } + + @Override + public String toString() + { + return "BackupChart_v5{" + + "ID=" + ID + + ", name='" + name + '\'' + + ", script='" + script + '\'' + + ", type=" + type + + ", version=" + version + + '}'; + } +} 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 new file mode 100644 index 000000000..052bb4a37 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupDatabase_v5.java @@ -0,0 +1,122 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.accounts.Account; +import de.deadlocker8.budgetmaster.categories.Category; +import de.deadlocker8.budgetmaster.charts.Chart; +import de.deadlocker8.budgetmaster.database.Database; +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 +{ + private final String TYPE = "BUDGETMASTER_DATABASE"; + private final int VERSION = 5; + + private List<BackupCategory_v5> categories; + private List<BackupAccount_v5> accounts; + private List<BackupTransaction_v5> transactions; + private List<BackupTemplate_v5> templates; + private List<BackupChart_v5> charts; + private List<BackupImage_v5> images; + + public BackupDatabase_v5() + { + } + + public BackupDatabase_v5(List<BackupCategory_v5> categories, List<BackupAccount_v5> accounts, List<BackupTransaction_v5> transactions, List<BackupTemplate_v5> templates, List<BackupChart_v5> charts, List<BackupImage_v5> images) + { + this.categories = categories; + this.accounts = accounts; + this.transactions = transactions; + this.templates = templates; + this.charts = charts; + this.images = images; + } + + public List<BackupCategory_v5> getCategories() + { + return categories; + } + + public void setCategories(List<BackupCategory_v5> categories) + { + this.categories = categories; + } + + public List<BackupAccount_v5> getAccounts() + { + return accounts; + } + + public void setAccounts(List<BackupAccount_v5> accounts) + { + this.accounts = accounts; + } + + public List<BackupTransaction_v5> getTransactions() + { + return transactions; + } + + public void setTransactions(List<BackupTransaction_v5> transactions) + { + this.transactions = transactions; + } + + public List<BackupTemplate_v5> getTemplates() + { + return templates; + } + + public void setTemplates(List<BackupTemplate_v5> templates) + { + this.templates = templates; + } + + public List<BackupChart_v5> getCharts() + { + return charts; + } + + public void setCharts(List<BackupChart_v5> charts) + { + this.charts = charts; + } + + public List<BackupImage_v5> getImages() + { + return images; + } + + public void setImages(List<BackupImage_v5> images) + { + this.images = images; + } + + public Database convert() + { + final List<Category> convertedCategories = convertItems(categories, new CategoryConverter_v5()); + final List<Account> convertedAccounts = convertItems(accounts, new AccountConverter_v5()); + final List<Transaction> convertedTransactions = convertItems(this.transactions, new TransactionConverter_v5()); + final List<Template> convertedTemplates = convertItems(this.templates, new TemplateConverter_v5()); + final List<Chart> convertedCharts = convertItems(this.charts, new ChartConverter_v5()); + final List<Image> convertedImages = convertItems(this.images, new ImageConverter_v5()); + + return new Database(convertedCategories, convertedAccounts, convertedTransactions, convertedTemplates, convertedCharts, convertedImages); + } + + private <T, S> List<T> convertItems(List<S> backupItems, Converter<T, S> converter) + { + List<T> convertedItems = new ArrayList<>(); + for(S backupItem : backupItems) + { + convertedItems.add(converter.convert(backupItem)); + } + return convertedItems; + } +} diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupImage_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupImage_v5.java new file mode 100644 index 000000000..288cbba8d --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupImage_v5.java @@ -0,0 +1,90 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.images.ImageFileExtension; + +import java.util.Objects; + +public class BackupImage_v5 +{ + private Integer ID; + private Byte[] image; + private String fileName; + private ImageFileExtension fileExtension; + + public BackupImage_v5() + { + } + + public BackupImage_v5(Integer ID, Byte[] image, String fileName, ImageFileExtension fileExtension) + { + this.ID = ID; + this.image = image; + this.fileName = fileName; + this.fileExtension = fileExtension; + } + + public Integer getID() + { + return ID; + } + + public void setID(Integer ID) + { + this.ID = ID; + } + + public Byte[] getImage() + { + return image; + } + + public void setImage(Byte[] image) + { + this.image = image; + } + + public String getFileName() + { + return fileName; + } + + public void setFileName(String fileName) + { + this.fileName = fileName; + } + + public ImageFileExtension getFileExtension() + { + return fileExtension; + } + + public void setFileExtension(ImageFileExtension fileExtension) + { + this.fileExtension = fileExtension; + } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + BackupImage_v5 that = (BackupImage_v5) o; + return Objects.equals(ID, that.ID) && Objects.equals(fileName, that.fileName) && fileExtension == that.fileExtension; + } + + @Override + public int hashCode() + { + return Objects.hash(ID, fileName, fileExtension); + } + + @Override + public String toString() + { + return "BackupImage_v5{" + + "ID=" + ID + + ", fileName='" + fileName + '\'' + + ", fileExtension=" + fileExtension + + '}'; + } +} 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 new file mode 100644 index 000000000..99c2fc19b --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTemplate_v5.java @@ -0,0 +1,168 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.tags.Tag; + +import java.util.List; +import java.util.Objects; + +public class BackupTemplate_v5 +{ + private Integer ID; + private String templateName; + private Integer amount; + private Boolean isExpenditure; + private BackupAccount_v5 account; + private BackupCategory_v5 category; + private String name; + private String description; + private BackupImage_v5 icon; + private List<Tag> tags; + private BackupAccount_v5 transferAccount; + + public BackupTemplate_v5() + { + } + + public Integer getID() + { + return ID; + } + + public void setID(Integer ID) + { + this.ID = ID; + } + + public String getTemplateName() + { + return templateName; + } + + public void setTemplateName(String templateName) + { + this.templateName = templateName; + } + + public Integer getAmount() + { + return amount; + } + + public void setAmount(Integer amount) + { + this.amount = amount; + } + + public Boolean getExpenditure() + { + return isExpenditure; + } + + public void setExpenditure(Boolean expenditure) + { + isExpenditure = expenditure; + } + + public BackupAccount_v5 getAccount() + { + return account; + } + + public void setAccount(BackupAccount_v5 account) + { + this.account = account; + } + + public BackupCategory_v5 getCategory() + { + return category; + } + + public void setCategory(BackupCategory_v5 category) + { + this.category = category; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getDescription() + { + return description; + } + + public void setDescription(String description) + { + this.description = description; + } + + public BackupImage_v5 getIcon() + { + return icon; + } + + public void setIcon(BackupImage_v5 icon) + { + this.icon = icon; + } + + public List<Tag> getTags() + { + return tags; + } + + public void setTags(List<Tag> tags) + { + this.tags = tags; + } + + public BackupAccount_v5 getTransferAccount() + { + return transferAccount; + } + + public void setTransferAccount(BackupAccount_v5 transferAccount) + { + this.transferAccount = transferAccount; + } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + BackupTemplate_v5 that = (BackupTemplate_v5) o; + return Objects.equals(ID, that.ID) && Objects.equals(templateName, that.templateName) && Objects.equals(amount, that.amount) && Objects.equals(isExpenditure, that.isExpenditure) && Objects.equals(account, that.account) && Objects.equals(category, that.category) && Objects.equals(name, that.name) && Objects.equals(description, that.description) && Objects.equals(icon, that.icon) && Objects.equals(tags, that.tags) && Objects.equals(transferAccount, that.transferAccount); + } + + @Override + public int hashCode() + { + return Objects.hash(ID, templateName, amount, isExpenditure, account, category, name, description, icon, tags, transferAccount); + } + + @Override + public String toString() + { + return "BackupTemplate_v5{" + + "ID=" + ID + + ", templateName='" + templateName + '\'' + + ", amount=" + amount + + ", isExpenditure=" + isExpenditure + + ", account=" + account + + ", category=" + category + + ", name='" + name + '\'' + + ", description='" + description + '\'' + + ", icon=" + icon + + ", tags=" + tags + + ", transferAccount=" + transferAccount + + '}'; + } +} 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 new file mode 100644 index 000000000..dcbbebed6 --- /dev/null +++ b/src/main/java/de/deadlocker8/budgetmaster/database/model/v5/BackupTransaction_v5.java @@ -0,0 +1,170 @@ +package de.deadlocker8.budgetmaster.database.model.v5; + +import de.deadlocker8.budgetmaster.repeating.RepeatingOption; +import de.deadlocker8.budgetmaster.tags.Tag; +import org.joda.time.DateTime; + +import java.util.List; +import java.util.Objects; + +public class BackupTransaction_v5 +{ + private Integer ID; + private Integer amount; + private Boolean isExpenditure; + private DateTime date; + private BackupAccount_v5 account; + private BackupCategory_v5 category; + private String name; + private String description; + private List<Tag> tags; + private RepeatingOption repeatingOption; + private BackupAccount_v5 transferAccount; + + public BackupTransaction_v5() + { + } + + public Integer getID() + { + return ID; + } + + public void setID(Integer ID) + { + this.ID = ID; + } + + public Integer getAmount() + { + return amount; + } + + public void setAmount(Integer amount) + { + this.amount = amount; + } + + public Boolean getExpenditure() + { + return isExpenditure; + } + + public void setExpenditure(Boolean expenditure) + { + isExpenditure = expenditure; + } + + public DateTime getDate() + { + return date; + } + + public void setDate(DateTime date) + { + this.date = date; + } + + public BackupAccount_v5 getAccount() + { + return account; + } + + public void setAccount(BackupAccount_v5 account) + { + this.account = account; + } + + public BackupCategory_v5 getCategory() + { + return category; + } + + public void setCategory(BackupCategory_v5 category) + { + this.category = category; + } + + public String getName() + { + return name; + } + + public void setName(String name) + { + this.name = name; + } + + public String getDescription() + { + return description; + } + + public void setDescription(String description) + { + this.description = description; + } + + public List<Tag> getTags() + { + return tags; + } + + public void setTags(List<Tag> tags) + { + this.tags = tags; + } + + public RepeatingOption getRepeatingOption() + { + return repeatingOption; + } + + public void setRepeatingOption(RepeatingOption repeatingOption) + { + this.repeatingOption = repeatingOption; + } + + public BackupAccount_v5 getTransferAccount() + { + return transferAccount; + } + + public void setTransferAccount(BackupAccount_v5 transferAccount) + { + this.transferAccount = transferAccount; + } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + BackupTransaction_v5 that = (BackupTransaction_v5) o; + return Objects.equals(ID, that.ID) && Objects.equals(amount, that.amount) && Objects.equals(isExpenditure, that.isExpenditure) && Objects.equals(date, that.date) && Objects.equals(account, that.account) && Objects.equals(category, that.category) && Objects.equals(name, that.name) && Objects.equals(description, that.description) && Objects.equals(tags, that.tags) && Objects.equals(repeatingOption, that.repeatingOption) && Objects.equals(transferAccount, that.transferAccount); + } + + @Override + public int hashCode() + { + return Objects.hash(ID, amount, isExpenditure, date, account, category, name, description, tags, repeatingOption, transferAccount); + } + + @Override + public String toString() + { + return "BackupTransaction_v5{" + + "ID=" + ID + + ", amount=" + amount + + ", isExpenditure=" + isExpenditure + + ", date=" + date + + ", account=" + account + + ", category=" + category + + ", name='" + name + '\'' + + ", description='" + description + '\'' + + ", tags=" + tags + + ", repeatingOption=" + repeatingOption + + ", transferAccount=" + transferAccount + + '}'; + } +} -- GitLab