1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
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;
10 import java.util.List;
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;
22 public Object getValueAt(int rowIndex, int columnIndex) {
23 List<PizzaOrder> pizzaOrders = currentOrder.getOrderedPizzas();
24 List<Pizza> pizzas = currentOrder.getCookedPizzas();
26 PizzaOrder pizzaOrder = pizzaOrders.get(rowIndex);
27 String wantedColumn = COLUMNS[columnIndex];
28 switch (wantedColumn) {
30 return pizzaOrder.getPizzaType();
32 return pizzaOrder.getStatus();
34 if (pizzaOrder.getStatus() == PizzaOrderStatus.DONE && Util.useJMS) {
35 Pizza pizza = pizzas.get(rowIndex);
36 return Util.getId(pizza.getCookId());
38 else if(!Util.useJMS) return Util.getId(pizzaOrder.getCookId());
41 throw new RuntimeException(UNHANDLEDCOLUMN);
45 public void setCurrentOrder(Order currentOrder) {
46 this.currentOrder = currentOrder;
48 fireTableDataChanged();
51 public Order getCurrentOrder() {
56 protected String[] getColumns() {
61 public int getRowCount() {
62 return currentOrder == null ? 0 : currentOrder.getOrderedPizzas().size();