public final class SetAssetTags extends UpdateActionImpl<T>
See also ProductUpdateCommand.
By variant ID (every variant has a variantId):
withProductHavingAssets(client(), product -> { assertThat(product.getMasterData().hasStagedChanges()).isFalse(); final Set<String> newTags = new HashSet<>(asList("tag1", "tag2")); final ProductVariant masterVariant = product.getMasterData().getStaged().getMasterVariant(); final String assetId = masterVariant.getAssets().get(0).getId(); final ProductUpdateCommand cmd = ProductUpdateCommand.of(product, SetAssetTags.ofVariantId(masterVariant.getId(), assetId, newTags)); final Product updatedProduct = client().executeBlocking(cmd); final Asset updatedAsset = updatedProduct.getMasterData().getStaged().getMasterVariant().getAssets().get(0); assertThat(updatedAsset.getTags()).isEqualTo(newTags); assertThat(updatedProduct.getMasterData().hasStagedChanges()).isTrue(); return updatedProduct; });
See the test code.
By SKU (attention, SKU is optional field in a variant):
withProductHavingAssets(client(), product -> { final Set<String> newTags = new HashSet<>(asList("tag1", "tag2")); final ProductVariant masterVariant = product.getMasterData().getStaged().getMasterVariant(); final String assetId = masterVariant.getAssets().get(0).getId(); final ProductUpdateCommand cmd = ProductUpdateCommand.of(product, SetAssetTags.ofSku(masterVariant.getSku(), assetId, newTags)); final Product updatedProduct = client().executeBlocking(cmd); final Asset updatedAsset = updatedProduct.getMasterData().getStaged().getMasterVariant().getAssets().get(0); assertThat(updatedAsset.getTags()).isEqualTo(newTags); return updatedProduct; });
See the test code.
Modifier and Type | Method and Description |
---|---|
String |
getAssetId() |
String |
getAssetKey() |
String |
getSku() |
Set<String> |
getTags() |
Integer |
getVariantId() |
Boolean |
isStaged() |
static SetAssetTags |
ofSku(String sku,
String assetId,
Set<String> tags) |
static SetAssetTags |
ofSku(String sku,
String assetId,
Set<String> tags,
Boolean staged) |
static SetAssetTags |
ofSkuAndAssetKey(String sku,
String assetKey,
Set<String> tags) |
static SetAssetTags |
ofSkuAndAssetKey(String sku,
String assetKey,
Set<String> tags,
Boolean staged) |
static SetAssetTags |
ofVariantId(Integer variantId,
String assetId,
Set<String> tags) |
static SetAssetTags |
ofVariantId(Integer variantId,
String assetId,
Set<String> tags,
Boolean staged) |
static SetAssetTags |
ofVariantIdAndAssetKey(Integer variantId,
String assetKey,
Set<String> tags) |
static SetAssetTags |
ofVariantIdAndAssetKey(Integer variantId,
String assetKey,
Set<String> tags,
Boolean staged) |
getAction
public String getAssetId()
public String getAssetKey()
public static SetAssetTags ofVariantId(Integer variantId, String assetId, @Nullable Set<String> tags)
public static SetAssetTags ofVariantId(Integer variantId, String assetId, @Nullable Set<String> tags, @Nullable Boolean staged)
public static SetAssetTags ofSku(String sku, String assetId, @Nullable Set<String> tags, @Nullable Boolean staged)
public static SetAssetTags ofVariantIdAndAssetKey(Integer variantId, String assetKey, @Nullable Set<String> tags)
public static SetAssetTags ofVariantIdAndAssetKey(Integer variantId, String assetKey, @Nullable Set<String> tags, @Nullable Boolean staged)
public static SetAssetTags ofSkuAndAssetKey(String sku, String assetKey, @Nullable Set<String> tags)
public static SetAssetTags ofSkuAndAssetKey(String sku, String assetKey, @Nullable Set<String> tags, @Nullable Boolean staged)