From 853f9a93c38c4ac115ddb5a17c90d330a3018da0 Mon Sep 17 00:00:00 2001 From: PawelSapula Date: Mon, 25 May 2026 17:49:56 +0200 Subject: [PATCH] feat(Exchange MVC): Sort by if stock has new news --- .../idatt/view/primary/exchange/ExchangeController.java | 9 ++++++++- .../idi/idatt/view/primary/exchange/ExchangeView.java | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeController.java b/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeController.java index d197f9c..8ce104e 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeController.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeController.java @@ -31,6 +31,7 @@ public class ExchangeController extends AbstractController { */ public enum SortAction { NONE, + NEWS, GAINERS, LOSERS } @@ -129,8 +130,14 @@ public void sortStocksBy(SortAction action) { break; } + case NEWS: { + stocksSorted.addAll(session.getExchange().getStocks() + .stream().filter(s -> s.getNewspaper().hasNewNews()).toList()); + break; + } + case GAINERS: { - stocksSorted.addAll(session.getExchange().getGainers(Integer.MAX_VALUE)); // TODO: fix? + stocksSorted.addAll(session.getExchange().getGainers(Integer.MAX_VALUE)); break; } diff --git a/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeView.java b/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeView.java index 029d3c8..9f779a4 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeView.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/primary/exchange/ExchangeView.java @@ -73,9 +73,11 @@ public Parent createHeader() { query -> searchQueryHandler.accept(query), List.of( "None", + "New news", "Gainers (week)", "Losers (week)"), () -> sortHandle.accept(SortAction.NONE), + () -> sortHandle.accept(SortAction.NEWS), () -> sortHandle.accept(SortAction.GAINERS), () -> sortHandle.accept(SortAction.LOSERS)); }