]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/DeliveryOrdersModel.java
replaced all <> with explicit types - needed for jenkins
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / pizzeria / gui / tablemodels / DeliveryOrdersModel.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.DeliveryGroupData;
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 DeliveryOrdersModel extends AbstractOrdersModel<DeliveryGroupData> {
14         private static final Logger log = LoggerFactory.getLogger(DeliveryOrdersModel.class);
15
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 = "Load Balancer";
21         private static final String ORIGINAL_PIZZERIA = "From";
22         private static final String TARGET_PIZZERIA = "To";
23
24         private static final String[] COLUMNS = new String[]{ORDER_ID, ID, DELIVERY_ADDRESS, STATUS, LOAD_BALANCER_ID,
25                         ORIGINAL_PIZZERIA, TARGET_PIZZERIA};
26
27         @Override
28         protected String[] getColumns() {
29                 return COLUMNS;
30         }
31
32         @Override
33         public Object getValueAt(int rowIndex, int columnIndex) {
34                 List<DeliveryGroupData> values = new ArrayList<DeliveryGroupData>(items.values());
35                 Collections.sort(values, Util.HAS_ORDER_COMPARATOR);
36                 DeliveryGroupData group = values.get(rowIndex);
37                 Order order = group.getOrder();
38                 String wantedColumn = COLUMNS[columnIndex];
39                 switch (wantedColumn) {
40                         case ID :
41                                 return group.getId();
42                         case ORDER_ID :
43                                 return order.getId();
44                         case DELIVERY_ADDRESS :
45                                 return group.getAddress();
46                         case STATUS :
47                                 return group.getDeliveryStatus();
48                         case LOAD_BALANCER_ID :
49                                 return group.getLoadBalancerId();
50                         case ORIGINAL_PIZZERIA :
51                                 return group.getOriginalPizzeriaId();
52             case TARGET_PIZZERIA :
53                 return (group.getOriginalPizzeriaId() != null) ? group.getPizzeriaId() : "";
54                         default :
55                                 throw new RuntimeException(UNHANDLEDCOLUMN);
56                 }
57         }
58
59         public DeliveryGroupData getGroupOfRow(int rowIndex) {
60                 List<DeliveryGroupData> values = new ArrayList<DeliveryGroupData>(items.values());
61                 Collections.sort(values, Util.HAS_ORDER_COMPARATOR);
62                 return values.get(rowIndex);
63         }
64 }