From 41ec4b0af74428080c57a82047ce62294bd346fe Mon Sep 17 00:00:00 2001 From: Anna Shipil Date: Tue, 10 Feb 2026 17:52:06 +0100 Subject: [PATCH 1/5] DEVX-741: managing NullPointerException --- .../com/commercetools/api/models/order/DeliveryMixin.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/order/DeliveryMixin.java b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/order/DeliveryMixin.java index b5b3b77af1d..992f761751e 100644 --- a/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/order/DeliveryMixin.java +++ b/commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/order/DeliveryMixin.java @@ -2,6 +2,7 @@ package com.commercetools.api.models.order; import java.util.List; +import java.util.Optional; import com.commercetools.api.models.common.Address; import com.commercetools.api.models.type.CustomFields; @@ -17,10 +18,10 @@ public interface DeliveryMixin { public default DeliveryDraftBuilder toDraftBuilder() { return DeliveryDraft.builder() - .address(this.getAddress().toDraft()) + .address(Optional.ofNullable(this.getAddress()).map(Address::toDraft).orElse(null)) .items(this.getItems()) .parcels(this.getParcels().stream().map(Parcel::toDraft).collect(java.util.stream.Collectors.toList())) - .custom(this.getCustom().toDraft()); + .custom(Optional.ofNullable(this.getCustom()).map(CustomFields::toDraft).orElse(null)); } public default DeliveryDraft toDraft() { From 4e63e8f69f52f91b0fb3085a092356d1c4050c78 Mon Sep 17 00:00:00 2001 From: Anna Shipil Date: Tue, 10 Feb 2026 17:52:27 +0100 Subject: [PATCH 2/5] DEVX-741: adding test --- .../src/test/java/example/HelperMethodsTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java index 35aa4d326b4..008d3e473d7 100644 --- a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java +++ b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java @@ -5,6 +5,7 @@ import static java.util.Collections.singletonList; import static java.util.stream.Collectors.toList; +import java.time.ZonedDateTime; import java.util.*; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -67,6 +68,7 @@ import org.javamoney.moneta.CurrencyUnitBuilder; import org.javamoney.moneta.FastMoney; +import org.junit.jupiter.api.Test; // the scope of this class is to give the possibility to the JAvaDoc to get the related examples public class HelperMethodsTest { @@ -966,8 +968,9 @@ public void deliveryToDraft() { final DeliveryDraft deliveryDraft = delivery.toDraft(); } + @Test public void deliveryToDraftBuilder() { - final Delivery delivery = DeliveryBuilder.of().id("delivery-id").build(); + final Delivery delivery = DeliveryBuilder.of().id("delivery-id").createdAt(ZonedDateTime.now()).items(List.of()).parcels(List.of()).build(); final DeliveryDraftBuilder deliveryDraftBuilder = delivery.toDraftBuilder(); } From f00f4fe6ed5e22cdd2e3f68370c2da96e6bbc8e7 Mon Sep 17 00:00:00 2001 From: "ct-sdks[bot]" <153784748+ct-sdks[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:13:46 +0000 Subject: [PATCH 3/5] spotless: Fix code style --- .../src/test/java/example/HelperMethodsTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java index 008d3e473d7..54f94ef965d 100644 --- a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java +++ b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java @@ -970,7 +970,12 @@ public void deliveryToDraft() { @Test public void deliveryToDraftBuilder() { - final Delivery delivery = DeliveryBuilder.of().id("delivery-id").createdAt(ZonedDateTime.now()).items(List.of()).parcels(List.of()).build(); + final Delivery delivery = DeliveryBuilder.of() + .id("delivery-id") + .createdAt(ZonedDateTime.now()) + .items(List.of()) + .parcels(List.of()) + .build(); final DeliveryDraftBuilder deliveryDraftBuilder = delivery.toDraftBuilder(); } From e7ad106b7ad9905ac4b196f350e58f3ac034970c Mon Sep 17 00:00:00 2001 From: "ct-sdks[bot]" <153784748+ct-sdks[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:13:46 +0000 Subject: [PATCH 4/5] spotless: add commit to blame ignore revs file --- .git-blame-ignore-revs | 1 + 1 file changed, 1 insertion(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index bf270bbc4bf..3596d580c9d 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -23,3 +23,4 @@ c4e2bf407aa0b7a3d34605134791013ba8a2d376 9232c8f806b5eebeff35c09b1616b6598f3f5e73 062fb57831db2e3e25afc1bd63cf8b09d46ffa67 13fa17ad575aadf0ef823d63d86fbbdd4a37cd9b +f00f4fe6ed5e22cdd2e3f68370c2da96e6bbc8e7 From d9e4f878005188b4d204dd4a58f2756994332648 Mon Sep 17 00:00:00 2001 From: Anna Shipil Date: Wed, 11 Feb 2026 10:47:29 +0100 Subject: [PATCH 5/5] DEVX-741: adding assertions to the test --- .../src/test/java/example/HelperMethodsTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java index 008d3e473d7..1362d3145c4 100644 --- a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java +++ b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java @@ -68,6 +68,7 @@ import org.javamoney.moneta.CurrencyUnitBuilder; import org.javamoney.moneta.FastMoney; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; // the scope of this class is to give the possibility to the JAvaDoc to get the related examples @@ -973,6 +974,9 @@ public void deliveryToDraftBuilder() { final Delivery delivery = DeliveryBuilder.of().id("delivery-id").createdAt(ZonedDateTime.now()).items(List.of()).parcels(List.of()).build(); final DeliveryDraftBuilder deliveryDraftBuilder = delivery.toDraftBuilder(); + Assertions.assertNotNull(deliveryDraftBuilder); + Assertions.assertNull(deliveryDraftBuilder.getAddress()); + Assertions.assertNull(deliveryDraftBuilder.getCustom()); } public void orderSetDeliveryAddressUnset() {