From 43f256c1211fd6e1c527aa3b92b7f7934dae869c Mon Sep 17 00:00:00 2001 From: i302705 Date: Fri, 23 Oct 2026 07:24:11 +0300 Subject: [PATCH] chore: Improve Utils.Streams.asStream and Utils.Streams.asList --- .../main/java/com/sap/cds/feature/ord/common/Utils.java | 9 ++++++--- .../java/com/sap/cds/feature/ord/common/UtilsTest.java | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cds-feature-ord/src/main/java/com/sap/cds/feature/ord/common/Utils.java b/cds-feature-ord/src/main/java/com/sap/cds/feature/ord/common/Utils.java index 62aeb61..c70acf2 100644 --- a/cds-feature-ord/src/main/java/com/sap/cds/feature/ord/common/Utils.java +++ b/cds-feature-ord/src/main/java/com/sap/cds/feature/ord/common/Utils.java @@ -7,6 +7,7 @@ import static com.sap.cds.feature.ord.common.Utils.Exceptions.asLocalizedErrorMessage; import static com.sap.cds.services.utils.CdsErrorStatuses.ERROR_READING_ORD_DOCUMENT; import static java.lang.Thread.currentThread; +import static java.util.Objects.isNull; import static java.util.Objects.nonNull; import static java.util.Spliterator.ORDERED; import static java.util.Spliterators.spliteratorUnknownSize; @@ -82,12 +83,14 @@ public static ClassicHttpResponse assertSuccessful(ClassicHttpResponse response) public static class Streams { public static Stream asStream(Iterable iterable) { - return StreamSupport.stream(iterable.spliterator(), false); + return isNull(iterable) ? Stream.empty() : StreamSupport.stream(iterable.spliterator(), false); } public static List asList(Iterator iterator) { - return StreamSupport.stream(spliteratorUnknownSize(iterator, ORDERED), false) - .toList(); + return isNull(iterator) + ? List.of() + : StreamSupport.stream(spliteratorUnknownSize(iterator, ORDERED), false) + .toList(); } } diff --git a/cds-feature-ord/src/test/java/com/sap/cds/feature/ord/common/UtilsTest.java b/cds-feature-ord/src/test/java/com/sap/cds/feature/ord/common/UtilsTest.java index 078e09c..ece2b3d 100644 --- a/cds-feature-ord/src/test/java/com/sap/cds/feature/ord/common/UtilsTest.java +++ b/cds-feature-ord/src/test/java/com/sap/cds/feature/ord/common/UtilsTest.java @@ -89,11 +89,13 @@ void givenStatusCodeIsError_whenHttpAssertSuccessfulIsCalled_thenExceptionIsThro @Test void whenStreamsAsStreamIsCalled_thenCorrectResultIsReturned() { + assertEquals(List.of(), Utils.Streams.asStream(null).toList()); assertEquals(List.of(1, 2, 3), Utils.Streams.asStream(List.of(1, 2, 3)).toList()); } @Test void whenStreamsAsListIsCalled_thenCorrectResultIsReturned() { + assertEquals(List.of(), Utils.Streams.asList(null)); assertEquals(List.of(1, 2, 3), Utils.Streams.asList(List.of(1, 2, 3).iterator())); }