public class ProductTransformServiceImpl extends BaseTransformServiceImpl implements ProductTransformService
CHUNK_SIZE, KEY_IS_NOT_SET_PLACE_HOLDER, referenceIdToKeyCache| Constructor and Description |
|---|
ProductTransformServiceImpl(io.sphere.sdk.client.SphereClient ctpClient,
ReferenceIdToKeyCache referenceIdToKeyCache) |
| Modifier and Type | Method and Description |
|---|---|
java.util.concurrent.CompletionStage<java.util.List<io.sphere.sdk.products.ProductProjection>> |
replaceAttributeReferenceIdsWithKeys(java.util.List<io.sphere.sdk.products.ProductProjection> products)
Replaces the ids on attribute references with keys.
|
java.util.concurrent.CompletableFuture<java.util.List<io.sphere.sdk.products.ProductDraft>> |
toProductDrafts(java.util.List<io.sphere.sdk.products.ProductProjection> products)
Transforms products by resolving the references and map them to ProductDrafts.
|
cacheResourceReferenceKeys, cacheResourceReferenceKeys, createResourceIdsGraphQlRequests, fetchAndFillReferenceIdToKeyCache, getCtpClient, getNonCachedReferenceIdspublic ProductTransformServiceImpl(@Nonnull
io.sphere.sdk.client.SphereClient ctpClient,
@Nonnull
ReferenceIdToKeyCache referenceIdToKeyCache)
@Nonnull
public java.util.concurrent.CompletableFuture<java.util.List<io.sphere.sdk.products.ProductDraft>> toProductDrafts(@Nonnull
java.util.List<io.sphere.sdk.products.ProductProjection> products)
ProductTransformServiceThis method replaces the ids on attribute references with keys and resolves(fetch key values
for the reference id's) non null and unexpanded references of the productProduct by
using cache.
If the reference ids are already cached, key values are pulled from the cache, otherwise it executes the query to fetch the key value for the reference id's and store the idToKey value pair in the cache for reuse.
Then maps the Product to ProductDraft by performing reference resolution considering idToKey value from the cache.
toProductDrafts in interface ProductTransformServiceproducts - the products to replace the references and attributes id's with keys.@Nonnull
public java.util.concurrent.CompletionStage<java.util.List<io.sphere.sdk.products.ProductProjection>> replaceAttributeReferenceIdsWithKeys(@Nonnull
java.util.List<io.sphere.sdk.products.ProductProjection> products)
Note: this method mutates the products passed by changing the reference keys with ids.
products - the products to replace the reference attributes ids with keys on.