Class AbstractExcelMediaImportTranslator<T>
- java.lang.Object
-
- com.hybris.backoffice.excel.translators.AbstractValidationAwareTranslator<T>
-
- com.hybris.backoffice.excel.translators.AbstractExcelValueTranslator<T>
-
- com.hybris.backoffice.excel.translators.AbstractCatalogVersionAwareTranslator<T>
-
- com.hybris.backoffice.excel.translators.AbstractExcelMediaImportTranslator<T>
-
- Type Parameters:
T- type of imported reference. It should be related to Media e.g. single reference or collection of medias.
- All Implemented Interfaces:
ExcelValueTranslator<T>,org.springframework.core.Ordered
- Direct Known Subclasses:
ExcelMediaCollectionImportTranslator,ExcelMediaImportTranslator
public abstract class AbstractExcelMediaImportTranslator<T> extends AbstractCatalogVersionAwareTranslator<T>
Abstract media translator which allows to import media references with content. Format:filePath:code:catalog:versionWhere:- "filePath" - defines file in the uploaded zip (sub dirs can be specified)
- "code" - media's code
MediaModel.CODE.- if empty and "filePath" is defined then code will be generated.
- if code:catalog:version corresponds to an existing media it will be assigned as a reference
- if "filePath" is defined and code:catalog:version corresponds to an existing media it's content will be updated and it will be assigned as a reference
- catalog:version - defines media's catalog version
MediaModel.CATALOGVERSION
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringMEDIA_CONTENT_HEADER_NAMEstatic java.lang.StringPARAM_CODEstatic java.lang.StringPARAM_FILE_PATHstatic java.lang.StringPARAM_FOLDER-
Fields inherited from class com.hybris.backoffice.excel.translators.AbstractExcelValueTranslator
order
-
Fields inherited from class com.hybris.backoffice.excel.translators.AbstractValidationAwareTranslator
validators
-
-
Constructor Summary
Constructors Constructor Description AbstractExcelMediaImportTranslator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddReferencedMedia(ImpexForType impexForType, AttributeDescriptorModel attributeDescriptor, java.lang.String mediaRef)protected voidaddReferencedMedia(ImpexForType impexForType, AttributeDescriptorModel attributeDescriptor, java.lang.String mediaRef, java.lang.String isoCode)protected voidaddReferencedMedia(ImpexForType impexForType, AttributeDescriptorModel attributeDescriptor, java.util.Collection<java.lang.String> mediaRefs)protected ImpexHeaderValuecreateMediaCatalogVersionHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected ImpexHeaderValuecreateMediaCodeHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected ImpexHeaderValuecreateMediaContentHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected ImpexHeaderValuecreateMediaFolderHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected ImpexHeaderValuecreateMediaReferenceIdHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected java.util.Map<ImpexHeaderValue,java.lang.Object>createMediaRow(AttributeDescriptorModel attributeDescriptor, java.lang.String mediaRefId, java.util.Map<java.lang.String,java.lang.String> params)protected ImpexHeaderValuecreateReferenceHeader(AttributeDescriptorModel attributeDescriptor)protected ImpexHeaderValuecreateReferenceHeader(AttributeDescriptorModel attributeDescriptor, java.lang.String isoCode)java.util.Optional<java.lang.String>exportMedia(MediaModel media)Exports single mediaprotected java.lang.StringgenerateMediaRefId(AttributeDescriptorModel attributedescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected java.lang.StringgetCode(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected java.lang.StringgetFilePath(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)protected java.lang.StringgetFolder(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)ExcelFilter<AttributeDescriptorModel>getMandatoryFilter()KeyGeneratorgetMediaCodeGenerator()protected booleanhasImportData(java.util.Map<java.lang.String,java.lang.String> singleParams)ImpeximportData(AttributeDescriptorModel attributeDescriptor, ImportParameters importParameters)Imports data based on provided importParameters for given attributeDescriptor.ImpexValueimportValue(AttributeDescriptorModel attributeDescriptor, ImportParameters importParameters)Imports single value instead of whole Impex object.java.lang.StringreferenceFormat(AttributeDescriptorModel attributeDescriptor)Format how a reference should be presented.voidsetMandatoryFilter(ExcelFilter<AttributeDescriptorModel> mandatoryFilter)voidsetMediaCodeGenerator(KeyGenerator mediaCodeGenerator)voidsetMediaFolderProvider(MediaFolderProvider mediaFolderProvider)-
Methods inherited from class com.hybris.backoffice.excel.translators.AbstractCatalogVersionAwareTranslator
catalogVersionData, catalogVersionHeader, exportCatalogVersionData, getCatalogTypeService, referenceCatalogVersionFormat, setCatalogTypeService
-
Methods inherited from class com.hybris.backoffice.excel.translators.AbstractExcelValueTranslator
getOrder, getTypeService, isLocalizedOfType, setOrder, setTypeService
-
Methods inherited from class com.hybris.backoffice.excel.translators.AbstractValidationAwareTranslator
getValidators, setValidators, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.hybris.backoffice.excel.translators.ExcelValueTranslator
canHandle, exportData, exportData
-
-
-
-
Field Detail
-
PARAM_FILE_PATH
public static final java.lang.String PARAM_FILE_PATH
- See Also:
- Constant Field Values
-
PARAM_FOLDER
public static final java.lang.String PARAM_FOLDER
- See Also:
- Constant Field Values
-
PARAM_CODE
public static final java.lang.String PARAM_CODE
- See Also:
- Constant Field Values
-
MEDIA_CONTENT_HEADER_NAME
protected static final java.lang.String MEDIA_CONTENT_HEADER_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
referenceFormat
public java.lang.String referenceFormat(AttributeDescriptorModel attributeDescriptor)
Description copied from interface:ExcelValueTranslatorFormat how a reference should be presented. Usually references consist of a few fields indicated as unique. Therefore all unique attributes should be included in the format. Example reference format: "catalog:version"- Parameters:
attributeDescriptor-AttributeDescriptorModel- Returns:
- Format how a reference should be presented
-
exportMedia
public java.util.Optional<java.lang.String> exportMedia(MediaModel media)
Exports single media- Parameters:
media- media to export- Returns:
- media exported according to
referenceFormat(AttributeDescriptorModel)
-
createMediaRow
protected java.util.Map<ImpexHeaderValue,java.lang.Object> createMediaRow(AttributeDescriptorModel attributeDescriptor, java.lang.String mediaRefId, java.util.Map<java.lang.String,java.lang.String> params)
-
hasImportData
protected boolean hasImportData(java.util.Map<java.lang.String,java.lang.String> singleParams)
-
generateMediaRefId
protected java.lang.String generateMediaRefId(AttributeDescriptorModel attributedescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
addReferencedMedia
protected void addReferencedMedia(ImpexForType impexForType, AttributeDescriptorModel attributeDescriptor, java.util.Collection<java.lang.String> mediaRefs)
-
addReferencedMedia
protected void addReferencedMedia(ImpexForType impexForType, AttributeDescriptorModel attributeDescriptor, java.lang.String mediaRef)
-
addReferencedMedia
protected void addReferencedMedia(ImpexForType impexForType, AttributeDescriptorModel attributeDescriptor, java.lang.String mediaRef, java.lang.String isoCode)
-
createReferenceHeader
protected ImpexHeaderValue createReferenceHeader(AttributeDescriptorModel attributeDescriptor)
-
createReferenceHeader
protected ImpexHeaderValue createReferenceHeader(AttributeDescriptorModel attributeDescriptor, java.lang.String isoCode)
-
createMediaContentHeader
protected ImpexHeaderValue createMediaContentHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
createMediaCatalogVersionHeader
protected ImpexHeaderValue createMediaCatalogVersionHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
createMediaCodeHeader
protected ImpexHeaderValue createMediaCodeHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
createMediaReferenceIdHeader
protected ImpexHeaderValue createMediaReferenceIdHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
createMediaFolderHeader
protected ImpexHeaderValue createMediaFolderHeader(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
getCode
protected java.lang.String getCode(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
getFilePath
protected java.lang.String getFilePath(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
getFolder
protected java.lang.String getFolder(AttributeDescriptorModel attributeDescriptor, java.util.Map<java.lang.String,java.lang.String> params)
-
importValue
public ImpexValue importValue(AttributeDescriptorModel attributeDescriptor, ImportParameters importParameters)
Description copied from class:AbstractExcelValueTranslatorImports single value instead of whole Impex object. Impex value consists of header and value.- Specified by:
importValuein classAbstractExcelValueTranslator<T>- Parameters:
attributeDescriptor-AttributeDescriptorModeldescribes attribute which should be importedimportParameters- - contains information about language for localized field, type code, parsed parameters inserted into excel's cell.- Returns:
ImpexValuevalue which should be imported
-
importData
public Impex importData(AttributeDescriptorModel attributeDescriptor, ImportParameters importParameters)
Description copied from class:AbstractExcelValueTranslatorImports data based on provided importParameters for given attributeDescriptor. The method returnsImpexthanks to that it is possible to creating additional entries ( or example creating part-of entries: product - price row, ect.)- Specified by:
importDatain interfaceExcelValueTranslator<T>- Overrides:
importDatain classAbstractExcelValueTranslator<T>- Parameters:
attributeDescriptor- describes attribute which should be importedimportParameters- contains information about language for localized field, type code, parsed parameters inserted into excel's cell.- Returns:
Impexobject which is representation of impex script.
-
getMediaCodeGenerator
public KeyGenerator getMediaCodeGenerator()
-
setMediaCodeGenerator
public void setMediaCodeGenerator(KeyGenerator mediaCodeGenerator)
-
getMandatoryFilter
public ExcelFilter<AttributeDescriptorModel> getMandatoryFilter()
-
setMandatoryFilter
public void setMandatoryFilter(ExcelFilter<AttributeDescriptorModel> mandatoryFilter)
-
setMediaFolderProvider
public void setMediaFolderProvider(MediaFolderProvider mediaFolderProvider)
-
-