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.Locale;
24 import java.util.function.Function;
25
26 import org.springframework.stereotype.Service;
27
28 import com.hack23.cia.model.internal.application.data.ministry.impl.ViewRiksdagenGovermentRoleMember;
29 import com.hack23.cia.web.impl.ui.application.views.common.chartfactory.api.MinistryGhantChartManager;
30
31
32
33
34 @Service
35 public final class MinistryGhantChartManagerImpl extends AbstractGhantChartManagerImpl<ViewRiksdagenGovermentRoleMember>
36 implements MinistryGhantChartManager {
37
38
39
40
41 public MinistryGhantChartManagerImpl() {
42 super();
43 }
44
45 @Override
46 protected Comparator<ViewRiksdagenGovermentRoleMember> getComparator() {
47 return (o1, o2) -> o1.getFromDate().compareTo(o2.getFromDate());
48 }
49
50 @Override
51 protected Function<ViewRiksdagenGovermentRoleMember, String> getRoleMapping() {
52 return new RoleMapping();
53 }
54
55 @Override
56 protected StepMapping<ViewRiksdagenGovermentRoleMember> getStepMapping() {
57 return new StepMapping<ViewRiksdagenGovermentRoleMember>() {
58
59 @Override
60 public Date getFromDate(final ViewRiksdagenGovermentRoleMember t) {
61 return t.getFromDate();
62 }
63
64 @Override
65 public Date getToDate(final ViewRiksdagenGovermentRoleMember t) {
66 return t.getToDate();
67 }
68
69 @Override
70 public String getRoleCode(final ViewRiksdagenGovermentRoleMember t) {
71 return t.getRoleCode();
72 }
73
74 @Override
75 public String getOrg(final ViewRiksdagenGovermentRoleMember t) {
76 return t.getDetail();
77 }
78
79 @Override
80 public String getParty(final ViewRiksdagenGovermentRoleMember t) {
81 return t.getParty();
82 }
83
84 @Override
85 public String getBackgroundColor(final ViewRiksdagenGovermentRoleMember t) {
86 String color;
87
88 if (t.getRoleCode().toLowerCase(Locale.ENGLISH).contains("statsråd")) {
89 color = "ded858";
90 } else if (t.getRoleCode().toLowerCase(Locale.ENGLISH).contains("statsminister")) {
91 color = "3271c8";
92 } else {
93 color = "0eab76";
94 }
95
96 return color;
97 }
98
99 @Override
100 public Object getFirstName(final ViewRiksdagenGovermentRoleMember t) {
101 return t.getFirstName();
102 }
103
104 @Override
105 public Object getLastName(final ViewRiksdagenGovermentRoleMember t) {
106 return t.getLastName();
107 }
108
109 };
110 }
111
112
113
114
115 private static final class RoleMapping implements Function<ViewRiksdagenGovermentRoleMember, String> {
116
117 @Override
118 public String apply(final ViewRiksdagenGovermentRoleMember t) {
119 return t.getRoleCode();
120 }
121 }
122
123 }