diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index bf270bbc4b..3596d580c9 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -23,3 +23,4 @@ c4e2bf407aa0b7a3d34605134791013ba8a2d376 9232c8f806b5eebeff35c09b1616b6598f3f5e73 062fb57831db2e3e25afc1bd63cf8b09d46ffa67 13fa17ad575aadf0ef823d63d86fbbdd4a37cd9b +f00f4fe6ed5e22cdd2e3f68370c2da96e6bbc8e7 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 b5b3b77af1..992f761751 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() { diff --git a/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java b/commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java index 35aa4d326b..96a12d6682 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,8 @@ 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 public class HelperMethodsTest { @@ -966,10 +969,19 @@ 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(); + Assertions.assertNotNull(deliveryDraftBuilder); + Assertions.assertNull(deliveryDraftBuilder.getAddress()); + Assertions.assertNull(deliveryDraftBuilder.getCustom()); } public void orderSetDeliveryAddressUnset() {