public final class ProductTransformUtils
extends java.lang.Object
Constructor and Description |
---|
ProductTransformUtils() |
Modifier and Type | Method and Description |
---|---|
static java.util.concurrent.CompletableFuture<java.util.List<io.sphere.sdk.products.ProductDraft>> |
toProductDrafts(io.sphere.sdk.client.SphereClient client,
ReferenceIdToKeyCache referenceIdToKeyCache,
java.util.List<io.sphere.sdk.products.ProductProjection> products)
Transforms products by resolving the references and map them to ProductDrafts.
|
@Nonnull public static java.util.concurrent.CompletableFuture<java.util.List<io.sphere.sdk.products.ProductDraft>> toProductDrafts(@Nonnull io.sphere.sdk.client.SphereClient client, @Nonnull ReferenceIdToKeyCache referenceIdToKeyCache, @Nonnull java.util.List<io.sphere.sdk.products.ProductProjection> products)
This 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.
client
- commercetools client.referenceIdToKeyCache
- the instance that manages cache.products
- the products to replace the references and attributes id's with keys.TODO: Move the implementation from service class to this util class.