Как отобразить атрибут Type Object в ORIKA

У меня есть класс OrderEntryData, и внутри у меня есть атрибут, который представляет собой список configurationInfoData (List), а внутри этой ConfigurationInfoData - атрибут Type Object (значение объекта). Это значение будет когда-нибудь датой, строкой или customClass.

Я использую Orika для веб-сервисов и пытаюсь определить класс OrderEntryDTO.

Файл: customcommerceWebServices-beans.xml

<bean class="de.hybris.platform.commercewebservicescommons.dto.order.ConfigurationInfoWsDTO">
    <property name="label" type="java.lang.String" />
    <property name="value" type="java.lang.Object" />
</bean>

<bean class="de.hybris.platform.commercewebservicescommons.dto.order.OrderEntryWsDTO">
    <property name="configurationInfos" type="java.util.List&lt;de.hybris.platform.commercewebservicescommons.dto.order.ConfigurationInfoWsDTO>" />
    <property name="orderCode" type="java.lang.String" />
</bean>

Я тестирую с объектом, который является экземпляром AddressData. Потому что отображение / преобразование объекта адреса работает хорошо AddressData -> AddressDTO

проблема заключается (я думаю), что Orika не распознает экземпляр объекта (объект-источник) или целевой класс (объект-цель). В ответе у меня должно быть AddressWsDTO, но я получаю:

"De.hybris.platform.cmssmarteditwebservices.dto.AbstractPageWsDTO@54330c75"

Я попытался реализовать конвертер, потому что подумал, что Орика не знает, как преобразовать объект в AddressData (не работает).

@WsDTOMapping
public class ScalpAddressConverter extends BidirectionalConverter<AddressData, Object> {

@Override
public Object convertTo(AddressData addressData, Type<Object> type, MappingContext mappingContext) {
    return (Object) addressData;
}

@Override
public AddressData convertFrom(Object o, Type<AddressData> type, MappingContext mappingContext) {
    return (AddressData) o;
}
}

0 ответов

Другие вопросы по тегам