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())); }