public List<GroupedOrderActionUpdateEntity> convertAndGroupForUpdate(List<SimpleRatifiableAction> actions) { List<GroupedOrderActionUpdateEntity> groupedActions = new ArrayList<>(); Map<String, List<SimpleRatifiableAction>> groupSimple = actions.stream() .collect(Collectors.groupingBy(x -> x.getOrderNumber() + x.getActionType())); groupSimple.entrySet().stream() .map(x -> convertToUpdateGroup(x.getValue())) .forEachOrdered(groupedActions::add); return groupedActions; } public GroupedOrderActionUpdateEntity convertToUpdateGroup(List<SimpleRatifiableAction> actions) { List<OrderActionUpdateEntity> actionList = actions.stream().map(x -> convertToUpdateEntity(x)).collect(Collectors.toList()); return new GroupedOrderActionUpdateEntity( actions.get(0).getOrderNumber(), OrderActionType.valueOf(actions.get(0).getActionType()), actions.get(0).getSource(), 12345, actions.stream().map(SimpleRatifiableAction::getNote) .collect(Collectors.joining(", ", "Group Order Note: ", ".")), actionList); } public OrderActionUpdateEntity convertToUpdateEntity(SimpleRatifiableAction action) { return new OrderActionUpdateEntity(action.getId(), OrderActionState.valueOf(action.getState())); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)