Валик ругается, я уже все глаза смозолил об эту задачу.
Вроде реализовано все по пунктам.
Заметил, что в консоль сначала выводит заказ, затем рекламу, а потом повар начинает и сразу же заканчивает готовить заказ, может в этом беда?
не могу сообразить где накосячил, или так и должно быть?
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.kitchen.TestOrder;
import java.io.IOException;
import java.util.Observable;
import java.util.logging.Logger;
public class Tablet extends Observable {
private final int number;
public static Logger logger = Logger.getLogger(Tablet.class.getName());
public Tablet(int number) {
this.number = number;
}
public Order createOrder() {
Order order = null;
try {
order = new Order(this);
someMethod(order);
} catch (IOException ex) {
logger.severe("Console is unavailable.");
}
return order;
}
public void createTestOrder() {
TestOrder order = null;
try {
order = new TestOrder(this);
someMethod(order);
} catch (IOException ex) {
logger.severe("Console is unavailable.");
}
}
private void someMethod(Order order) {
if (!order.isEmpty()) {
try {
// ConsoleHelper.writeMessage(order.toString());
new AdvertisementManager(order.getTotalCookingTime() * 60).processVideos();
this.setChanged();
notifyObservers(order);
} catch (NoVideoAvailableException ex) {
logger.info("No video is available for the order " + order);
}
}
}
@Override
public String toString() {
return "Tablet{number=" + number +
'}';
}
}