Class ExcelEurope1PricesValidator
- java.lang.Object
-
- com.hybris.backoffice.excel.validators.ExcelEurope1PricesValidator
-
- All Implemented Interfaces:
ExcelValidator
public class ExcelEurope1PricesValidator extends java.lang.Object implements ExcelValidator
Validates prices forExcelEurope1PricesTypeTranslator.Format:price currency:'N'|'G':user|userPriceGroup:quantity unit:[dateFrom to dateTo]:channelValidator checks if:- price is defined and given currency exists
- Netto | Gross are in correct format
- user or userPriceGroup exists
- unit exists and if user or userPriceGroup is provided this field is mandatory
- dateFrom and dateTo are in correct format
ExcelDateUtils.getDateTimeFormat()and dateFrom is not after dateTo - defined channel exists
-
-
Field Summary
-
Fields inherited from interface com.hybris.backoffice.excel.validators.ExcelValidator
CTX_MEDIA_CONTENT_ENTRIES
-
-
Constructor Summary
Constructors Constructor Description ExcelEurope1PricesValidator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanHandle(ImportParameters importParameters, AttributeDescriptorModel attributeDescriptor)Indicates whether given validator can handle a cell based on attribute descriptor and import parameters.protected booleancheckIfCurrencyExist(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String currency)protected booleancontainsCurrency(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String currency)protected booleancontainsUnit(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String unit)CurrencyDaogetCurrencyDao()EnumerationServicegetEnumerationService()ExcelDateUtilsgetExcelDateUtils()UnitServicegetUnitService()UserServicegetUserService()protected java.util.DateparseDate(java.lang.String date)protected voidpopulateContext(java.util.Map<java.lang.String,java.lang.Object> ctx)voidsetCurrencyDao(CurrencyDao currencyDao)voidsetEnumerationService(EnumerationService enumerationService)voidsetExcelDateUtils(ExcelDateUtils excelDateUtils)voidsetUnitService(UnitService unitService)voidsetUserService(UserService userService)ExcelValidationResultvalidate(ImportParameters importParameters, AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.Object> ctx)Validates given cell and returns validation result.protected java.util.Optional<ValidationMessage>validateChannel(java.lang.String channel)protected java.util.Optional<ValidationMessage>validateCurrency(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String currency)protected java.util.Optional<ValidationMessage>validateDateRange(java.lang.String dateRange)protected java.util.Optional<ValidationMessage>validateNetGross(java.lang.String netGross)protected java.util.Optional<java.util.List<ValidationMessage>>validatePrice(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String value)protected java.util.Optional<ValidationMessage>validatePriceValue(java.lang.String price)protected java.util.Optional<ValidationMessage>validateQuantity(java.lang.String quantity)protected java.util.Optional<java.util.List<ValidationMessage>>validateQuantityUnit(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String quantityUnit, java.lang.String groupOrUser)protected java.util.List<ValidationMessage>validateSingleValue(java.util.Map<java.lang.String,java.lang.Object> ctx, java.util.Map<java.lang.String,java.lang.String> parameters)protected java.util.Optional<ValidationMessage>validateUnit(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String unit)protected java.util.Optional<ValidationMessage>validateUserPriceGroup(java.lang.String groupOrUser)
-
-
-
Field Detail
-
UNIT_KEY
protected static final java.lang.String UNIT_KEY
- See Also:
- Constant Field Values
-
CURRENCY_KEY
protected static final java.lang.String CURRENCY_KEY
- See Also:
- Constant Field Values
-
PATTERN_PRICE_CURRENCY
public static final java.util.regex.Pattern PATTERN_PRICE_CURRENCY
-
PATTERN_QUANTITY_UNIT
public static final java.util.regex.Pattern PATTERN_QUANTITY_UNIT
-
PATTERN_DATE_RANGE
public static final java.util.regex.Pattern PATTERN_DATE_RANGE
-
VALIDATION_CURRENCY_DOESNT_EXIST
public static final java.lang.String VALIDATION_CURRENCY_DOESNT_EXIST
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_PRICE_CURRENCY
public static final java.lang.String VALIDATION_INCORRECT_PRICE_CURRENCY
- See Also:
- Constant Field Values
-
VALIDATION_EMPTY_PRICE_CURRENCY
public static final java.lang.String VALIDATION_EMPTY_PRICE_CURRENCY
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_PRICE_VALUE
public static final java.lang.String VALIDATION_INCORRECT_PRICE_VALUE
- See Also:
- Constant Field Values
-
VALIDATION_INVALID_NET_GROSS
public static final java.lang.String VALIDATION_INVALID_NET_GROSS
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_QUANTITY_UNIT
public static final java.lang.String VALIDATION_INCORRECT_QUANTITY_UNIT
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_QUANTITY
public static final java.lang.String VALIDATION_INCORRECT_QUANTITY
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_UNIT
public static final java.lang.String VALIDATION_INCORRECT_UNIT
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_QUANTITY_LOWE_THAN_ONE
public static final java.lang.String VALIDATION_INCORRECT_QUANTITY_LOWE_THAN_ONE
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_USER_OR_USER_PRICE_GROUP
public static final java.lang.String VALIDATION_INCORRECT_USER_OR_USER_PRICE_GROUP
- See Also:
- Constant Field Values
-
VALIDATION_QUANTITY_UNIT_CANNOT_BE_EMPTY_WHEN_USER_DEFINED
public static final java.lang.String VALIDATION_QUANTITY_UNIT_CANNOT_BE_EMPTY_WHEN_USER_DEFINED
- See Also:
- Constant Field Values
-
VALIDATION_NO_SUCH_CHANNEL
public static final java.lang.String VALIDATION_NO_SUCH_CHANNEL
- See Also:
- Constant Field Values
-
VALIDATION_INCORRECT_DATE_RANGE
public static final java.lang.String VALIDATION_INCORRECT_DATE_RANGE
- See Also:
- Constant Field Values
-
VALIDATION_START_DATE_AFTER_END_DATE
public static final java.lang.String VALIDATION_START_DATE_AFTER_END_DATE
- See Also:
- Constant Field Values
-
-
Method Detail
-
validate
public ExcelValidationResult validate(ImportParameters importParameters, AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.Object> ctx)
Description copied from interface:ExcelValidatorValidates given cell and returns validation result. If cell doesn't have validation issues thenExcelValidationResult.SUCCESSshould be returned.- Specified by:
validatein interfaceExcelValidatorctx- - map which can be used as a cache. The map is shared between all request for given excel sheet.- Returns:
ExcelValidationResult
-
validateSingleValue
protected java.util.List<ValidationMessage> validateSingleValue(java.util.Map<java.lang.String,java.lang.Object> ctx, java.util.Map<java.lang.String,java.lang.String> parameters)
-
validatePrice
protected java.util.Optional<java.util.List<ValidationMessage>> validatePrice(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String value)
-
validatePriceValue
protected java.util.Optional<ValidationMessage> validatePriceValue(java.lang.String price)
-
validateCurrency
protected java.util.Optional<ValidationMessage> validateCurrency(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String currency)
-
validateNetGross
protected java.util.Optional<ValidationMessage> validateNetGross(java.lang.String netGross)
-
validateUserPriceGroup
protected java.util.Optional<ValidationMessage> validateUserPriceGroup(java.lang.String groupOrUser)
-
validateDateRange
protected java.util.Optional<ValidationMessage> validateDateRange(java.lang.String dateRange)
-
parseDate
protected java.util.Date parseDate(java.lang.String date)
-
validateChannel
protected java.util.Optional<ValidationMessage> validateChannel(java.lang.String channel)
-
validateQuantityUnit
protected java.util.Optional<java.util.List<ValidationMessage>> validateQuantityUnit(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String quantityUnit, java.lang.String groupOrUser)
-
validateQuantity
protected java.util.Optional<ValidationMessage> validateQuantity(java.lang.String quantity)
-
validateUnit
protected java.util.Optional<ValidationMessage> validateUnit(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String unit)
-
containsCurrency
protected boolean containsCurrency(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String currency)
-
containsUnit
protected boolean containsUnit(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String unit)
-
populateContext
protected void populateContext(java.util.Map<java.lang.String,java.lang.Object> ctx)
-
checkIfCurrencyExist
protected boolean checkIfCurrencyExist(java.util.Map<java.lang.String,java.lang.Object> ctx, java.lang.String currency)
-
canHandle
public boolean canHandle(ImportParameters importParameters, AttributeDescriptorModel attributeDescriptor)
Description copied from interface:ExcelValidatorIndicates whether given validator can handle a cell based on attribute descriptor and import parameters.- Specified by:
canHandlein interfaceExcelValidator- Returns:
- boolean whether validator can handle the cell.
-
getCurrencyDao
public CurrencyDao getCurrencyDao()
-
setCurrencyDao
public void setCurrencyDao(CurrencyDao currencyDao)
-
getUnitService
public UnitService getUnitService()
-
setUnitService
public void setUnitService(UnitService unitService)
-
getEnumerationService
public EnumerationService getEnumerationService()
-
setEnumerationService
public void setEnumerationService(EnumerationService enumerationService)
-
getUserService
public UserService getUserService()
-
setUserService
public void setUserService(UserService userService)
-
getExcelDateUtils
public ExcelDateUtils getExcelDateUtils()
-
setExcelDateUtils
public void setExcelDateUtils(ExcelDateUtils excelDateUtils)
-
-