1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.Comparator;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
11 import at.ac.tuwien.sbc.valesriegler.types.DeliveryGroupData;
12 import at.ac.tuwien.sbc.valesriegler.types.Order;
14 public class DeliveryOrdersModel extends AbstractOrdersModel<DeliveryGroupData> {
15 private static final Logger log = LoggerFactory.getLogger(DeliveryOrdersModel.class);
17 private static final String ID = "Delivery ID";
18 private static final String ORDER_ID = "Order ID";
19 private static final String DELIVERY_ADDRESS = "Address";
20 private static final String STATUS = "Status";
21 private static final String LOAD_BALANCER_ID = "Moved by";
22 private static final String ORIGINAL_PIZZERIA = "Moved from";
24 private static final String[] COLUMNS = new String[]{ORDER_ID, ID, DELIVERY_ADDRESS, STATUS, LOAD_BALANCER_ID,
28 protected String[] getColumns() {
33 public Object getValueAt(int rowIndex, int columnIndex) {
34 List<DeliveryGroupData> values = new ArrayList<>(items.values());
35 // TODO: make sure that is necessary
36 Collections.sort(values, new Comparator<DeliveryGroupData>() {
38 public int compare(DeliveryGroupData o1, DeliveryGroupData o2) {
39 final int o1Id = o1.getOrder().getId();
40 final int o2Id = o2.getOrder().getId();
57 DeliveryGroupData group = values.get(rowIndex);
58 Order order = group.getOrder();
59 String wantedColumn = COLUMNS[columnIndex];
60 switch (wantedColumn) {
65 case DELIVERY_ADDRESS :
66 return group.getAddress();
68 return group.getDeliveryStatus();
69 case LOAD_BALANCER_ID :
70 return group.getLoadBalancerId();
71 case ORIGINAL_PIZZERIA :
72 return group.getOriginalPizzeriaId();
74 throw new RuntimeException(UNHANDLEDCOLUMN);
78 public DeliveryGroupData getGroupOfRow(int rowIndex) {
79 List<DeliveryGroupData> values = new ArrayList<>(items.values());
80 // TODO: make sure that is necessary
81 Collections.sort(values, new Comparator<DeliveryGroupData>() {
83 public int compare(DeliveryGroupData o1, DeliveryGroupData o2) {
84 final int o1Id = o1.getOrder().getId();
85 final int o2Id = o2.getOrder().getId();
102 return values.get(rowIndex);
103 // return new ArrayList<>(items.values()).get(rowIndex);