]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/OrdersOverviewModel.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 / OrdersOverviewModel.java
1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
2
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;
8
9 import java.util.ArrayList;
10 import java.util.List;
11
12 public class OrdersOverviewModel extends AbstractOrdersModel<GroupData> {
13         private static final Logger log = LoggerFactory.getLogger(OrdersOverviewModel.class);
14
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";
19
20         private static final String[] COLUMNS = new String[] { ID, TABLE_ID, GROUP_ID, STATUS };
21
22         @Override
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) {
29                 case ID:
30                         return String.format(Util.NUMBER_DISPLAY_FORMAT, order.getId());
31                 case TABLE_ID:
32                         return String.format(Util.NUMBER_DISPLAY_FORMAT, group.getTable().getId());
33                 case GROUP_ID:
34                         return String.format(Util.NUMBER_DISPLAY_FORMAT, order.getGroupId());
35                 case STATUS:
36                         return order.getStatus();
37                 default:
38                         throw new RuntimeException(UNHANDLEDCOLUMN);
39                 }
40         }
41
42         public GroupData getGroupOfRow(int rowIndex) {
43         return items.get(rowIndex);
44         }
45
46         @Override
47         protected String[] getColumns() {
48                 return COLUMNS;
49         }
50
51         public void updateGroupData(GroupData groupdata) {
52                 synchronized (items) {
53                         items.put(groupdata.getId(), groupdata);
54                 }
55
56                 fireTableDataChanged();
57         }
58 }