Hello there,
I have troubles for few days now to create a hot-folder.xml file to enable upload of an image, creation of an container and assign this to a classificationAttribute and classificationAttributeValue.
Therefore I created 3 csv files: myCVMedia-01.csv, myCVMediaContainer-02.csv and myCVMediaContainerOnFeature-03.csv (same with CA for ClassificationAttribute)
For some reason it does not work properly, I guess the order the files are loaded is messed up and I run into issues like: content of myCVMediaContainer-02.csv (not myCVMediaContainerOnFeature-03.csv) is being used to update a ClassificationAttributeValue with container instead of creating a container. (got similar pronlem with content of 02 trying to generate images)
Here is my XML (have the same for CA)
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:file="http://www.springframework.org/schema/integration/file"
xmlns:int="http://www.springframework.org/schema/integration"
xsi:schemaLocation="http://www.springframework.org/schema/integration/file http://www.springframework.org/schema/integration/file/spring-integration-file.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="hotfolderInboundFileChannelMappings"/>
<property name="targetMethod" value="put"/>
<property name="arguments">
<list>
<bean class="java.util.regex.Pattern" factory-method="compile">
<constructor-arg value="${cloud.hotfolder.cv.mapping.file.name.pattern}" />
</bean>
<ref bean="batchFilesCloudHotFolderCVProc"/>
</list>
</property>
</bean>
<int:channel id="batchFilesCloudHotFolderCVProc"/>
<int:service-activator input-channel="batchFilesCloudHotFolderCVProc" output-channel="batchFilesHeaderInit"
ref="cloudHotFolderCVHeaderSetupTask" method="execute" />
<!-- Setup Header by applying required properties -->
<bean id="cloudHotFolderCVHeaderSetupTask" class="de.hybris.platform.acceleratorservices.dataimport.batch.task.HeaderSetupTask">
<property name="catalog" value="${cloud.hotfolder.cv.mapping.header.catalog}" />
<property name="net" value="${cloud.hotfolder.cv.mapping.header.net}" />
<property name="storeBaseDirectory" ref="baseDirectoryCloudHotFolder" />
</bean>
<!-- Transformer converters mappings -->
<bean id="myCloudHotFolderCVMediaConverterMapping"
class="de.hybris.platform.acceleratorservices.dataimport.batch.converter.mapping.impl.DefaultConverterMapping">
<property name="mapping" value="myCVMedia"/>
<property name="converter" ref="myCloudHotFolderCVMediaConverter"/>
</bean>
<bean id="myCloudHotFolderCVMediaContainerConverterMapping"
class="de.hybris.platform.acceleratorservices.dataimport.batch.converter.mapping.impl.DefaultConverterMapping">
<property name="mapping" value="myCVMediaContainer"/>
<property name="converter" ref="myCloudHotFolderCVMediaContainerConverter"/>
</bean>
<bean id="myCloudHotFolderMedia2CVConverterMapping"
class="de.hybris.platform.acceleratorservices.dataimport.batch.converter.mapping.impl.DefaultConverterMapping">
<property name="mapping" value="myCVMediaContainerOnFeature"/>
<property name="converter" ref="myCloudHotFolderMedia2CVConverter"/>
</bean>
<!-- Converters -->
<bean id="myCloudHotFolderCVMediaConverter" parent="abstractDefaultImpexConverter">
<property name="header">
<value>
#{cvMediaImpexHeader}
INSERT_UPDATE MediaFolder;qualifier[unique=true];path[unique=true]
;$mediafolder;$mediafolder
# Import media from remote file system
INSERT_UPDATE Media;mediaFormat(qualifier);code[unique=true];mime[default='image/jpeg'];$catalogVersionCV;folder(qualifier)[default=$mediafolder];realfilename;@media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator]
</value>
</property>
<property name="impexRow" value=";master;{+0};;;;{+1};$importFolder/{+1}"/>
<property name="type" value="Media"/>
</bean>
<bean id="myCloudHotFolderCVMediaContainerConverter" parent="abstractDefaultImpexConverter">
<property name="header">
<value>
#{cvMediaImpexHeader}
# Import media container
INSERT_UPDATE MediaContainer;qualifier[unique=true];$catalogVersionCV;medias(code, $catalogVersionCV);conversionGroup(code)
</value>
</property>
<property name="impexRow">
<value>;{0};;{+1};productMediaConversionGroup</value>
</property>
<property name="type" value="MediaContainer"/>
</bean>
<bean id="myCloudHotFolderMedia2CVConverter" parent="abstractDefaultImpexConverter">
<property name="header">
<value>
#{cvMediaImpexHeader}
# Import ClassificationAttributeValue media
UPDATE ClassificationAttributeValue;code[unique=true];$images;$classSystemVersion
</value>
</property>
<property name="impexRow">
<value>;{+0};{1};</value>
</property>
<property name="type" value="ClassificationAttributeValue"/>
</bean>
<bean id="cvMediaImpexHeader" class="java.lang.String">
<constructor-arg>
<value>
UPDATE GenericItem[processor = de.hybris.platform.commerceservices.impex.impl.ConfigPropertyImportProcessor]; pk[unique = true]
$catalogVersionCV=catalogversion(catalog(id[default=myProductCatalog]),version[default='Online'])[unique=true]
$importFolder=file:$BASE_SOURCE_DIR$/images
$classSystemVersion=systemVersion(catalog(id[default='myClassification_001']), version[default='1.0'])[unique=true, default='myClassification_001:1.0']
$images=cpqMedia(qualifier, $catalogVersionCV)
$mediafolder=$config-cloud.hotfolder.cv.images.media.folder.qualifier
</value>
</constructor-arg>
</bean>
</beans>Thanks for any kind of help
Request clarification before answering.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.