From c5332bef06cda3ad66d67023279709bcc0f5d0a9 Mon Sep 17 00:00:00 2001 From: Nikollai Date: Sun, 12 Apr 2026 14:01:08 +0200 Subject: [PATCH] Refactored package structure to follow the MVC-pattern --- .../StockInformationReader.java} | 8 +++++--- .../StockInformationWriter.java} | 10 +++++----- src/main/java/millions/{ => model}/Exchange.java | 2 +- src/main/java/millions/{ => model}/Player.java | 2 +- src/main/java/millions/{ => model}/Portfolio.java | 4 ++-- src/main/java/millions/{ => model}/Purchase.java | 4 ++-- src/main/java/millions/{ => model}/Sale.java | 4 ++-- src/main/java/millions/{ => model}/Share.java | 2 +- src/main/java/millions/{ => model}/Stock.java | 2 +- src/main/java/millions/{ => model}/Transaction.java | 4 ++-- .../java/millions/{ => model}/TransactionArchive.java | 2 +- .../{ => model}/calculators/PurchaseCalculator.java | 4 ++-- .../{ => model}/calculators/SaleCalculator.java | 4 ++-- .../{ => model}/calculators/TransactionCalculator.java | 2 +- src/test/java/millions/ExchangeTest.java | 5 +++++ src/test/java/millions/PlayerTest.java | 2 ++ src/test/java/millions/PortfolioTest.java | 4 ++++ src/test/java/millions/PurchaseTest.java | 5 +++++ src/test/java/millions/SaleTest.java | 5 +++++ src/test/java/millions/ShareTest.java | 3 +++ src/test/java/millions/StockTest.java | 2 ++ src/test/java/millions/TransactionArchiveTest.java | 2 ++ 22 files changed, 56 insertions(+), 26 deletions(-) rename src/main/java/millions/{StockInformationCSVReader.java => controller/StockInformationReader.java} (87%) rename src/main/java/millions/{StockInformationCSVWriter.java => controller/StockInformationWriter.java} (81%) rename src/main/java/millions/{ => model}/Exchange.java (98%) rename src/main/java/millions/{ => model}/Player.java (98%) rename src/main/java/millions/{ => model}/Portfolio.java (92%) rename src/main/java/millions/{ => model}/Purchase.java (88%) rename src/main/java/millions/{ => model}/Sale.java (88%) rename src/main/java/millions/{ => model}/Share.java (97%) rename src/main/java/millions/{ => model}/Stock.java (98%) rename src/main/java/millions/{ => model}/Transaction.java (90%) rename src/main/java/millions/{ => model}/TransactionArchive.java (98%) rename src/main/java/millions/{ => model}/calculators/PurchaseCalculator.java (92%) rename src/main/java/millions/{ => model}/calculators/SaleCalculator.java (94%) rename src/main/java/millions/{ => model}/calculators/TransactionCalculator.java (86%) diff --git a/src/main/java/millions/StockInformationCSVReader.java b/src/main/java/millions/controller/StockInformationReader.java similarity index 87% rename from src/main/java/millions/StockInformationCSVReader.java rename to src/main/java/millions/controller/StockInformationReader.java index 7b36a63..0e98210 100644 --- a/src/main/java/millions/StockInformationCSVReader.java +++ b/src/main/java/millions/controller/StockInformationReader.java @@ -1,4 +1,6 @@ -package millions; +package millions.controller; + +import millions.model.Stock; import java.io.*; import java.math.BigDecimal; @@ -6,10 +8,10 @@ import java.util.List; -public class StockInformationCSVReader { +public class StockInformationReader { private final File file; - public StockInformationCSVReader(File file) { + public StockInformationReader(File file) { this.file = file; } diff --git a/src/main/java/millions/StockInformationCSVWriter.java b/src/main/java/millions/controller/StockInformationWriter.java similarity index 81% rename from src/main/java/millions/StockInformationCSVWriter.java rename to src/main/java/millions/controller/StockInformationWriter.java index f36dd18..692bc75 100644 --- a/src/main/java/millions/StockInformationCSVWriter.java +++ b/src/main/java/millions/controller/StockInformationWriter.java @@ -1,15 +1,15 @@ -package millions; +package millions.controller; + +import millions.model.Stock; import java.io.*; -import java.math.BigDecimal; -import java.util.ArrayList; import java.util.List; -public class StockInformationCSVWriter { +public class StockInformationWriter { private final List stocks; private final File destinationFile; - public StockInformationCSVWriter(List stocks,File destinationFile) { + public StockInformationWriter(List stocks, File destinationFile) { this.stocks = stocks; this.destinationFile = destinationFile; } diff --git a/src/main/java/millions/Exchange.java b/src/main/java/millions/model/Exchange.java similarity index 98% rename from src/main/java/millions/Exchange.java rename to src/main/java/millions/model/Exchange.java index 57d077c..fd4d7c1 100644 --- a/src/main/java/millions/Exchange.java +++ b/src/main/java/millions/model/Exchange.java @@ -1,4 +1,4 @@ -package millions; +package millions.model; import java.math.BigDecimal; import java.math.RoundingMode; diff --git a/src/main/java/millions/Player.java b/src/main/java/millions/model/Player.java similarity index 98% rename from src/main/java/millions/Player.java rename to src/main/java/millions/model/Player.java index c68f842..9b8ce1f 100644 --- a/src/main/java/millions/Player.java +++ b/src/main/java/millions/model/Player.java @@ -1,4 +1,4 @@ -package millions; +package millions.model; import java.math.BigDecimal; import java.math.RoundingMode; diff --git a/src/main/java/millions/Portfolio.java b/src/main/java/millions/model/Portfolio.java similarity index 92% rename from src/main/java/millions/Portfolio.java rename to src/main/java/millions/model/Portfolio.java index 35447fb..f5f99d6 100644 --- a/src/main/java/millions/Portfolio.java +++ b/src/main/java/millions/model/Portfolio.java @@ -1,6 +1,6 @@ -package millions; +package millions.model; -import millions.calculators.SaleCalculator; +import millions.model.calculators.SaleCalculator; import java.math.BigDecimal; import java.util.ArrayList; diff --git a/src/main/java/millions/Purchase.java b/src/main/java/millions/model/Purchase.java similarity index 88% rename from src/main/java/millions/Purchase.java rename to src/main/java/millions/model/Purchase.java index 72f02ad..70bf608 100644 --- a/src/main/java/millions/Purchase.java +++ b/src/main/java/millions/model/Purchase.java @@ -1,6 +1,6 @@ -package millions; +package millions.model; -import millions.calculators.PurchaseCalculator; +import millions.model.calculators.PurchaseCalculator; public class Purchase extends Transaction { diff --git a/src/main/java/millions/Sale.java b/src/main/java/millions/model/Sale.java similarity index 88% rename from src/main/java/millions/Sale.java rename to src/main/java/millions/model/Sale.java index 25f2919..79ef8b0 100644 --- a/src/main/java/millions/Sale.java +++ b/src/main/java/millions/model/Sale.java @@ -1,6 +1,6 @@ -package millions; +package millions.model; -import millions.calculators.SaleCalculator; +import millions.model.calculators.SaleCalculator; public class Sale extends Transaction { diff --git a/src/main/java/millions/Share.java b/src/main/java/millions/model/Share.java similarity index 97% rename from src/main/java/millions/Share.java rename to src/main/java/millions/model/Share.java index 5db6738..615dc68 100644 --- a/src/main/java/millions/Share.java +++ b/src/main/java/millions/model/Share.java @@ -1,4 +1,4 @@ -package millions; +package millions.model; import java.math.BigDecimal; diff --git a/src/main/java/millions/Stock.java b/src/main/java/millions/model/Stock.java similarity index 98% rename from src/main/java/millions/Stock.java rename to src/main/java/millions/model/Stock.java index 9de5641..feff8bb 100644 --- a/src/main/java/millions/Stock.java +++ b/src/main/java/millions/model/Stock.java @@ -1,4 +1,4 @@ -package millions; +package millions.model; import java.math.BigDecimal; import java.util.ArrayList; diff --git a/src/main/java/millions/Transaction.java b/src/main/java/millions/model/Transaction.java similarity index 90% rename from src/main/java/millions/Transaction.java rename to src/main/java/millions/model/Transaction.java index 22fc754..8dfdd4f 100644 --- a/src/main/java/millions/Transaction.java +++ b/src/main/java/millions/model/Transaction.java @@ -1,6 +1,6 @@ -package millions; +package millions.model; -import millions.calculators.TransactionCalculator; +import millions.model.calculators.TransactionCalculator; public abstract class Transaction { diff --git a/src/main/java/millions/TransactionArchive.java b/src/main/java/millions/model/TransactionArchive.java similarity index 98% rename from src/main/java/millions/TransactionArchive.java rename to src/main/java/millions/model/TransactionArchive.java index 0a83e92..5e8b407 100644 --- a/src/main/java/millions/TransactionArchive.java +++ b/src/main/java/millions/model/TransactionArchive.java @@ -1,4 +1,4 @@ -package millions; +package millions.model; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/millions/calculators/PurchaseCalculator.java b/src/main/java/millions/model/calculators/PurchaseCalculator.java similarity index 92% rename from src/main/java/millions/calculators/PurchaseCalculator.java rename to src/main/java/millions/model/calculators/PurchaseCalculator.java index e23293c..1f7b341 100644 --- a/src/main/java/millions/calculators/PurchaseCalculator.java +++ b/src/main/java/millions/model/calculators/PurchaseCalculator.java @@ -1,7 +1,7 @@ -package millions.calculators; +package millions.model.calculators; import java.math.BigDecimal; -import millions.Share; +import millions.model.Share; public class PurchaseCalculator implements TransactionCalculator { BigDecimal purchasePrice; diff --git a/src/main/java/millions/calculators/SaleCalculator.java b/src/main/java/millions/model/calculators/SaleCalculator.java similarity index 94% rename from src/main/java/millions/calculators/SaleCalculator.java rename to src/main/java/millions/model/calculators/SaleCalculator.java index 1ceaed6..96bc6b1 100644 --- a/src/main/java/millions/calculators/SaleCalculator.java +++ b/src/main/java/millions/model/calculators/SaleCalculator.java @@ -1,8 +1,8 @@ -package millions.calculators; +package millions.model.calculators; import java.math.BigDecimal; import java.math.RoundingMode; -import millions.Share; +import millions.model.Share; public class SaleCalculator implements TransactionCalculator { BigDecimal purchasePrice; diff --git a/src/main/java/millions/calculators/TransactionCalculator.java b/src/main/java/millions/model/calculators/TransactionCalculator.java similarity index 86% rename from src/main/java/millions/calculators/TransactionCalculator.java rename to src/main/java/millions/model/calculators/TransactionCalculator.java index 8b85c6a..d2d3917 100644 --- a/src/main/java/millions/calculators/TransactionCalculator.java +++ b/src/main/java/millions/model/calculators/TransactionCalculator.java @@ -1,4 +1,4 @@ -package millions.calculators; +package millions.model.calculators; import java.math.BigDecimal; diff --git a/src/test/java/millions/ExchangeTest.java b/src/test/java/millions/ExchangeTest.java index f0479b2..ca4c2fc 100644 --- a/src/test/java/millions/ExchangeTest.java +++ b/src/test/java/millions/ExchangeTest.java @@ -4,6 +4,11 @@ import java.math.BigDecimal; import java.util.List; + +import millions.model.Exchange; +import millions.model.Player; +import millions.model.Share; +import millions.model.Stock; import org.junit.jupiter.api.Test; class ExchangeTest { diff --git a/src/test/java/millions/PlayerTest.java b/src/test/java/millions/PlayerTest.java index dc3fa3d..839b52c 100644 --- a/src/test/java/millions/PlayerTest.java +++ b/src/test/java/millions/PlayerTest.java @@ -3,6 +3,8 @@ import static org.junit.jupiter.api.Assertions.*; import java.math.BigDecimal; + +import millions.model.Player; import org.junit.jupiter.api.Test; class PlayerTest { diff --git a/src/test/java/millions/PortfolioTest.java b/src/test/java/millions/PortfolioTest.java index 69bb678..286da55 100644 --- a/src/test/java/millions/PortfolioTest.java +++ b/src/test/java/millions/PortfolioTest.java @@ -3,6 +3,10 @@ import static org.junit.jupiter.api.Assertions.*; import java.math.BigDecimal; + +import millions.model.Portfolio; +import millions.model.Share; +import millions.model.Stock; import org.junit.jupiter.api.Test; class PortfolioTest { diff --git a/src/test/java/millions/PurchaseTest.java b/src/test/java/millions/PurchaseTest.java index 4cbb6cc..941ac87 100644 --- a/src/test/java/millions/PurchaseTest.java +++ b/src/test/java/millions/PurchaseTest.java @@ -3,6 +3,11 @@ import static org.junit.jupiter.api.Assertions.*; import java.math.BigDecimal; + +import millions.model.Player; +import millions.model.Purchase; +import millions.model.Share; +import millions.model.Stock; import org.junit.jupiter.api.Test; class PurchaseTest { diff --git a/src/test/java/millions/SaleTest.java b/src/test/java/millions/SaleTest.java index a9202b7..1c02005 100644 --- a/src/test/java/millions/SaleTest.java +++ b/src/test/java/millions/SaleTest.java @@ -3,6 +3,11 @@ import static org.junit.jupiter.api.Assertions.*; import java.math.BigDecimal; + +import millions.model.Player; +import millions.model.Sale; +import millions.model.Share; +import millions.model.Stock; import org.junit.jupiter.api.Test; class SaleTest { diff --git a/src/test/java/millions/ShareTest.java b/src/test/java/millions/ShareTest.java index 0925c5b..25862ee 100644 --- a/src/test/java/millions/ShareTest.java +++ b/src/test/java/millions/ShareTest.java @@ -3,6 +3,9 @@ import static org.junit.jupiter.api.Assertions.*; import java.math.BigDecimal; + +import millions.model.Share; +import millions.model.Stock; import org.junit.jupiter.api.Test; class ShareTest { diff --git a/src/test/java/millions/StockTest.java b/src/test/java/millions/StockTest.java index 13a95a8..50afb44 100644 --- a/src/test/java/millions/StockTest.java +++ b/src/test/java/millions/StockTest.java @@ -5,6 +5,8 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; + +import millions.model.Stock; import org.junit.jupiter.api.Test; class StockTest { diff --git a/src/test/java/millions/TransactionArchiveTest.java b/src/test/java/millions/TransactionArchiveTest.java index 64d1c2c..c87ef93 100644 --- a/src/test/java/millions/TransactionArchiveTest.java +++ b/src/test/java/millions/TransactionArchiveTest.java @@ -4,6 +4,8 @@ import java.math.BigDecimal; import java.util.List; + +import millions.model.*; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;