1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
3 import at.ac.tuwien.sbc.valesriegler.types.DeliveryGroupData;
4 import at.ac.tuwien.sbc.valesriegler.types.Order;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
8 import java.util.ArrayList;
11 public class DeliveryOrdersModel extends AbstractOrdersModel<DeliveryGroupData> {
12 private static final Logger log = LoggerFactory.getLogger(DeliveryOrdersModel.class);
14 private static final String ID = "Delivery ID";
15 private static final String ORDER_ID = "Order ID";
16 private static final String DELIVERY_ADDRESS = "Address";
17 private static final String STATUS = "Status";
18 private static final String LOAD_BALANCER_ID = "Moved by";
19 private static final String ORIGINAL_PIZZERIA = "Moved from";
21 private static final String[] COLUMNS = new String[] { ORDER_ID, ID, DELIVERY_ADDRESS, STATUS, LOAD_BALANCER_ID, ORIGINAL_PIZZERIA };
24 protected String[] getColumns() {
29 public Object getValueAt(int rowIndex, int columnIndex) {
30 List<DeliveryGroupData> values = new ArrayList<>(items.values());
31 DeliveryGroupData group = values.get(rowIndex);
32 Order order = group.getOrder();
33 String wantedColumn = COLUMNS[columnIndex];
34 switch (wantedColumn) {
39 case DELIVERY_ADDRESS:
40 return group.getAddress();
42 return group.getDeliveryStatus();
43 case LOAD_BALANCER_ID:
44 return group.getLoadBalancerId();
45 case ORIGINAL_PIZZERIA:
46 return group.getOriginalPizzeriaId();
48 throw new RuntimeException(UNHANDLEDCOLUMN);
52 public DeliveryGroupData getGroupOfRow(int rowIndex) {
53 return new ArrayList<>(items.values()).get(rowIndex);