jak przekazać do obiektu

0

Witam, mam głupie pytanie. Parsuje sobie xml-a i dodaje Id i distribChannel do instancji obiektu externalChannelMapping

 public void parseXMLExternalChannelsMapping(String externalChannelsMappingXml, Item item) {
        if (Utils.checkNotEmpty(externalChannelsMappingXml)) {
            String[] splited = externalChannelsMappingXml.split("/t>");

            List<ExternalChannelsMapping>  externalMappingList = Lists.newArrayList();
            for (String val : splited) {
                try {
                    ExternalChannelsMapping externalChannelMapping = new ExternalChannelsMapping();
                    Integer externalChannel = matchInt(ItemXMLPatterns.externalChannel, val);
                    externalChannelMapping.setId(externalChannel);
                    externalChannelMapping.setDistribChannel(SLExternalDistribChannel.fromTypeId(externalChannel));
                    externalMappingList.add(externalChannelMapping);

                } catch (NullPointerException en) {
                    logger.error(getClass(), "searchItems.externalChannelsMapping: [" + val + "]", en);
                }
            }
            item.setExternalChannelsMappingHolder();
        }
    }

Jak teraz przekazać to do obiektu :

ExternalChannelsMappingHolder

który jest elementem obiektu Item :

  protected ExternalChannelsMappingHolder externalChannelsMappingHolder = null;

a w środku wygląda tak :

public class ExternalChannelsMappingHolder implements Serializable {

    protected List<ExternalChannelsMapping> externalMapping = Lists.newArrayList();
}
0

finalnie :

 public void parseXMLExternalChannelsMapping(String externalChannelsMappingXml, Item item) {
        if (StringUtils.isBlank(externalChannelsMappingXml)) {
            return;
        }
        ExternalChannelsMappingHolder externalChannelsMappingHolder = new ExternalChannelsMappingHolder();
        String[] splited = externalChannelsMappingXml.split("/>");
        for (String val : splited) {
            try {
                externalChannelsMappingHolder.addExternalChannelMapping(ExternalChannelsMapping.builder()
                    .distribChannel(SLExternalDistribChannel.fromTypeId(
                            matchInt(ItemXMLPatterns.externalChannel, val)
                    )).build()
                );
            } catch (Exception en) {
                logger.error(getClass(), "searchItems.externalChannelsMapping: [" + val + "]", en);
            }
        }
        item.setExternalChannelsMappingHolder(externalChannelsMappingHolder);
    }

do zamkniecia

1 użytkowników online, w tym zalogowanych: 0, gości: 1