]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/group/gui/DeliveryOverviewModel.java
Add wizard for creating delivery groups to GroupFrame
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / group / gui / DeliveryOverviewModel.java
1 package at.ac.tuwien.sbc.valesriegler.group.gui;
2
3
4 import at.ac.tuwien.sbc.valesriegler.common.TableModel;
5 import at.ac.tuwien.sbc.valesriegler.common.Util;
6 import at.ac.tuwien.sbc.valesriegler.group.DeliveryGroup;
7 import at.ac.tuwien.sbc.valesriegler.group.Group;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10
11 import java.util.ArrayList;
12 import java.util.List;
13
14 public class DeliveryOverviewModel extends TableModel<DeliveryGroup> {
15     private static final Logger log = LoggerFactory.getLogger(GroupOverviewModel.class);
16
17     private static final String STATE = "State";
18     private static final String PIZZAS = "Pizzas";
19     private static final String ADDRESS = "Address";
20     private static final String ID = "ID";
21     private static final String PIZZERIA = "Pizzeria";
22     private static final String[] COLUMNS = new String[] { ID, ADDRESS, PIZZAS, STATE, PIZZERIA };
23
24
25     @Override
26     protected String[] getColumns() {
27         return COLUMNS;
28     }
29
30     @Override
31     public Object getValueAt(int rowIndex, int columnIndex) {
32         List<DeliveryGroup> values = new ArrayList<>(items.values());
33         DeliveryGroup group = values.get(rowIndex);
34         String wantedColumn = COLUMNS[columnIndex];
35         switch (wantedColumn) {
36             case ID:
37                 int groupId = group.getId();
38                 return groupId;
39             case ADDRESS:
40                 return group.getDeliveryGroupData().getAddress();
41             case PIZZAS:
42                 if (group.getDeliveryGroupData().getOrder() == null)
43                     return "none";
44                 return Util.pizzaDisplay(group.getDeliveryGroupData().getOrder().getOrderedPizzas());
45             case STATE:
46                 return group.getDeliveryGroupData().getDeliveryStatus();
47             case PIZZERIA:
48                 return group.getDeliveryGroupData().getPizzeriaId();
49             default:
50                 throw new RuntimeException(UNHANDLEDCOLUMN);
51         }
52     }
53 }