From 73fdb9e6c917211a6a873e948985dce9fe32cbbf Mon Sep 17 00:00:00 2001 From: Robin Strand Prestmo Date: Fri, 20 Feb 2026 12:52:50 +0100 Subject: [PATCH] Added findMessageById in inbox --- .../sytemutvikling/team6/models/Inbox.java | 33 ++++++++++++++----- .../sytemutvikling/team6/models/Message.java | 3 +- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java index 1cbc64c..37b7013 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Inbox.java @@ -1,18 +1,15 @@ package ntnu.sytemutvikling.team6.models; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.util.*; // Unntakshåndtering mangler // Enhetstester mangler -// Message får kanskje en UUID, da er det mer fornuftig å bruke denne, vertfall for removeMessage /** * Represents a users inbox that contains messages. * Provides methods to add, remove and get messages. * - * @Author Robin Strand Prestmo + * @author Robin Strand Prestmo */ public class Inbox { private final List messages; @@ -20,7 +17,7 @@ public class Inbox { /** * Creates an empty inbox with no messages. */ - public Inbox(){ + public Inbox() { this.messages = new ArrayList<>(); } @@ -33,6 +30,24 @@ public List getMessages() { return Collections.unmodifiableList(messages); } + /** + * Finds a specific message by id. + * + * @param messageId is the ID to the message that is searching after. + * @return message with matching id if the id exists. + */ + public Optional findMessageById(UUID messageId) { + if (messageId == null) { + throw new IllegalArgumentException("MessageId cannot be null."); + } + return messages.stream().filter(message -> messageId.equals(message.getId())).findFirst(); + } + + /** + * Add´s message to the messages list. + * + * @param message to be added + */ public void addMessage(Message message) { messages.add(message); } @@ -40,10 +55,10 @@ public void addMessage(Message message) { /** * Removes a message from the inbox list. * - * @param message the message to be removed + * @param messageId the id to the message to be removed * @return true if the message was removed, false if not found. */ - public boolean removeMessage(Message message) { - return messages.remove(message); + public boolean removeMessage(UUID messageId) { + return messages.removeIf(message -> messageId.equals(message.getId())); } } diff --git a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java index 7d0f951..10ea569 100644 --- a/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java +++ b/helpmehelpapplication/src/main/java/ntnu/sytemutvikling/team6/models/Message.java @@ -6,7 +6,7 @@ // Enhetstester mangler /** - * Represents a message + * Represents a message. * * @author Robin Strand Prestmo */ @@ -69,5 +69,4 @@ public String getContent() { public LocalDateTime getTimeAndDate() { return timeAndDate; } - } \ No newline at end of file