1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.hack23.cia.web.impl.ui.application.views.common.chartfactory.impl;
20
21 import java.util.Comparator;
22 import java.util.Date;
23 import java.util.function.Function;
24
25 import org.springframework.stereotype.Service;
26
27 import com.hack23.cia.model.external.riksdagen.person.impl.AssignmentData;
28 import com.hack23.cia.web.impl.ui.application.views.common.chartfactory.api.PoliticianGhantChartManager;
29
30
31
32
33 @Service
34 public final class PoliticianGhantChartManagerImpl extends AbstractGhantChartManagerImpl<AssignmentData>
35 implements PoliticianGhantChartManager {
36
37
38 private static final String DEPARTEMENT = "Departement";
39
40
41 private static final String LEDIG = "LEDIG";
42
43
44 private static final String KAMMARUPPDRAG = "kammaruppdrag";
45
46
47
48
49 public PoliticianGhantChartManagerImpl() {
50 super();
51 }
52
53 @Override
54 protected Comparator<AssignmentData> getComparator() {
55 return (o1, o2) -> o1.getFromDate().compareTo(o2.getFromDate());
56 }
57
58 @Override
59 protected Function<AssignmentData, String> getRoleMapping() {
60 return new RoleMapping();
61 }
62
63 @Override
64 protected StepMapping<AssignmentData> getStepMapping() {
65 return new StepMapping<AssignmentData>() {
66
67 @Override
68 public Date getFromDate(final AssignmentData t) {
69 return t.getFromDate();
70 }
71
72 @Override
73 public Date getToDate(final AssignmentData t) {
74 return t.getToDate();
75 }
76
77 @Override
78 public String getRoleCode(final AssignmentData t) {
79 return t.getRoleCode();
80 }
81
82 @Override
83 public String getOrg(final AssignmentData t) {
84 return t.getDetail();
85 }
86
87 @Override
88 public String getParty(final AssignmentData t) {
89 return t.getOrgCode();
90 }
91
92 @Override
93 public String getBackgroundColor(final AssignmentData t) {
94 String color;
95
96 final String parliamentType = KAMMARUPPDRAG;
97
98 if (LEDIG.equalsIgnoreCase(t.getStatus())) {
99 color = "e3e3e3";
100 } else if (parliamentType.equalsIgnoreCase(t.getAssignmentType())) {
101 color = "0eab76";
102 } else if (DEPARTEMENT.equalsIgnoreCase(t.getAssignmentType())) {
103
104 color = "ded858";
105 } else {
106 color = "3271c8";
107 }
108
109 return color;
110 }
111
112 @Override
113 public Object getFirstName(final AssignmentData t) {
114 return "";
115 }
116
117 @Override
118 public Object getLastName(final AssignmentData t) {
119 return "";
120 }
121
122 };
123 }
124
125
126
127
128 private static final class RoleMapping implements Function<AssignmentData, String> {
129
130
131 private static final String RIKSDAGSLEDAMOT = "Riksdagsledamot";
132
133 @Override
134 public String apply(final AssignmentData t) {
135 if (KAMMARUPPDRAG.equalsIgnoreCase(t.getAssignmentType())) {
136 return RIKSDAGSLEDAMOT;
137 } else {
138 return t.getAssignmentType() + '.' + t.getDetail() + ' ' + t.getRoleCode();
139 }
140
141 }
142 }
143
144 }