Вроде все условия выполняются...
Что я не учел?
package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.ad.AdvertisementManager;
import com.javarush.task.task27.task2712.ad.NoVideoAvailableException;
import com.javarush.task.task27.task2712.kitchen.Order;
import com.javarush.task.task27.task2712.statistic.StatisticManager;
import com.javarush.task.task27.task2712.statistic.event.CookedOrderEventDataRow;
import com.javarush.task.task27.task2712.statistic.event.NoAvailableVideoEventDataRow;
import java.io.IOException;
import java.util.Observable;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Tablet extends Observable {
private final int number;
private static Logger logger=Logger.getLogger(Tablet.class.getName());
public Tablet(int number) {
this.number = number;
}
public Order createOrder(){
try{
Order order=new Order(this);
if (!order.isEmpty()) {
ConsoleHelper.writeMessage(order.toString());
setChanged();
notifyObservers(order);
try {
new AdvertisementManager(order.getTotalCookingTime() * 60).processVideos();
}catch (NoVideoAvailableException noVideoAvailableException){
logger.log(Level.INFO, "No video is available for the order " + order);
StatisticManager.getInstance().register(new NoAvailableVideoEventDataRow(order.getTotalCookingTime()));
}
return order;
}
}
catch (IOException e){
logger.log(Level.SEVERE,"Console is unavailable.");
}
return null;
}
@Override
public String toString() {
return "Tablet{" +
"number=" + number +
'}';
}
}