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[] { ID, ORDER_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 synchronized (items) {
54 return new ArrayList<>(items.values()).get(rowIndex);
58 // public void updateInProgress(List<DeliveryGroupData> groupsInProgress) {
59 // synchronized (items) {
60 // for (DeliveryGroupData group : groupsInProgress) {
61 // Order order = group.getOrder();
62 // List<DeliveryGroupData> groups = new ArrayList<DeliveryGroupData>(items.values());
63 // for (DeliveryGroupData groupData : groups) {
64 // Order orderOfGroup = groupData.getOrder();
65 // if (order.getId() == orderOfGroup.getId()) {
66 // orderOfGroup.setStatus(OrderStatus.DELIVERED);
67 // groupData.setServingWaiter(group.getServingWaiter());
73 // fireTableDataChanged();