Class ProductVariantAssetUpdateActionUtils
- java.lang.Object
-
- com.commercetools.sync.products.utils.ProductVariantAssetUpdateActionUtils
-
public final class ProductVariantAssetUpdateActionUtils extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <D> java.util.List<com.commercetools.api.models.product.ProductUpdateAction>
buildActions(D newResource, java.lang.Long variantId, com.commercetools.api.models.common.Asset oldAsset, com.commercetools.api.models.common.AssetDraft newAsset, ProductSyncOptions syncOptions)
Compares all the fields of anAsset
and anAssetDraft
and returns a list ofstatic java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction>
buildChangeAssetNameUpdateAction(java.lang.Long variantId, com.commercetools.api.models.common.Asset oldAsset, com.commercetools.api.models.common.AssetDraft newAsset)
Compares theLocalizedString
names of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
.static <D> java.util.List<com.commercetools.api.models.product.ProductUpdateAction>
buildCustomUpdateActions(D newResource, java.lang.Long variantId, com.commercetools.api.models.common.Asset oldAsset, com.commercetools.api.models.common.AssetDraft newAsset, ProductSyncOptions syncOptions)
Compares the custom fields and custom types of anAsset
and anAssetDraft
andstatic java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction>
buildSetAssetDescriptionUpdateAction(java.lang.Long variantId, com.commercetools.api.models.common.Asset oldAsset, com.commercetools.api.models.common.AssetDraft newAsset)
Compares theLocalizedString
descriptions of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
.static java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction>
buildSetAssetSourcesUpdateAction(java.lang.Long variantId, com.commercetools.api.models.common.Asset oldAsset, com.commercetools.api.models.common.AssetDraft newAsset)
Compares the sources of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
.static java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction>
buildSetAssetTagsUpdateAction(java.lang.Long variantId, com.commercetools.api.models.common.Asset oldAsset, com.commercetools.api.models.common.AssetDraft newAsset)
Compares the tags of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
.
-
-
-
Method Detail
-
buildActions
@Nonnull public static <D> java.util.List<com.commercetools.api.models.product.ProductUpdateAction> buildActions(@Nonnull D newResource, @Nonnull java.lang.Long variantId, @Nonnull com.commercetools.api.models.common.Asset oldAsset, @Nonnull com.commercetools.api.models.common.AssetDraft newAsset, @Nonnull ProductSyncOptions syncOptions)
Compares all the fields of anAsset
and anAssetDraft
and returns a list ofProductUpdateAction
<Product
> as a result. If both theAsset
and theAssetDraft
have identical fields, then no update action is needed and hence an emptyList
is returned.- Type Parameters:
D
- Type of the mainresource draft- Parameters:
newResource
- new mainresource draft, which contains the asset to update.variantId
- the variantId needed for building the update action.oldAsset
- the asset which should be updated.newAsset
- the asset draft where we get the new fields.syncOptions
- responsible for supplying the sync options to the sync utility method. It is used for triggering the error callback within the utility, in case of errors.- Returns:
- A list with the update actions or an empty list if the asset fields are identical.
-
buildChangeAssetNameUpdateAction
@Nonnull public static java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction> buildChangeAssetNameUpdateAction(@Nonnull java.lang.Long variantId, @Nonnull com.commercetools.api.models.common.Asset oldAsset, @Nonnull com.commercetools.api.models.common.AssetDraft newAsset)
Compares theLocalizedString
names of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
. If both theAsset
and theAssetDraft
have the same name, then no update action is needed and hence an emptyOptional
is returned.- Parameters:
variantId
- the variantId needed for building the update action.oldAsset
- the asset which should be updated.newAsset
- the asset draft where we get the new name.- Returns:
- A filled optional with the update action or an empty optional if the names are identical.
-
buildSetAssetDescriptionUpdateAction
@Nonnull public static java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction> buildSetAssetDescriptionUpdateAction(@Nonnull java.lang.Long variantId, @Nonnull com.commercetools.api.models.common.Asset oldAsset, @Nonnull com.commercetools.api.models.common.AssetDraft newAsset)
Compares theLocalizedString
descriptions of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
. If both theAsset
and theAssetDraft
have the same description, then no update action is needed and hence an emptyOptional
is returned.- Parameters:
variantId
- the variantId needed for building the update action.oldAsset
- the asset which should be updated.newAsset
- the asset draft where we get the new description.- Returns:
- A filled optional with the update action or an empty optional if the descriptions are identical.
-
buildSetAssetTagsUpdateAction
@Nonnull public static java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction> buildSetAssetTagsUpdateAction(@Nonnull java.lang.Long variantId, @Nonnull com.commercetools.api.models.common.Asset oldAsset, @Nonnull com.commercetools.api.models.common.AssetDraft newAsset)
Compares the tags of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
. If both theAsset
and theAssetDraft
have the same tags, then no update action is needed and hence an emptyOptional
is returned.- Parameters:
variantId
- the variantId needed for building the update action.oldAsset
- the asset which should be updated.newAsset
- the asset draft where we get the new tags.- Returns:
- A filled optional with the update action or an empty optional if the tags are identical.
-
buildSetAssetSourcesUpdateAction
@Nonnull public static java.util.Optional<com.commercetools.api.models.product.ProductUpdateAction> buildSetAssetSourcesUpdateAction(@Nonnull java.lang.Long variantId, @Nonnull com.commercetools.api.models.common.Asset oldAsset, @Nonnull com.commercetools.api.models.common.AssetDraft newAsset)
Compares the sources of anAsset
and anAssetDraft
and returns anProductUpdateAction
<Product
> as a result in anOptional
. If both theAsset
and theAssetDraft
have the same sources, then no update action is needed and hence an emptyOptional
is returned.- Parameters:
variantId
- the variantId needed for building the update action.oldAsset
- the asset which should be updated.newAsset
- the asset draft where we get the new sources.- Returns:
- A filled optional with the update action or an empty optional if the sources are identical.
-
buildCustomUpdateActions
@Nonnull public static <D> java.util.List<com.commercetools.api.models.product.ProductUpdateAction> buildCustomUpdateActions(@Nonnull D newResource, @Nonnull java.lang.Long variantId, @Nonnull com.commercetools.api.models.common.Asset oldAsset, @Nonnull com.commercetools.api.models.common.AssetDraft newAsset, @Nonnull ProductSyncOptions syncOptions)
Compares the custom fields and custom types of anAsset
and anAssetDraft
andreturns a list of
ProductUpdateAction
<Product
> as a result. If both theAsset
and theAssetDraft
have identical custom fields and types, then no update action is needed and hence an emptyList
is returned.- Type Parameters:
D
- Type of the mainresource draft- Parameters:
newResource
- new mainresource draft, which contains the asset to update.variantId
- the variantId needed for building the update action.oldAsset
- the asset which should be updated.newAsset
- the asset draft where we get the new custom fields and types.syncOptions
- responsible for supplying the sync options to the sync utility method. It is used for triggering the error callback within the utility, in case of errors.- Returns:
- A list with the custom field/type update actions or an empty list if the custom fields/types are identical.
-
-