]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/PizzasOfOrderModel.java
JMS: pizzeriaGui now displays everything correctly.
[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 java.util.List;
4
5 import at.ac.tuwien.sbc.valesriegler.common.TableModel;
6 import at.ac.tuwien.sbc.valesriegler.common.Util;
7 import at.ac.tuwien.sbc.valesriegler.types.Order;
8 import at.ac.tuwien.sbc.valesriegler.types.Pizza;
9 import at.ac.tuwien.sbc.valesriegler.types.PizzaOrder;
10 import at.ac.tuwien.sbc.valesriegler.types.PizzaOrderStatus;
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         public void setCurrentOrder(Order currentOrder) {
22                 this.currentOrder = currentOrder;
23
24                 fireTableDataChanged();
25         }
26
27         @Override
28         public Object getValueAt(int rowIndex, int columnIndex) {
29                 List<PizzaOrder> pizzaOrders = currentOrder.getOrderedPizzas();
30                 List<Pizza> pizzas = currentOrder.getCookedPizzas();
31
32                 PizzaOrder pizzaOrder = pizzaOrders.get(rowIndex);
33                 String wantedColumn = COLUMNS[columnIndex];
34                 switch (wantedColumn) {
35                 case TYPE:
36                         return pizzaOrder.getPizzaType();
37                 case STATUS:
38                         return pizzaOrder.getStatus();
39                 case COOK:
40                         if (pizzaOrder.getStatus() == PizzaOrderStatus.DONE) {
41                                 Pizza pizza = pizzas.get(rowIndex);
42                                 return Util.getId(pizza.getCookId());
43                         }
44                         return "";
45                 default:
46                         throw new RuntimeException(UNHANDLEDCOLUMN);
47                 }
48         }
49
50         @Override
51         protected String[] getColumns() {
52                 return COLUMNS;
53         }
54
55         @Override
56         public int getRowCount() {
57                 return currentOrder == null ? 0 : currentOrder.getOrderedPizzas().size();
58         }
59
60 }