Валидатор говорит:
1. Класс OrderManager должен поддерживать интерфейс Observer.
Дык
package com.javarush.task.task27.task2712.kitchen;
import java.util.Observable;
import java.util.Observer;
import java.util.concurrent.LinkedBlockingQueue;
public class OrderManager implements Observer {
...
2. Заказы поступающие в OrderManager должны добавляться в очередь orderQueue.
Отдебажил этот метод, все добавляется...
@Override
public void update(Observable o, Object arg) {
orderQueue.offer((Order) arg);
}
Явно ему что-то в другом методе не нравится, но где?package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.kitchen.OrderManager;
import com.javarush.task.task27.task2712.kitchen.Cook;
import com.javarush.task.task27.task2712.kitchen.Waiter;
import com.javarush.task.task27.task2712.statistic.StatisticManager;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
public class Restaurant {
private static final int ORDER_CREATING_INTERVAL = 100;
public static void main(String[] args) throws IOException{
Locale.setDefault(Locale.ENGLISH);
Waiter waiter = new Waiter();
OrderManager orderManager = new OrderManager();
List<Cook> cookList = new LinkedList<>();
for (int i =1; i<3; i++) {
Cook cook = new Cook("Amigo"+i);
StatisticManager.getInstance().register(cook);
cook.addObserver(waiter);
cookList.add(cook);
}
List<Tablet> tabletList = new LinkedList<>();
for(int i=1; i<6; i++) {
Tablet tablet = new Tablet(i);
for(Cook cook : cookList) tablet.addObserver(orderManager);
tabletList.add(tablet);
}
DirectorTablet directorTablet= new DirectorTablet();
Thread thread = new Thread(new RandomOrderGeneratorTask(tabletList,ORDER_CREATING_INTERVAL));
thread.start();
try {
Thread.sleep(1000);
}catch (InterruptedException e) {
return;
}
thread.interrupt();
directorTablet.printActiveVideoSet();
directorTablet.printAdvertisementProfit();
directorTablet.printArchivedVideoSet();
directorTablet.printCookWorkloading();
}
}