1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
3 import at.ac.tuwien.sbc.valesriegler.common.Util;
4 import at.ac.tuwien.sbc.valesriegler.types.GroupData;
5 import at.ac.tuwien.sbc.valesriegler.types.Order;
6 import org.slf4j.Logger;
7 import org.slf4j.LoggerFactory;
9 import java.util.ArrayList;
10 import java.util.List;
12 public class OrdersOverviewModel extends AbstractOrdersModel<GroupData> {
13 private static final Logger log = LoggerFactory.getLogger(OrdersOverviewModel.class);
15 private static final String ID = "Order ID";
16 private static final String TABLE_ID = "Table ID";
17 private static final String GROUP_ID = "Group ID";
18 private static final String STATUS = "Status";
20 private static final String[] COLUMNS = new String[] { ID, TABLE_ID, GROUP_ID, STATUS };
23 public Object getValueAt(int rowIndex, int columnIndex) {
24 List<GroupData> values = new ArrayList<>(items.values());
25 GroupData group = values.get(rowIndex);
26 Order order = group.getOrder();
27 String wantedColumn = COLUMNS[columnIndex];
28 switch (wantedColumn) {
30 return String.format(Util.NUMBER_DISPLAY_FORMAT, order.getId());
32 return String.format(Util.NUMBER_DISPLAY_FORMAT, group.getTable().getId());
34 return String.format(Util.NUMBER_DISPLAY_FORMAT, order.getGroupId());
36 return order.getStatus();
38 throw new RuntimeException(UNHANDLEDCOLUMN);
42 public GroupData getGroupOfRow(int rowIndex) {
43 return items.get(rowIndex);
47 protected String[] getColumns() {
51 public void updateGroupData(GroupData groupdata) {
52 synchronized (items) {
53 items.put(groupdata.getId(), groupdata);
56 fireTableDataChanged();