Skip to content

Commit 6ac355c

Browse files
authored
Merge pull request #1034 from commercetools/DEVX-741-Support-null-in-address-in-Delivery
DEVX-741-Support-null-in-address-in-Delivery
2 parents 7d4f48a + 03d5acb commit 6ac355c

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

.git-blame-ignore-revs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,4 @@ c4e2bf407aa0b7a3d34605134791013ba8a2d376
2323
9232c8f806b5eebeff35c09b1616b6598f3f5e73
2424
062fb57831db2e3e25afc1bd63cf8b09d46ffa67
2525
13fa17ad575aadf0ef823d63d86fbbdd4a37cd9b
26+
f00f4fe6ed5e22cdd2e3f68370c2da96e6bbc8e7

commercetools/commercetools-sdk-java-api/src/main/java/com/commercetools/api/models/order/DeliveryMixin.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
package com.commercetools.api.models.order;
33

44
import java.util.List;
5+
import java.util.Optional;
56

67
import com.commercetools.api.models.common.Address;
78
import com.commercetools.api.models.type.CustomFields;
@@ -17,10 +18,10 @@ public interface DeliveryMixin {
1718

1819
public default DeliveryDraftBuilder toDraftBuilder() {
1920
return DeliveryDraft.builder()
20-
.address(this.getAddress().toDraft())
21+
.address(Optional.ofNullable(this.getAddress()).map(Address::toDraft).orElse(null))
2122
.items(this.getItems())
2223
.parcels(this.getParcels().stream().map(Parcel::toDraft).collect(java.util.stream.Collectors.toList()))
23-
.custom(this.getCustom().toDraft());
24+
.custom(Optional.ofNullable(this.getCustom()).map(CustomFields::toDraft).orElse(null));
2425
}
2526

2627
public default DeliveryDraft toDraft() {

commercetools/internal-docs/src/test/java/example/HelperMethodsTest.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static java.util.Collections.singletonList;
66
import static java.util.stream.Collectors.toList;
77

8+
import java.time.ZonedDateTime;
89
import java.util.*;
910
import java.util.stream.Collectors;
1011
import java.util.stream.IntStream;
@@ -67,6 +68,8 @@
6768

6869
import org.javamoney.moneta.CurrencyUnitBuilder;
6970
import org.javamoney.moneta.FastMoney;
71+
import org.junit.jupiter.api.Assertions;
72+
import org.junit.jupiter.api.Test;
7073

7174
// the scope of this class is to give the possibility to the JAvaDoc to get the related examples
7275
public class HelperMethodsTest {
@@ -966,10 +969,19 @@ public void deliveryToDraft() {
966969
final DeliveryDraft deliveryDraft = delivery.toDraft();
967970
}
968971

972+
@Test
969973
public void deliveryToDraftBuilder() {
970-
final Delivery delivery = DeliveryBuilder.of().id("delivery-id").build();
974+
final Delivery delivery = DeliveryBuilder.of()
975+
.id("delivery-id")
976+
.createdAt(ZonedDateTime.now())
977+
.items(List.of())
978+
.parcels(List.of())
979+
.build();
971980

972981
final DeliveryDraftBuilder deliveryDraftBuilder = delivery.toDraftBuilder();
982+
Assertions.assertNotNull(deliveryDraftBuilder);
983+
Assertions.assertNull(deliveryDraftBuilder.getAddress());
984+
Assertions.assertNull(deliveryDraftBuilder.getCustom());
973985
}
974986

975987
public void orderSetDeliveryAddressUnset() {

0 commit comments

Comments
 (0)