Class CustomerReferenceResolutionUtils


  • public final class CustomerReferenceResolutionUtils
    extends java.lang.Object
    Util class which provides utilities that can be used when syncing resources from a source commercetools project to a target one.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static io.sphere.sdk.customers.queries.CustomerQuery buildCustomerQuery()
      Builds a CustomerQuery for fetching customers from a source CTP project with all the needed references expanded for the sync: Custom Type CustomerGroup
      static java.util.List<io.sphere.sdk.customers.CustomerDraft> mapToCustomerDrafts​(java.util.List<io.sphere.sdk.customers.Customer> customers)
      Returns a List<CustomerDraft> consisting of the results of applying the mapping from Customer to CustomerDraft with considering reference resolution.
      • Methods inherited from class java.lang.Object

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

      • mapToCustomerDrafts

        @Nonnull
        public static java.util.List<io.sphere.sdk.customers.CustomerDraft> mapToCustomerDrafts​(@Nonnull
                                                                                                java.util.List<io.sphere.sdk.customers.Customer> customers)
        Returns a List<CustomerDraft> consisting of the results of applying the mapping from Customer to CustomerDraft with considering reference resolution.
        Mapping of Reference fields for the reference resolution
        Reference field from to
        customerGroup Reference<CustomerGroup> ResourceIdentifier<CustomerGroup>
        stores Set<KeyReference<Store>> Set<ResourceIdentifier<Store>>
        custom.type Reference<Type> ResourceIdentifier<Type>

        Note: The CustomerGroup and Type references should be expanded with a key. Any reference that is not expanded will have its id in place and not replaced by the key will be considered as existing resources on the target commercetools project and the library will issues an update/create API request without reference resolution.

        Parameters:
        customers - the customers with expanded references.
        Returns:
        a List of CustomerDraft built from the supplied List of Customer.
      • buildCustomerQuery

        public static io.sphere.sdk.customers.queries.CustomerQuery buildCustomerQuery()
        Builds a CustomerQuery for fetching customers from a source CTP project with all the needed references expanded for the sync:
        • Custom Type
        • CustomerGroup

        Note: Please only use this util if you desire to sync all the aforementioned references from a source commercetools project. Otherwise, it is more efficient to build the query without expansions, if they are not needed, to avoid unnecessarily bigger payloads fetched from the source project.

        Returns:
        the query for fetching customers from the source CTP project with all the aforementioned references expanded.