From 89faf93a667abbb13c3b471fcf57f9cc0da360ed Mon Sep 17 00:00:00 2001 From: mirrerror Date: Thu, 21 Sep 2023 11:48:43 +0300 Subject: [PATCH 1/2] Merged categories into one file --- src/main/java/entities/Categories.java | 28 +++++++++++++++++++ src/main/java/entities/Expense.java | 10 +++---- src/main/java/entities/ExpensesCategory.java | 5 ---- src/main/java/entities/IMoneyTransaction.java | 9 ++++++ src/main/java/entities/Income.java | 10 +++---- src/main/java/entities/IncomeCategory.java | 5 ---- src/main/java/entities/MoneyTransaction.java | 9 ------ 7 files changed, 47 insertions(+), 29 deletions(-) create mode 100644 src/main/java/entities/Categories.java delete mode 100644 src/main/java/entities/ExpensesCategory.java create mode 100644 src/main/java/entities/IMoneyTransaction.java delete mode 100644 src/main/java/entities/IncomeCategory.java delete mode 100644 src/main/java/entities/MoneyTransaction.java diff --git a/src/main/java/entities/Categories.java b/src/main/java/entities/Categories.java new file mode 100644 index 0000000..379ae3a --- /dev/null +++ b/src/main/java/entities/Categories.java @@ -0,0 +1,28 @@ +package entities; + +public class Categories { + + public enum ExpenseCategory { + MISC; + + public String getEffectiveName() { + return Categories.getEffectiveName(this.name()); + } + } + + public enum IncomeCategory { + MISC; + + public String getEffectiveName() { + return Categories.getEffectiveName(this.name()); + } + } + + private static String getEffectiveName(String name) { + String[] arr = name.split(""); + StringBuilder result = new StringBuilder(arr[0].toLowerCase()); + for(int i = 1; i < name.length(); i++) result.append(arr[i]); + return result.toString(); + } + +} diff --git a/src/main/java/entities/Expense.java b/src/main/java/entities/Expense.java index 606e4eb..c6b2c3b 100644 --- a/src/main/java/entities/Expense.java +++ b/src/main/java/entities/Expense.java @@ -1,12 +1,12 @@ package entities; -public class Expense extends MoneyTransaction { +public class Expense implements IMoneyTransaction { private int userId; private int amount; - private ExpensesCategory category; + private Categories.ExpenseCategory category; - public Expense(int userId, int amount, ExpensesCategory category) { + public Expense(int userId, int amount, Categories.ExpenseCategory category) { this.userId = userId; this.amount = amount; this.category = category; @@ -32,10 +32,10 @@ public class Expense extends MoneyTransaction { @Override public String getCategory() { - return category.toString(); + return category.getEffectiveName(); } - public void setCategory(ExpensesCategory category) { + public void setCategory(Categories.ExpenseCategory category) { this.category = category; } } diff --git a/src/main/java/entities/ExpensesCategory.java b/src/main/java/entities/ExpensesCategory.java deleted file mode 100644 index bf76cc7..0000000 --- a/src/main/java/entities/ExpensesCategory.java +++ /dev/null @@ -1,5 +0,0 @@ -package entities; - -public enum ExpensesCategory { - MISC; -} diff --git a/src/main/java/entities/IMoneyTransaction.java b/src/main/java/entities/IMoneyTransaction.java new file mode 100644 index 0000000..70b92d5 --- /dev/null +++ b/src/main/java/entities/IMoneyTransaction.java @@ -0,0 +1,9 @@ +package entities; + +public interface IMoneyTransaction { + + long getUserId(); + int getAmount(); + String getCategory(); + +} diff --git a/src/main/java/entities/Income.java b/src/main/java/entities/Income.java index f3edc27..31b5d67 100644 --- a/src/main/java/entities/Income.java +++ b/src/main/java/entities/Income.java @@ -1,12 +1,12 @@ package entities; -public class Income extends MoneyTransaction { +public class Income implements IMoneyTransaction { private long userId; private int amount; - private IncomeCategory category; + private Categories.IncomeCategory category; - public Income(long userId, int amount, IncomeCategory category) { + public Income(long userId, int amount, Categories.IncomeCategory category) { this.userId = userId; this.amount = amount; this.category = category; @@ -24,7 +24,7 @@ public class Income extends MoneyTransaction { @Override public String getCategory() { - return category.toString(); + return category.getEffectiveName(); } public void setUserId(long userId) { @@ -35,7 +35,7 @@ public class Income extends MoneyTransaction { this.amount = amount; } - public void setCategory(IncomeCategory category) { + public void setCategory(Categories.IncomeCategory category) { this.category = category; } } diff --git a/src/main/java/entities/IncomeCategory.java b/src/main/java/entities/IncomeCategory.java deleted file mode 100644 index 7d1666c..0000000 --- a/src/main/java/entities/IncomeCategory.java +++ /dev/null @@ -1,5 +0,0 @@ -package entities; - -public enum IncomeCategory { - MISC; -} diff --git a/src/main/java/entities/MoneyTransaction.java b/src/main/java/entities/MoneyTransaction.java deleted file mode 100644 index 2232df4..0000000 --- a/src/main/java/entities/MoneyTransaction.java +++ /dev/null @@ -1,9 +0,0 @@ -package entities; - -public abstract class MoneyTransaction { - - public abstract long getUserId(); - public abstract int getAmount(); - public abstract String getCategory(); - -} -- 2.49.1 From 86dd4f0c15aa950c41097e23af3c9b60852a4e10 Mon Sep 17 00:00:00 2001 From: mirrerror Date: Thu, 21 Sep 2023 12:07:20 +0300 Subject: [PATCH 2/2] Merge categories into one file, add some new ones --- src/main/java/entities/Categories.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/entities/Categories.java b/src/main/java/entities/Categories.java index 379ae3a..43bda11 100644 --- a/src/main/java/entities/Categories.java +++ b/src/main/java/entities/Categories.java @@ -3,7 +3,7 @@ package entities; public class Categories { public enum ExpenseCategory { - MISC; + CREDIT, BUY, BUSINESS, ENTERTAINMENT, RESTAURANTS_AND_CAFE, COMMUNAL_PAYMENTS, SUPERMARKET, MISC; public String getEffectiveName() { return Categories.getEffectiveName(this.name()); @@ -11,7 +11,7 @@ public class Categories { } public enum IncomeCategory { - MISC; + P2P, SALARY, GIFT, CREDIT, MISC; public String getEffectiveName() { return Categories.getEffectiveName(this.name()); @@ -19,9 +19,14 @@ public class Categories { } private static String getEffectiveName(String name) { - String[] arr = name.split(""); - StringBuilder result = new StringBuilder(arr[0].toLowerCase()); - for(int i = 1; i < name.length(); i++) result.append(arr[i]); + String[] arr = name.split("_"); + StringBuilder result = new StringBuilder(); + for(String entry : arr) { + String[] entryArr = entry.split(""); + StringBuilder builder = new StringBuilder(entryArr[0]); + for(int i = 1; i < entry.length(); i++) builder.append(entryArr[i].toLowerCase()); + result.append(builder).append(" "); + } return result.toString(); } -- 2.49.1