/** * Inicializacia systemu * * @param args */ public static void main(String args[]) { PizzaShop shop = new PizzaShop(); // ------------------------ // toto si pouzivajte ak potrebujete na tesovanie. // Tu zatial nevyzera zeby tu daco malo byt ine ako // PizzaShop shop = new PizzaShop(); // necommitujte tento subor // -------------------------- Collection<Meal> meals = shop.getMealsMenu().getAllMealsCollection(); // napr v UI sa tieto jedla teraz vypisu Meal mymeal = meals.iterator().next(); // nejake sa zvoli PersonalOrder myOrder = new PersonalOrder(new GuestCustomer("ujo v cervenom rolaku")); myOrder.setTableNumber(5); myOrder.addMeal(mymeal); // -------------------------- // Vsetky tie roly pouzivatelov implementujuce IUserRole nie su uplne nevyhnutne preto som sa // ich dal mimo PizzaShop, // da na nich naviazat nejake aspekty a mozno to nie je zle takto uchovavat operacie. RestaurantWaiter waiter = new RestaurantWaiter(shop); // toto sa vyvori niekde v ui napr Cook chef = new Cook(shop); DeliveryGuy someGuy = new DeliveryGuy(shop); try { waiter.acceptOrder(myOrder); // -------------------------- } catch (ActionUnsuccessfullException e) { System.out.println("Nemalo by nastat - acceptOrder: " + e.getMessage()); } // -------------------------- try { chef.cookOrderMeals( myOrder); // hadze exception vyzera ze tu je nastave ze ma malo surovin .. treba to // skontrolovat } catch (ActionUnsuccessfullException e) { System.out.println("Nemalo by nastat - cookOrderMeals: " + e.getMessage()); } // -------------------------- try { someGuy.shipOrder(myOrder); // teoreticky by toto malo hadzat dajaku chybu } catch (ActionUnsuccessfullException e) { System.out.println("MALO by nastat someGuy.shipOrder: " + e.getMessage()); } // Vypisanie orderBill System.out.println(myOrder.getOrderBill()); }