1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
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;
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";
17 private static final String[] COLUMNS = new String[] { TYPE, STATUS, COOK };
19 private Order currentOrder;
21 public void setCurrentOrder(Order currentOrder) {
22 this.currentOrder = currentOrder;
24 fireTableDataChanged();
28 public Object getValueAt(int rowIndex, int columnIndex) {
29 List<PizzaOrder> pizzaOrders = currentOrder.getOrderedPizzas();
30 List<Pizza> pizzas = currentOrder.getCookedPizzas();
32 PizzaOrder pizzaOrder = pizzaOrders.get(rowIndex);
33 String wantedColumn = COLUMNS[columnIndex];
34 switch (wantedColumn) {
36 return pizzaOrder.getPizzaType();
38 return pizzaOrder.getStatus();
40 if (pizzaOrder.getStatus() == PizzaOrderStatus.DONE && Util.useJMS) {
41 Pizza pizza = pizzas.get(rowIndex);
42 return Util.getId(pizza.getCookId());
44 else if(!Util.useJMS) return Util.getId(pizzaOrder.getCookId());
47 throw new RuntimeException(UNHANDLEDCOLUMN);
52 protected String[] getColumns() {
57 public int getRowCount() {
58 return currentOrder == null ? 0 : currentOrder.getOrderedPizzas().size();