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;
}