кончились идеи(
"Класс TestOrder должен быть потомком класса Order"
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 java.util.Observable;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import static java.util.logging.Level.SEVERE;
public class Tablet extends Observable {
final int number;
static Logger logger = Logger.getLogger(Tablet.class.getName());
public Tablet(int number) {
this.number = number;
}
public Order createOrder() {
try {
Order order = new Order(this);
return getOrder(order);
}
catch (IOException e) {
logger.log(SEVERE, "Console is unavailable.");
return null;
} catch (Exception e) {
return null;
}
}
@Override
public String toString() {
return String.format("Tablet{number=%d}", number);
}
public void createTestOrder(){
try {
getOrder(new TestOrder(this));
}
catch (IOException e) {
logger.log(SEVERE, "Console is unavailable.");
}
}
private Order getOrder(Order order) {
if (!order.isEmpty()) {
ConsoleHelper.writeMessage(order.toString());
try {
(new AdvertisementManager(order.getTotalCookingTime()*60)).processVideos();
} catch (NoVideoAvailableException e) {
logger.log(Level.INFO, "No video is available for the order " + order);
// StatisticManager.getInstance().register(new NoAvailableVideoEventDataRow(order.getTotalCookingTime()));
}
setChanged();
notifyObservers(order);
return order;
}
else
return null;
}
}