Class 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:version
     
    Where:
    • "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
    • Constructor Detail

      • AbstractExcelMediaImportTranslator

        public AbstractExcelMediaImportTranslator()
    • Method Detail

      • referenceFormat

        public java.lang.String referenceFormat​(AttributeDescriptorModel attributeDescriptor)
        Description copied from interface: ExcelValueTranslator
        Format 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
      • 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,
                                          java.lang.String isoCode)
      • createMediaCatalogVersionHeader

        protected ImpexHeaderValue createMediaCatalogVersionHeader​(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)
      • importData

        public Impex importData​(AttributeDescriptorModel attributeDescriptor,
                                ImportParameters importParameters)
        Description copied from class: AbstractExcelValueTranslator
        Imports data based on provided importParameters for given attributeDescriptor. The method returns Impex thanks to that it is possible to creating additional entries ( or example creating part-of entries: product - price row, ect.)
        Specified by:
        importData in interface ExcelValueTranslator<T>
        Overrides:
        importData in class AbstractExcelValueTranslator<T>
        Parameters:
        attributeDescriptor - describes attribute which should be imported
        importParameters - contains information about language for localized field, type code, parsed parameters inserted into excel's cell.
        Returns:
        Impex object which is representation of impex script.
      • getMediaCodeGenerator

        public KeyGenerator getMediaCodeGenerator()
      • setMediaCodeGenerator

        public void setMediaCodeGenerator​(KeyGenerator mediaCodeGenerator)
      • setMediaFolderProvider

        public void setMediaFolderProvider​(MediaFolderProvider mediaFolderProvider)