Skip to content

Commit ca97ad8

Browse files
committed
DEVX-813: adding null checks
1 parent 38df229 commit ca97ad8

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

commercetools/commercetools-importapi-utils/src/main/java/com/commercetools/sdk/ProductUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ private static ProductVariantDraftImport extractProductVariantDraftImport(Produc
139139
}
140140

141141
public static @NotNull List<Image> toImportImages(List<com.commercetools.api.models.common.Image> images) {
142+
if (images == null) return null;
142143
return images.stream()
143144
.map(i -> Image.builder()
144145
.dimensions(

commercetools/commercetools-importapi-utils/src/main/java/com/commercetools/sdk/ProductVariantUtil.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import static com.commercetools.sdk.CommonImportUtil.importAssets;
55
import static com.commercetools.sdk.ProductUtil.toImportImages;
66

7+
import java.util.Arrays;
8+
import java.util.Optional;
79
import java.util.stream.Collectors;
810

911
import com.commercetools.api.models.product.ProductProjection;
@@ -12,14 +14,20 @@
1214

1315
public class ProductVariantUtil {
1416
public ProductVariantImport toProductVariantImport(ProductProjection product, ProductVariant variant) {
17+
return toProductVariantImport(product, variant, false);
18+
}
19+
public ProductVariantImport toProductVariantImport(ProductProjection product, ProductVariant variant, Boolean staged) {
1520
return ProductVariantImport.builder()
1621
.key(variant.getKey()) // required field
1722
.sku(variant.getSku())
1823
.isMasterVariant(variant.getId().equals(product.getMasterVariant().getId())) // required field
1924
.attributes(
20-
variant.getAttributes().stream().map(ProductUtil::mapAttribute).collect(Collectors.toList()))
25+
Optional.ofNullable(variant.getAttributes())
26+
.map(attrs -> attrs.stream().map(ProductUtil::mapAttribute).collect(Collectors.toList()))
27+
.orElse(null))
2128
.images(toImportImages(variant.getImages()))
2229
.assets(importAssets(variant.getAssets()))
30+
.staged(staged)
2331
.product(p -> p.key(product.getKey())) // required field
2432
.build();
2533
}

0 commit comments

Comments
 (0)