From 1d52d3b1029b255dd2e4cfe0dff132c349e1ab0e Mon Sep 17 00:00:00 2001 From: Vasil Ilchev Date: Thu, 5 Dec 2024 11:25:09 +0200 Subject: [PATCH] Fix NPE when DMF Status Messages contain null element (#2119) Co-authored-by: vasilchev --- .../builder/AbstractActionStatusCreate.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractActionStatusCreate.java b/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractActionStatusCreate.java index 9301c9132..264a23866 100644 --- a/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractActionStatusCreate.java +++ b/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractActionStatusCreate.java @@ -12,6 +12,7 @@ package org.eclipse.hawkbit.repository.builder; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; @@ -51,18 +52,20 @@ public abstract class AbstractActionStatusCreate { public T messages(final Collection messages) { if (this.messages == null) { // create modifiable list - this.messages = messages.stream().map(String::strip).collect(Collectors.toCollection(ArrayList::new)); + this.messages = messages.stream().filter(Objects::nonNull).map(String::strip).collect(Collectors.toCollection(ArrayList::new)); } else { - this.messages.addAll(messages.stream().map(String::strip).toList()); + this.messages.addAll(messages.stream().filter(Objects::nonNull).map(String::strip).toList()); } return (T) this; } public T message(final String message) { - if (this.messages == null) { - this.messages = new ArrayList<>(); + if (message != null) { + if (this.messages == null) { + this.messages = new ArrayList<>(); + } + this.messages.add(message.strip()); } - this.messages.add(message.strip()); return (T) this; }