]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/OrdersOverviewModel.java
replaced all <> with explicit types - needed for jenkins
[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.Collections;
11 import java.util.List;
12
13 public class OrdersOverviewModel extends AbstractOrdersModel<GroupData> {
14     private static final Logger log = LoggerFactory.getLogger(OrdersOverviewModel.class);
15
16         private static final String ID = "Order ID";
17         private static final String TABLE_ID = "Table ID";
18         private static final String GROUP_ID = "Group ID";
19         private static final String STATUS = "Status";
20
21         private static final String[] COLUMNS = new String[] { ID, TABLE_ID, GROUP_ID, STATUS };
22
23     @Override
24         public Object getValueAt(int rowIndex, int columnIndex) {
25                 List<GroupData> values = new ArrayList<GroupData>(items.values());
26         Collections.sort(values, Util.HAS_ORDER_COMPARATOR);
27         GroupData group = values.get(rowIndex);
28                 Order order = group.getOrder();
29                 String wantedColumn = COLUMNS[columnIndex];
30                 switch (wantedColumn) {
31                 case ID:
32                         return String.format(Util.NUMBER_DISPLAY_FORMAT, order.getId());
33                 case TABLE_ID:
34                         return String.format(Util.NUMBER_DISPLAY_FORMAT, group.getTable().getId());
35                 case GROUP_ID:
36                         return String.format(Util.NUMBER_DISPLAY_FORMAT, order.getGroupId());
37                 case STATUS:
38                         return order.getStatus();
39                 default:
40                         throw new RuntimeException(UNHANDLEDCOLUMN);
41                 }
42         }
43
44         public GroupData getGroupOfRow(int rowIndex) {
45         final List<GroupData> values = new ArrayList<GroupData>(items.values());
46         Collections.sort(values, Util.HAS_ORDER_COMPARATOR);
47         return new ArrayList<GroupData>(values).get(rowIndex);
48         }
49
50         @Override
51         protected String[] getColumns() {
52                 return COLUMNS;
53         }
54
55         public void updateGroupData(GroupData groupdata) {
56                 synchronized (items) {
57                         items.put(groupdata.getId(), groupdata);
58                 }
59
60                 fireTableDataChanged();
61         }
62 }