Re[2]: Уменьшить Cognitive Complexity метода. рефакторинг.
От: HAXT  
Дата: 14.09.18 10:42
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

Спасибо Артём,

Product то нормально в саму мапу встраивается а вот zoneId, dateFormat передаются с верхнего вызова и если dateFormat можно заинжектить в этом классе, то zoneId передаётся из UI через контроллер, и тут проблемы с объявлением мапы.

    private static Map<ExportColumnEnum, Function<IndexedDraftOrderDto, Object>> dataSources = ImmutableMap.of(
        ExportColumnEnum.ORDER_CODE,    (o) -> o.getOrderCode(),
        ExportColumnEnum.CUSTOMER,      (o) -> nonNull(o.getCustomer()) ? o.getCustomer().getName() : "",
        ExportColumnEnum.ANIMAL_COUNT,  (o) -> o.getNumberOfAnimals(),
        ExportColumnEnum.SAVED,         (o) -> formatDate(o.getSavedDate(), zoneId, dateFormat),
        ExportColumnEnum.PRODUCT,       (o) -> Optional.ofNullable(o.getProducts()).orElse(Collections.emptyList()).stream()
                                                    .map(IndexedProductDto::getProductName)
                                                    .collect(Collectors.toList()),
        ExportColumnEnum.MARKET,        (o) -> o.getMarket()
    );
Отредактировано 14.09.2018 10:45 HAXT . Предыдущая версия . Еще …
Отредактировано 14.09.2018 10:44 HAXT . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.