private List buildOrders()

in use-cases/order-picking/src/main/java/org/acme/orderpicking/bootstrap/DemoDataGenerator.java [236:256]


    private List<Order> buildOrders(int size, List<Product> products) {
        List<Order> orderList = new ArrayList<>();
        Order order;
        for (int orderNumber = 1; orderNumber <= size; orderNumber++) {
            int orderItemsSize = ORDER_ITEMS_SIZE_MINIMUM + random.nextInt(products.size() - ORDER_ITEMS_SIZE_MINIMUM);
            List<OrderItem> orderItems = new ArrayList<>();
            Set<String> orderProducts = new HashSet<>();
            order = new Order(Integer.toString(orderNumber), orderItems);
            int itemNumber = 1;
            for (int i = 0; i < orderItemsSize; i++) {
                int productItemIndex = random.nextInt(products.size());
                Product product = products.get(productItemIndex);
                if (!orderProducts.contains(product.getId())) {
                    orderItems.add(new OrderItem(Integer.toString(itemNumber++), order, product));
                    orderProducts.add(product.getId());
                }
            }
            orderList.add(order);
        }
        return orderList;
    }