]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/PizzasOfOrderModel.java
[XVSM] Some GroupAgent Container Refactoring. Full Driver<->DeliveryCustomer communic...
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / pizzeria / gui / tablemodels / PizzasOfOrderModel.java
1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
2
3 import at.ac.tuwien.sbc.valesriegler.common.TableModel;
4 import at.ac.tuwien.sbc.valesriegler.common.Util;
5 import at.ac.tuwien.sbc.valesriegler.types.Order;
6 import at.ac.tuwien.sbc.valesriegler.types.Pizza;
7 import at.ac.tuwien.sbc.valesriegler.types.PizzaOrder;
8 import at.ac.tuwien.sbc.valesriegler.types.PizzaOrderStatus;
9
10 import java.util.List;
11
12 public class PizzasOfOrderModel extends TableModel<Order> {
13         private static final String TYPE = "Type";
14         private static final String STATUS = "Status";
15         private static final String COOK = "Cook";
16
17         private static final String[] COLUMNS = new String[] { TYPE, STATUS, COOK };
18
19     private Order currentOrder;
20
21         @Override
22         public Object getValueAt(int rowIndex, int columnIndex) {
23                 List<PizzaOrder> pizzaOrders = currentOrder.getOrderedPizzas();
24                 List<Pizza> pizzas = currentOrder.getCookedPizzas();
25
26                 PizzaOrder pizzaOrder = pizzaOrders.get(rowIndex);
27                 String wantedColumn = COLUMNS[columnIndex];
28                 switch (wantedColumn) {
29                 case TYPE:
30                         return pizzaOrder.getPizzaType();
31                 case STATUS:
32                         return pizzaOrder.getStatus();
33                 case COOK:
34                         if (pizzaOrder.getStatus() == PizzaOrderStatus.DONE && Util.useJMS) {
35                                 Pizza pizza = pizzas.get(rowIndex);
36                                 return Util.getId(pizza.getCookId());
37                         }
38                         else if(!Util.useJMS) return Util.getId(pizzaOrder.getCookId());
39                         return "";
40                 default:
41                         throw new RuntimeException(UNHANDLEDCOLUMN);
42                 }
43         }
44
45     public void setCurrentOrder(Order currentOrder) {
46         this.currentOrder = currentOrder;
47
48         fireTableDataChanged();
49     }
50
51     public Order getCurrentOrder() {
52         return currentOrder;
53     }
54
55         @Override
56         protected String[] getColumns() {
57                 return COLUMNS;
58         }
59
60         @Override
61         public int getRowCount() {
62                 return currentOrder == null ? 0 : currentOrder.getOrderedPizzas().size();
63         }
64
65 }