2017-05-19 70 views
0

在我的itemtype中,我需要用EnumType声明attribut。但它给了一个错误象下面如何用EnumType声明属性

hybris\bin\platform\resources\ant\antmacros.xml:795: 
    java.lang.ClassCastException: de.hybris.bootstrap.typesystem.YEnumType 
    cannot be cast to de.hybris.bootstrap.typesystem.YCollectionType 

这里是我如何申报

<attribute qualifier="aaa" type="EnumType" autocreate="true" generate="true"> 
    <persistence qualifier="bbbl" type="property" /> 
    <modifiers read="true" write="true" search="true" removable="true" 
    optional="true" /> 
    <description>aaa</description> 
</attribute> 

如何跳过错误?

回答

2

您是否在enumtypes部分实际创建了EnumType?尝试这样的:

<enumtypes> 
    <enumtype code="MyEnumType" autocreate="true" generate="true" dynamic="false"> 
     <value code="SOMETHING"/> 
    </enumtype> 
</enumtypes> 

<attribute qualifier="aaa" type="MyEnumType" autocreate="true" generate="true"> 
    <persistence type="property" /> 
    <modifiers read="true" write="true" search="true" removable="true" 
    optional="true" /> 
    <description>aaa</description> 
</attribute> 

这是正确的方法来做到这一点。首先定义枚举类型,然后将其用作普通类型。