Метод printActiveVideoSet в классе DirectorTablet должен быть реализован в соответствии с условием задачи.
Вот так добываются данные (class StatisticAdvertisementManager):
public List<Advertisement> getVideoSet(boolean active) {
return storage.list().stream()
.filter(a -> a.getHits() > 0 == active)
.sorted((o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName()))
.collect(Collectors.toList());
}
Вот он так они выводятся (class DirectorTablet):
public void printActiveVideoSet() {
StatisticAdvertisementManager.getInstance()
.getVideoSet(true).forEach(a -> ConsoleHelper.writeMessage( String.format("%s - %d", a.getName(), a.getHits()) ));
ConsoleHelper.writeMessage("");
}
Вывод соответствует. Подскажите, люди добрые, что не так.package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.kitchen.Cook;
import com.javarush.task.task27.task2712.kitchen.Waiter;
public class Restaurant {
public static void main(String[] args) {
Tablet tablet = new Tablet(1);
Cook cook = new Cook("John Travolta");
tablet.addObserver(cook);
cook.addObserver(new Waiter());
tablet.createOrder();
Tablet tablet2 = new Tablet(2);
Cook cook2 = new Cook("Morgan Freeman");
tablet2.addObserver(cook2);
cook2.addObserver(new Waiter());
tablet2.createOrder();
DirectorTablet dTablet = new DirectorTablet();
dTablet.printAdvertisementProfit();
dTablet.printCookWorkloading();
dTablet.printActiveVideoSet();
dTablet.printArchivedVideoSet();
}
}