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.types.DeliveryGroupData;
5 import at.ac.tuwien.sbc.valesriegler.types.GroupData;
6 import at.ac.tuwien.sbc.valesriegler.types.Order;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
10 import java.util.ArrayList;
11 import java.util.List;
13 public class DeliveryOrdersModel extends AbstractOrdersModel<DeliveryGroupData> {
14 private static final Logger log = LoggerFactory.getLogger(DeliveryOrdersModel.class);
16 private static final String ID = "Delivery ID";
17 private static final String ORDER_ID = "Order ID";
18 private static final String DELIVERY_ADDRESS = "Address";
19 private static final String STATUS = "Status";
20 private static final String LOAD_BALANCER_ID = "Moved by";
21 private static final String ORIGINAL_PIZZERIA = "Moved from";
23 private static final String[] COLUMNS = new String[] { ID, ORDER_ID, DELIVERY_ADDRESS, STATUS, LOAD_BALANCER_ID, ORIGINAL_PIZZERIA };
26 protected String[] getColumns() {
31 public Object getValueAt(int rowIndex, int columnIndex) {
32 List<DeliveryGroupData> values = new ArrayList<>(items.values());
33 DeliveryGroupData group = values.get(rowIndex);
34 Order order = group.getOrder();
35 String wantedColumn = COLUMNS[columnIndex];
36 switch (wantedColumn) {
41 case DELIVERY_ADDRESS:
42 return group.getAddress();
44 return group.getDeliveryStatus();
45 case LOAD_BALANCER_ID:
46 return group.getLoadBalancerId();
47 case ORIGINAL_PIZZERIA:
48 return group.getOriginalPizzeriaId();
50 throw new RuntimeException(UNHANDLEDCOLUMN);
54 public DeliveryGroupData getGroupOfRow(int rowIndex) {
55 synchronized (items) {
56 return new ArrayList<>(items.values()).get(rowIndex);