Class DefaultHeaderGeneratorOperation
- java.lang.Object
-
- de.hybris.platform.importcockpit.services.impex.generator.operations.impl.AbstractImpexGeneratorOperation
-
- de.hybris.platform.importcockpit.services.impex.generator.operations.impl.DefaultHeaderGeneratorOperation
-
- All Implemented Interfaces:
HeaderGeneratorOperation,ImpexGeneratorOperation
public class DefaultHeaderGeneratorOperation extends AbstractImpexGeneratorOperation implements HeaderGeneratorOperation
-
-
Constructor Summary
Constructors Constructor Description DefaultHeaderGeneratorOperation()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidappendClassModifierToSubHeader(TranslatorMappingLine translatorMappingLine, java.lang.StringBuilder out)protected voidappendDefaultUnitToSubHeader(TranslatorMappingLine translatorMappingLine, java.lang.StringBuilder out)protected java.util.Collection<java.lang.String>generateAttributes4ProductHeader(MappingLineModel mappingLineModel)protected voidgenerateAttributes4ProductHeader(MappingLineModel mappingLineModel, java.util.Map<java.lang.Integer,java.lang.String> headerLine)Deprecated.since 4.7java.lang.StringgenerateCatSysVersionMacro(MappingModel mappingModel, java.lang.String catalog)Generates catalog version macro for the given mapping and catalog.java.lang.StringgenerateImpexHeaderAttributeReference(MappingLineModel line, java.util.Set<MappingLineModel> mappingLinesToCreate)java.util.Map<java.lang.Integer,java.lang.String>generateImpexHeaderBeanShellStatement(java.lang.String fileName)Generates impex header for bean shell import of an external file.java.lang.StringgenerateImpexHeaderCatalogVersionMacro(CatalogVersionModel catalogVersion, java.lang.String cvAttributeQualifier)Creates the macro reference for the catalog or system version for the main impex header including the default setup.java.lang.StringgenerateImpexHeaderComposedField(MappingLineModel line, java.util.Set<MappingLineModel> mappingLinesToCreate)protected java.lang.StringgenerateImpexHeaderField(MappingLineModel mappingLine, java.util.Set<MappingLineModel> mappingLinesToCreate)Calls the relevant generateImpexHeader..java.lang.StringgenerateImpexHeaderForAtomicField(MappingLineModel line)Generates part of the impex that is responsible for importing an atomic type.java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>generateImpexHeaderLibrary(ImportCockpitCronJobModel cronJobModel, MappingModel mapping)Creates the impex header library for the import package using the mapping.java.lang.StringgenerateImpexHeaderLocalizedSubField(MappingLineModel mappingLine)Generates localized header scripts for localized attributes for the givenMappingLineModelobject.java.util.Map<java.lang.Integer,java.lang.String>generateImpexMainHeader(MappingModel mapping, java.util.Set<MappingLineModel> mappingLinesToCreate)Generates the main impex header mappingLineModel for the import of items of the main target/base type (the type set as base type in the mapping).java.util.Map<java.lang.Integer,java.lang.String>generateImpexSubHeader(MappingLineModel mappingLineModel, java.util.Set<MappingLineModel> mappingLinesToCreate)Generates sub headers for the on-the-fly import (impexImportMode INSERT) of sub data.java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>generateImpexSubHeaders(java.util.Set<MappingLineModel> mappingLinesToCreate)Generates impex sub-headers.protected java.lang.StringgenerateImportBeanShellStatement(java.lang.String fileName)java.lang.StringgenerateMacro4ProductAttributes(AttributeCollectionMappingLine attributeLine)Generates catalog version macro for product attribute.protected voidgetMappingLinesForAttribsCreateImportMode(MappingLineModel mappingLine, java.util.Set<MappingLineModel> mappingLinesToCreate)Builds a List of {link@MappingLineModel} objects whose composed attribute import mode is set toComposedAttribImportMode.CREATE when generating the impex header for composed fields.protected booleanisCatalogVersionManuallySet(MappingModel mapping)-
Methods inherited from class de.hybris.platform.importcockpit.services.impex.generator.operations.impl.AbstractImpexGeneratorOperation
appendCatalogVersionDetailsForAttributeReference, appendOwner, apppendTranslatorForProductAttrib, getCatalogTypeService, getCatalogVersionsForMapping, getGeneratedDocIDReference, getHaveUniqueAttributes, getMappingLineService, getMappingService, getVersionForMappingLine, hasMappedSource, hasMappedSources, isCatalogItem, setCatalogTypeService, setMappingLineService, setMappingService
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.importcockpit.services.impex.generator.operations.ImpexGeneratorOperation
getCatalogVersionsForMapping, getGeneratedDocIDReference, getVersionForMappingLine, hasMappedSources, isCatalogItem
-
-
-
-
Method Detail
-
generateImpexHeaderLibrary
public java.util.List<java.util.Map<java.lang.Integer,java.lang.String>> generateImpexHeaderLibrary(ImportCockpitCronJobModel cronJobModel, MappingModel mapping)
Description copied from interface:HeaderGeneratorOperationCreates the impex header library for the import package using the mapping. The header library consists of header lines and bean shell statements for the import of data files. The header lines and bean shell statements are maps of string fields on different positions.- Specified by:
generateImpexHeaderLibraryin interfaceHeaderGeneratorOperation- Returns:
- a list of header lines and bean shell statements referring to the data files
-
generateImpexMainHeader
public java.util.Map<java.lang.Integer,java.lang.String> generateImpexMainHeader(MappingModel mapping, java.util.Set<MappingLineModel> mappingLinesToCreate)
Description copied from interface:HeaderGeneratorOperationGenerates the main impex header mappingLineModel for the import of items of the main target/base type (the type set as base type in the mapping).- Specified by:
generateImpexMainHeaderin interfaceHeaderGeneratorOperation- Returns:
- impex import header mappingLineModel as a map of strings on specified positions
-
isCatalogVersionManuallySet
protected boolean isCatalogVersionManuallySet(MappingModel mapping)
-
generateImpexSubHeader
public java.util.Map<java.lang.Integer,java.lang.String> generateImpexSubHeader(MappingLineModel mappingLineModel, java.util.Set<MappingLineModel> mappingLinesToCreate)
Description copied from interface:HeaderGeneratorOperationGenerates sub headers for the on-the-fly import (impexImportMode INSERT) of sub data. This is necessary when the user has specified the import impexImportMode CREATE for one or more mapping lines.- Specified by:
generateImpexSubHeaderin interfaceHeaderGeneratorOperation- Parameters:
mappingLineModel- MappingLineModel- Returns:
- impex sub header mappingLineModel for the on-the-fly INSERT import
-
generateImpexSubHeaders
public java.util.List<java.util.Map<java.lang.Integer,java.lang.String>> generateImpexSubHeaders(java.util.Set<MappingLineModel> mappingLinesToCreate)
Description copied from interface:HeaderGeneratorOperationGenerates impex sub-headers.- Specified by:
generateImpexSubHeadersin interfaceHeaderGeneratorOperation- Returns:
- List of mapping lines (represented as map instances).
-
generateImpexHeaderBeanShellStatement
public java.util.Map<java.lang.Integer,java.lang.String> generateImpexHeaderBeanShellStatement(java.lang.String fileName)
Description copied from interface:HeaderGeneratorOperationGenerates impex header for bean shell import of an external file.- Specified by:
generateImpexHeaderBeanShellStatementin interfaceHeaderGeneratorOperation- Parameters:
fileName- name of file to be referenced from the BeanShell- Returns:
- map representation of the impex line
-
generateImpexHeaderForAtomicField
public java.lang.String generateImpexHeaderForAtomicField(MappingLineModel line)
Description copied from interface:HeaderGeneratorOperationGenerates part of the impex that is responsible for importing an atomic type.- Specified by:
generateImpexHeaderForAtomicFieldin interfaceHeaderGeneratorOperation- Parameters:
line- the line to be imported- Returns:
- string representation of the atomic field import script
-
generateImpexHeaderComposedField
public java.lang.String generateImpexHeaderComposedField(MappingLineModel line, java.util.Set<MappingLineModel> mappingLinesToCreate)
- Specified by:
generateImpexHeaderComposedFieldin interfaceHeaderGeneratorOperationmappingLinesToCreate- - a Set ofMappingLineModelobjects from which the composed fields will be generated.- Returns:
- a String representing the header fields for composed types for the given
MappingLineModelobject.
-
generateImpexHeaderLocalizedSubField
public java.lang.String generateImpexHeaderLocalizedSubField(MappingLineModel mappingLine)
Description copied from interface:HeaderGeneratorOperationGenerates localized header scripts for localized attributes for the givenMappingLineModelobject.- Specified by:
generateImpexHeaderLocalizedSubFieldin interfaceHeaderGeneratorOperation- Parameters:
mappingLine- a non-nullMappingLineModelobject.- Returns:
- the resultant localized header script from all localized attributes found.
-
generateImpexHeaderAttributeReference
public java.lang.String generateImpexHeaderAttributeReference(MappingLineModel line, java.util.Set<MappingLineModel> mappingLinesToCreate)
- Specified by:
generateImpexHeaderAttributeReferencein interfaceHeaderGeneratorOperation- Parameters:
line- - a non-nullMappingLineModelobject from which the attribute references will be derived and used to build their related header script.mappingLinesToCreate- - a Set ofMappingLineModelobjects from which the composed fields will be generated.- Returns:
- a String represenataion of all Attribute References found for the specified
MappingLineModel
-
generateImpexHeaderCatalogVersionMacro
public java.lang.String generateImpexHeaderCatalogVersionMacro(CatalogVersionModel catalogVersion, java.lang.String cvAttributeQualifier)
Description copied from interface:HeaderGeneratorOperationCreates the macro reference for the catalog or system version for the main impex header including the default setup. For example: catalogVersion(catalog(id[default='importcockpit']),version[default='default'])- Specified by:
generateImpexHeaderCatalogVersionMacroin interfaceHeaderGeneratorOperation- Returns:
- the macro reference as a string
-
generateCatSysVersionMacro
public java.lang.String generateCatSysVersionMacro(MappingModel mappingModel, java.lang.String catalog)
Description copied from interface:HeaderGeneratorOperationGenerates catalog version macro for the given mapping and catalog.- Specified by:
generateCatSysVersionMacroin interfaceHeaderGeneratorOperationcatalog- catalog version for which the macro should be generated- Returns:
- catalog version macro
-
generateMacro4ProductAttributes
public java.lang.String generateMacro4ProductAttributes(AttributeCollectionMappingLine attributeLine)
Description copied from interface:HeaderGeneratorOperationGenerates catalog version macro for product attribute. In case of classification attributes appends appropriate translator definition.- Specified by:
generateMacro4ProductAttributesin interfaceHeaderGeneratorOperation- Returns:
- catalog version macro
-
generateImpexHeaderField
protected java.lang.String generateImpexHeaderField(MappingLineModel mappingLine, java.util.Set<MappingLineModel> mappingLinesToCreate)
Calls the relevant generateImpexHeader.. method based on whether the givenMappingLineModelrepresents an atomic type or not.- Parameters:
mappingLine-mappingLinesToCreate-- Returns:
- a String object containing the header data for the current
MappingLineModel.
-
generateImportBeanShellStatement
protected java.lang.String generateImportBeanShellStatement(java.lang.String fileName)
- Parameters:
fileName-- Returns:
- resultStmt
-
getMappingLinesForAttribsCreateImportMode
protected void getMappingLinesForAttribsCreateImportMode(MappingLineModel mappingLine, java.util.Set<MappingLineModel> mappingLinesToCreate)
Builds a List of {link@MappingLineModel} objects whose composed attribute import mode is set toComposedAttribImportMode.CREATE when generating the impex header for composed fields.- Parameters:
mappingLine- - a {link@MappingLineModel} object from which the composed attribute import mode will be checked.mappingLinesToCreate-
-
generateAttributes4ProductHeader
@Deprecated protected void generateAttributes4ProductHeader(MappingLineModel mappingLineModel, java.util.Map<java.lang.Integer,java.lang.String> headerLine)
Deprecated.since 4.7- Parameters:
mappingLineModel-headerLine-- See Also:
generateAttributes4ProductHeader(MappingLineModel)
-
generateAttributes4ProductHeader
protected java.util.Collection<java.lang.String> generateAttributes4ProductHeader(MappingLineModel mappingLineModel)
- Parameters:
mappingLineModel-
-
appendDefaultUnitToSubHeader
protected void appendDefaultUnitToSubHeader(TranslatorMappingLine translatorMappingLine, java.lang.StringBuilder out)
-
appendClassModifierToSubHeader
protected void appendClassModifierToSubHeader(TranslatorMappingLine translatorMappingLine, java.lang.StringBuilder out)
-
-