Class ProductTransformUtils


  • public final class ProductTransformUtils
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.concurrent.CompletableFuture<java.util.List<com.commercetools.api.models.product.ProductDraft>> toProductDrafts​(com.commercetools.api.client.ProjectApiRoot client, ReferenceIdToKeyCache referenceIdToKeyCache, java.util.List<com.commercetools.api.models.product.ProductProjection> products)
      Transforms products by resolving the references and map them to ProductDrafts.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProductTransformUtils

        public ProductTransformUtils()
    • Method Detail

      • toProductDrafts

        @Nonnull
        public static java.util.concurrent.CompletableFuture<java.util.List<com.commercetools.api.models.product.ProductDraft>> toProductDrafts​(@Nonnull
                                                                                                                                                com.commercetools.api.client.ProjectApiRoot client,
                                                                                                                                                @Nonnull
                                                                                                                                                ReferenceIdToKeyCache referenceIdToKeyCache,
                                                                                                                                                @Nonnull
                                                                                                                                                java.util.List<com.commercetools.api.models.product.ProductProjection> products)
        Transforms products by resolving the references and map them to ProductDrafts.

        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.

        Parameters:
        client - commercetools client.
        referenceIdToKeyCache - the instance that manages cache.
        products - the products to replace the references and attributes id's with keys.
        Returns:
        a new list which contains productDrafts which have all their references and attributes references resolved and already replaced with keys.