EldiraSesto

RestaurantManagement

Jun 9th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.53 KB | None | 0 0
  1. package defaultpackage;
  2.  
  3. import cashregister.CashRegisterFactory;
  4. import cashregister.ICashRegister;
  5. import cashregister.IObserver;
  6. import cashregister.ui.CashRegisterGUI;
  7. import cashregister.ui.ICashRegisterUI;
  8. import domain.product.ExtendedProduct;
  9. import domain.product.JointProduct;
  10. import domain.product.ProductCategory;
  11. import domain.product.SimpleProduct;
  12. import managementserver.IManagementServer;
  13. import managementserver.ManagementServer;
  14. import managementtools.ManagementServerViewer;
  15. import rbvs.product.IProduct;
  16. import warehouse.IWarehouse;
  17. import warehouse.IWarehouseListener;
  18. import warehouse.Warehouse;
  19. import warehouse.ui.WarehouseManager;
  20.  
  21. public class RestaurantManagement {
  22.  
  23.     public static void main(String[] args) {
  24.  
  25.         SimpleProduct sprod1 = new SimpleProduct("Chicken wings", 12f);
  26.         SimpleProduct sprod2 = new SimpleProduct("Spareribs", 20f);
  27.         SimpleProduct sprod3 = new SimpleProduct("Burger", 15f);
  28.         SimpleProduct sprod4 = new SimpleProduct("Potato", 6f);
  29.  
  30.         ExtendedProduct eprod1 = new ExtendedProduct("Beer", 4.0f);
  31.         ExtendedProduct eprod2 = new ExtendedProduct("Cola", 2.0f);
  32.  
  33.         JointProduct jprod1 = new JointProduct("Menü1", 22f);
  34.         JointProduct jprod2 = new JointProduct("Menü2", 37f);
  35.  
  36.         jprod1.addProduct(sprod1);
  37.         jprod1.addProduct(sprod4);
  38.         jprod1.addProduct(sprod3);
  39.         jprod1.addProduct(sprod2);
  40.         jprod2.addProduct(eprod2);
  41.         jprod2.addProduct(eprod1);
  42.  
  43.         jprod1.setCategory(ProductCategory.FOOD);
  44.         jprod2.setCategory(ProductCategory.BEVERAGE);
  45.  
  46.         // Create ManagementServer and Warehouse
  47.         IManagementServer mngServer = ManagementServer.GET_INSTANCE();
  48.         IWarehouse warehouse = Warehouse.GET_INSTANCE();
  49.  
  50.         // TODO: register mngServer as listener at the warehouse
  51.         Warehouse ware = (Warehouse) warehouse;
  52.         ware.registerListener((IWarehouseListener) mngServer);
  53.  
  54.         // TODO: add Products to warehouse
  55.         ware.addProduct((IProduct) jprod1);
  56.         ware.addProduct((IProduct) jprod2);
  57.  
  58.         // TODO: create CashRegister and register it as an observer at the mngServer
  59.         ICashRegister cashRegister = CashRegisterFactory.createCashRegister();
  60.         mngServer.addCashRegister(cashRegister);
  61.         ((ManagementServer) mngServer).register((IObserver)cashRegister);
  62.  
  63.         // TODO: Create GUI for CashRegister
  64.         ICashRegisterUI gui = new CashRegisterGUI(cashRegister);
  65.  
  66.         new WarehouseManager(warehouse);
  67.         new ManagementServerViewer(ManagementServer.GET_INSTANCE());
  68.  
  69.         // TODO: register CashRegisterGUI as an UI at the previously created cashRegister
  70.         cashRegister.registerCashRegisterUI(gui);
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment