diff --git a/src/main/java/interface_adapters/Dashboard/DashboardPresenter.java b/src/main/java/interface_adapters/Dashboard/DashboardPresenter.java index be144e6..c25c327 100644 --- a/src/main/java/interface_adapters/Dashboard/DashboardPresenter.java +++ b/src/main/java/interface_adapters/Dashboard/DashboardPresenter.java @@ -18,8 +18,11 @@ public DashboardPresenter(ViewManagerModel viewManagerModel, DashboardViewModel public void prepareSuccessView(DashboardOutputData dashboardOutputData) { // Get the current dashboardViewModel's state DashboardState dashboardState = dashboardViewModel.getState(); - // Alter the state such that it updates to the new portfolioInformation and user stats - dashboardState.setOwnedStocks(dashboardOutputData.getPortfolioInformation()); + // Alter the state such that it updates to the new ticker, amount, and full name info + // and user stats + dashboardState.setOwnedAmounts(dashboardOutputData.getAmountInformation()); + dashboardState.setOwnedTickers(dashboardOutputData.getTickerInformation()); + dashboardState.setOwnedFullNames(dashboardOutputData.getFullNamesInformation()); dashboardState.setUserStats(dashboardOutputData.getUserStats()); // fire the property changed for dashboard view model dashboardViewModel.firePropertyChanged(); diff --git a/src/main/java/interface_adapters/Dashboard/DashboardState.java b/src/main/java/interface_adapters/Dashboard/DashboardState.java index e46e34a..9d245a9 100644 --- a/src/main/java/interface_adapters/Dashboard/DashboardState.java +++ b/src/main/java/interface_adapters/Dashboard/DashboardState.java @@ -7,15 +7,40 @@ public class DashboardState { private HashMap userStats; // change owned stocks data type - private List ownedStocks; + private List ownedTickers; + private List ownedFullNames; + private List ownedAmounts; - public DashboardState(HashMap userStats, List ownedStocks) { + public DashboardState(HashMap userStats, List ownedTickers, + List ownedFullNames, List ownedAmounts) { this.userStats = userStats; - this.ownedStocks = ownedStocks; + this.ownedTickers = ownedTickers; + this.ownedAmounts = ownedAmounts; + this.ownedFullNames = ownedFullNames; } - public List getOwnedStocks() { - return this.ownedStocks; + public List getOwnedAmounts() { + return this.ownedAmounts; + } + + public void setOwnedAmounts(List ownedAmounts) { + this.ownedAmounts = ownedAmounts; + } + + public List getOwnedTickers() { + return ownedTickers; + } + + public void setOwnedTickers(List ownedTickers) { + this.ownedTickers = ownedTickers; + } + + public List getOwnedFullNames() { + return ownedFullNames; + } + + public void setOwnedFullNames(List ownedFullNames) { + this.ownedFullNames = ownedFullNames; } public HashMap getUserStats() { @@ -26,9 +51,6 @@ public void setUserStats(HashMap userStats) { this.userStats = userStats; } - public void setOwnedStocks(List ownedStocks) { - this.ownedStocks = ownedStocks; - } // Because of the previous copy constructor, the default constructor must be explicit. Hence overloading. public DashboardState() { diff --git a/src/main/java/use_cases/Dashboard/DashboardOutputBoundary.java b/src/main/java/use_cases/Dashboard/DashboardOutputBoundary.java index 72c6e3c..15c6cfb 100644 --- a/src/main/java/use_cases/Dashboard/DashboardOutputBoundary.java +++ b/src/main/java/use_cases/Dashboard/DashboardOutputBoundary.java @@ -1,4 +1,4 @@ -package interface_adapters.Dashboard; +package use_cases.Dashboard; import use_cases.Dashboard.DashboardOutputData; diff --git a/src/main/java/use_cases/Dashboard/DashboardOutputData.java b/src/main/java/use_cases/Dashboard/DashboardOutputData.java index fa95fb6..47bb74b 100644 --- a/src/main/java/use_cases/Dashboard/DashboardOutputData.java +++ b/src/main/java/use_cases/Dashboard/DashboardOutputData.java @@ -2,6 +2,7 @@ import entities.PortfolioInformation; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -18,7 +19,31 @@ public HashMap getUserStats() { return this.userStats; } - public List getPortfolioInformations() { - return this.portfolioInformation; + public List getTickerInformation() { + List tickers = new ArrayList(); + + for (PortfolioInformation pdata: portfolioInformation) { + tickers.add(pdata.getTicker()); + } + return tickers; + } + + + public List getFullNamesInformation() { + List fullNames = new ArrayList(); + + for (PortfolioInformation pdata: portfolioInformation) { + fullNames.add(pdata.getFullName()); + } + return fullNames; + } + + public List getAmountInformation() { + List amount = new ArrayList(); + + for (PortfolioInformation pdata: portfolioInformation) { + amount.add(pdata.getAmount()); + } + return amount; } }