Skip to content

Commit ee1cf64

Browse files
author
salander85
committed
Make graphql result processing nullsafe
1 parent 1653aa0 commit ee1cf64

1 file changed

Lines changed: 8 additions & 11 deletions

File tree

src/main/java/com/commercetools/sync/services/impl/BaseService.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.commercetools.sync.services.impl;
22

33
import static com.commercetools.sync.commons.utils.CompletableFutureUtils.collectionOfFuturesToFutureOfCollection;
4+
import static com.commercetools.sync.commons.utils.CustomValueConverter.isValidTextNode;
45
import static java.lang.String.format;
56
import static java.util.stream.Collectors.toList;
67
import static org.apache.commons.lang3.StringUtils.isBlank;
@@ -11,6 +12,7 @@
1112
import com.commercetools.api.models.ResourcePagedQueryResponse;
1213
import com.commercetools.api.models.graph_ql.GraphQLRequest;
1314
import com.commercetools.api.models.graph_ql.GraphQLRequestBuilder;
15+
import com.commercetools.api.models.graph_ql.GraphQLResponse;
1416
import com.commercetools.api.models.graph_ql.GraphQLVariablesMapBuilder;
1517
import com.commercetools.sync.commons.BaseSyncOptions;
1618
import com.commercetools.sync.commons.exceptions.SyncException;
@@ -26,13 +28,8 @@
2628
import io.vrap.rmf.base.client.Draft;
2729
import io.vrap.rmf.base.client.error.NotFoundException;
2830
import io.vrap.rmf.base.client.utils.json.JsonUtils;
29-
import java.util.Collections;
30-
import java.util.HashSet;
31-
import java.util.Iterator;
32-
import java.util.List;
33-
import java.util.Map;
34-
import java.util.Optional;
35-
import java.util.Set;
31+
32+
import java.util.*;
3633
import java.util.concurrent.CompletableFuture;
3734
import java.util.concurrent.CompletionException;
3835
import java.util.concurrent.CompletionStage;
@@ -145,10 +142,10 @@ public CompletionStage<Map<String, String>> cacheKeysToIdsUsingGraphQl(
145142
.thenApply(
146143
graphQlResults -> {
147144
graphQlResults.stream()
148-
.map(r -> r.getBody().getData())
149-
// todo: set limit to -1, the payload will have errors object but what to do with
150-
// it ?
151-
// .filter(Objects::nonNull)
145+
.map(ApiHttpResponse::getBody)
146+
.filter(Objects::nonNull)
147+
.map(GraphQLResponse::getData)
148+
.filter(Objects::nonNull)
152149
.forEach(
153150
data -> {
154151
ObjectMapper objectMapper = JsonUtils.getConfiguredObjectMapper();

0 commit comments

Comments
 (0)