Skip to content

Commit 6c09dc0

Browse files
committed
DEVX-640: keyResolver for not null
1 parent 9f643e4 commit 6c09dc0

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.commercetools.sdk;
2+
3+
import com.commercetools.api.models.IdentifiableObjHolder;
4+
import com.commercetools.api.models.WithKey;
5+
6+
public class ExpandObjResolverService<T extends IdentifiableObjHolder<TResource>, TResource extends WithKey> implements KeyResolverService<T> {
7+
8+
public String resolveKey(T identifiable) {
9+
return identifiable.getObj().getKey();
10+
}
11+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.commercetools.sdk;
2+
3+
public interface KeyResolverService<T> {
4+
public String resolveKey(T identifiable);
5+
}

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
21
package com.commercetools.sdk;
32

43
import java.time.LocalDate;
54
import java.time.ZonedDateTime;
65
import java.util.*;
76
import java.util.stream.Collectors;
87

8+
import com.commercetools.api.models.category.CategoryReference;
99
import com.commercetools.api.models.common.CentPrecisionMoney;
1010
import com.commercetools.api.models.common.LocalizedString;
1111
import com.commercetools.api.models.common.Money;
@@ -26,7 +26,11 @@
2626
import com.commercetools.importapi.models.productvariants.NumberAttribute;
2727

2828
public final class ProductUtil {
29+
private static KeyResolverService<CategoryReference> catKeyResolverService;
2930

31+
public ProductUtil() {
32+
catKeyResolverService = new ExpandObjResolverService<>();
33+
}
3034
public static ProductDraftImport toProductDraftImport(ProductProjection product) {
3135
var draft = ProductDraftImport.builder()
3236
.key(product.getKey())
@@ -151,7 +155,7 @@ private static List<com.commercetools.importapi.models.common.Asset> importAsset
151155
private static List<CategoryKeyReference> extractCategoryKeyReference(ProductProjection product) {
152156
return product.getCategories()
153157
.stream()
154-
.map(c -> CategoryKeyReference.builder().key(c.getObj().getKey()).build())
158+
.map(c -> CategoryKeyReference.builder().key(catKeyResolverService.resolveKey(c)).build())
155159
.collect(Collectors.toList());
156160
}
157161

0 commit comments

Comments
 (0)