Maybe the cause is not in the OrderManager constructor?
package com.codegym.task.task27.task2712;
import com.codegym.task.task27.task2712.kitchen.Cook;
import com.codegym.task.task27.task2712.kitchen.Order;
import com.codegym.task.task27.task2712.kitchen.Waiter;
import com.codegym.task.task27.task2712.statistics.StatisticsManager;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Restaurant {
private static final int ORDER_CREATION_INTERVAL = 100;
public static void main(String[] args) throws IOException {
Cook cookAmigo = new Cook("Amigo");
cookAmigo.addObserver(new Waiter());
Cook cookDiego = new Cook("Diego");
cookDiego.addObserver(new Waiter());
StatisticsManager statisticsManager = StatisticsManager.getInstance();
statisticsManager.register(cookAmigo);
statisticsManager.register(cookDiego);
OrderManager orderManager = new OrderManager();
List<Tablet> tablets = new ArrayList<>();
for (int i = 0; i < 5; i++) {
Tablet tablet = new Tablet(i);
tablets.add(tablet);
tablet.addObserver(orderManager);
}
Thread t = new Thread(new RandomOrderGeneratorTask(tablets, ORDER_CREATION_INTERVAL));
t.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
//e.printStackTrace();
}
t.interrupt();
// ManagerTablet managerTablet = new ManagerTablet();
// managerTablet.printAdRevenue();
// managerTablet.printCookUtilization();
// managerTablet.printActiveVideoSet();
// managerTablet.printArchivedVideoSet();
}
}