Class LocalizedEnumValueUpdateActionUtils
- java.lang.Object
-
- com.commercetools.sync.producttypes.utils.LocalizedEnumValueUpdateActionUtils
-
public final class LocalizedEnumValueUpdateActionUtils extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.util.Optional<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>
buildChangeLabelAction(java.lang.String attributeDefinitionName, io.sphere.sdk.models.LocalizedEnumValue oldEnumValue, io.sphere.sdk.models.LocalizedEnumValue newEnumValue)
Compares thelabel
values of an oldLocalizedEnumValue
and a newLocalizedEnumValue
and returns anOptional
of update action, which would contain the"changeLabel"
UpdateAction
.static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>
buildLocalizedEnumValuesUpdateActions(java.lang.String attributeDefinitionName, java.util.List<io.sphere.sdk.models.LocalizedEnumValue> oldEnumValues, java.util.List<io.sphere.sdk.models.LocalizedEnumValue> newEnumValues)
Compares a list of oldLocalizedEnumValue
s with a list of newLocalizedEnumValue
s for a given attribute definition and builds required update actions (e.g addLocalizedEnumValue, removeLocalizedEnumValue, changeLocalizedEnumValueOrder) and 1-1 update actions on localized enum values (e.g.static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>>
buildLocalizedEnumValueUpdateActions(java.lang.String attributeDefinitionName, io.sphere.sdk.models.LocalizedEnumValue oldEnumValue, io.sphere.sdk.models.LocalizedEnumValue newEnumValue)
Compares all the fields of an oldLocalizedEnumValue
and a newLocalizedEnumValue
and returns a list ofUpdateAction
<ProductType
> as a result.
-
-
-
Method Detail
-
buildLocalizedEnumValuesUpdateActions
@Nonnull public static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildLocalizedEnumValuesUpdateActions(@Nonnull java.lang.String attributeDefinitionName, @Nonnull java.util.List<io.sphere.sdk.models.LocalizedEnumValue> oldEnumValues, @Nullable java.util.List<io.sphere.sdk.models.LocalizedEnumValue> newEnumValues)
Compares a list of oldLocalizedEnumValue
s with a list of newLocalizedEnumValue
s for a given attribute definition and builds required update actions (e.g addLocalizedEnumValue, removeLocalizedEnumValue, changeLocalizedEnumValueOrder) and 1-1 update actions on localized enum values (e.g. changeLocalizedEnumValueLabel) for the required resource. If both theLocalizedEnumValue
's are identical, then no update action is needed and hence an emptyList
is returned.If the list of new
LocalizedEnumValue
s isnull
, then remove actions are built for every existing localized enum value in theoldEnumValues
list.- Parameters:
attributeDefinitionName
- the attribute name whose localized enum values are going to be synced.oldEnumValues
- the old list of localized enum values.newEnumValues
- the new list of localized enum values.- Returns:
- a list of localized enum values update actions if the list of localized enum values is not identical. Otherwise, if the localized enum values are identical, an empty list is returned.
- Throws:
DuplicateKeyException
- in case there are localized enum values with duplicate keys.
-
buildLocalizedEnumValueUpdateActions
@Nonnull public static java.util.List<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildLocalizedEnumValueUpdateActions(@Nonnull java.lang.String attributeDefinitionName, @Nonnull io.sphere.sdk.models.LocalizedEnumValue oldEnumValue, @Nonnull io.sphere.sdk.models.LocalizedEnumValue newEnumValue)
Compares all the fields of an oldLocalizedEnumValue
and a newLocalizedEnumValue
and returns a list ofUpdateAction
<ProductType
> as a result. If bothLocalizedEnumValue
have identical fields then no update action is needed and hence an emptyList
is returned.- Parameters:
attributeDefinitionName
- the attribute definition name whose localized enum values belong to.oldEnumValue
- the localized enum value which should be updated.newEnumValue
- the localized enum value where we get the new fields.- Returns:
- A list with the update actions or an empty list if the localized enum values are identical.
-
buildChangeLabelAction
@Nonnull public static java.util.Optional<io.sphere.sdk.commands.UpdateAction<io.sphere.sdk.producttypes.ProductType>> buildChangeLabelAction(@Nonnull java.lang.String attributeDefinitionName, @Nonnull io.sphere.sdk.models.LocalizedEnumValue oldEnumValue, @Nonnull io.sphere.sdk.models.LocalizedEnumValue newEnumValue)
Compares thelabel
values of an oldLocalizedEnumValue
and a newLocalizedEnumValue
and returns anOptional
of update action, which would contain the"changeLabel"
UpdateAction
. If both, old and newLocalizedEnumValue
have the samelabel
values, then no update action is needed and empty optional will be returned.- Parameters:
attributeDefinitionName
- the attribute definition name whose localized enum values belong to.oldEnumValue
- the old localized enum value.newEnumValue
- the new localized enum value which contains the new description.- Returns:
- optional containing update action or empty optional if labels are identical.
-
-