经过大量的思考,我找不到任何合适的解决方案,除了创建我自己的处理器。下面是解
public class MediaProcessor extends DefaultImportProcessor
{
@Override
public void init(final ImpExImportReader reader)
{
super.init(reader);
}
@Override
public Item processItemData(final ValueLine valueLine) throws ImpExException
{
Item item = null;
final ValueEntry codeEntry = valueLine.getValueEntry(2);
final String mediaCode = codeEntry.getCellValue();
if (StringUtils.isNotEmpty(mediaCode))
{
item = super.processItemData(valueLine);
}
return item;
}
}
Impex公司应该是这样..
INSERT_UPDATE Media[processor=com.hybris.core.impex.processor.MediaProcessor];mediaFormat(qualifier);code[unique=true];youtubeURL;mime[default='video/mp4'];$catalogVersion;folder(qualifier)[default=images]
这不会拯救错误。但它不会抛出空指针异常,因为我在我的控制台中得到(一个大的真的很讨厌这个)。因此,如果code = null
系统将转储该行并继续下一步。
UPDATE:
快速黑客解决我的问题。这是一个适当的解决方案转储完整的行,如果代码= null(按照我的要求)
一行使一切工作像一个魅力!
valueLine.resolve(item, Collections.EMPTY_LIST);
全码
public class MediaProcessor extends DefaultImportProcessor
{
@Override
public void init(final ImpExImportReader reader)
{
super.init(reader);
}
@Override
public Item processItemData(final ValueLine valueLine) throws ImpExException
{
Item item = null;
final ValueEntry codeEntry = valueLine.getValueEntry(2);
final String mediaCode = codeEntry.getCellValue();
if (StringUtils.isNotEmpty(mediaCode))
{
item = super.processItemData(valueLine);
}
else
{
valueLine.resolve(item, Collections.EMPTY_LIST);
}
return item;
}
}
我们能不能做一些usign BeanShell的? – 2014-09-01 18:21:49