Skip to content

Commit 0f42460

Browse files
committed
Implement support for updated kommune codes in KodeverkController #deploy-kodeverk-service
This update introduces conditional checks to KodeverkController's methods, allowing to retrieve updated kommune information for year 2024. It adds KommunerUtility, a utility class for filtering updated kommunes. If the requested kommune codes match "Kommuner2024", the controller calls the respective filtering method from KommunerUtility.
1 parent 2a4b97c commit 0f42460

File tree

2 files changed

+166
-2
lines changed

2 files changed

+166
-2
lines changed

apps/kodeverk-service/src/main/java/no/nav/testnav/kodeverkservice/provider/KodeverkController.java

+15-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import io.swagger.v3.oas.annotations.Operation;
44
import lombok.RequiredArgsConstructor;
55
import no.nav.testnav.kodeverkservice.service.KodeverkService;
6+
import no.nav.testnav.kodeverkservice.utility.KommunerUtility;
67
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkAdjustedDTO;
78
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkDTO;
89
import org.springframework.cache.annotation.Cacheable;
@@ -16,6 +17,8 @@
1617

1718
import static no.nav.testnav.kodeverkservice.config.CacheConfig.CACHE_KODEVERK;
1819
import static no.nav.testnav.kodeverkservice.config.CacheConfig.CACHE_KODEVERK_2;
20+
import static no.nav.testnav.kodeverkservice.utility.KommunerUtility.KOMMUNER;
21+
import static no.nav.testnav.kodeverkservice.utility.KommunerUtility.KOMMUNER2024;
1922

2023
@RestController
2124
@RequestMapping("/api/v1/kodeverk")
@@ -30,14 +33,24 @@ public class KodeverkController {
3033
@Operation(description = "Hent kodeverk, returnerer map")
3134
public Mono<KodeverkDTO> fetchKodeverk(@RequestParam String kodeverk) {
3235

33-
return kodeverkService.getKodeverkMap(kodeverk);
36+
return !KOMMUNER2024.equals(kodeverk) ?
37+
38+
kodeverkService.getKodeverkMap(kodeverk) :
39+
40+
kodeverkService.getKodeverkMap(KOMMUNER)
41+
.map(KommunerUtility::filterKommuner2024);
3442
}
3543

3644
@Cacheable(value = CACHE_KODEVERK_2, unless = "#result.koder?.size() == 0")
3745
@GetMapping("/{kodeverkNavn}")
3846
@Operation(description = "Hent kodeverk etter kodeverkNavn")
3947
public Mono<KodeverkAdjustedDTO> getKodeverkByName(@PathVariable("kodeverkNavn") String kodeverkNavn) {
4048

41-
return kodeverkService.getKodeverkByName(kodeverkNavn);
49+
return !KOMMUNER2024.equals(kodeverkNavn) ?
50+
51+
kodeverkService.getKodeverkByName(kodeverkNavn) :
52+
53+
kodeverkService.getKodeverkByName(KOMMUNER)
54+
.map(KommunerUtility::filterKommuner2024);
4255
}
4356
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
package no.nav.testnav.kodeverkservice.utility;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.UtilityClass;
5+
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkAdjustedDTO;
6+
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkDTO;
7+
8+
import java.util.HashSet;
9+
import java.util.Map;
10+
import java.util.Set;
11+
import java.util.stream.Collectors;
12+
13+
@UtilityClass
14+
public class KommunerUtility {
15+
16+
public static final String KOMMUNER = "Kommuner";
17+
public static final String KOMMUNER2024 = "Kommuner2024";
18+
19+
@Getter
20+
private static final Set<String> gamleKommunenummer = new HashSet<>();
21+
22+
static {
23+
gamleKommunenummer.add("3043"); // Ål
24+
gamleKommunenummer.add("1507"); // Ålesund
25+
gamleKommunenummer.add("5403"); // Alta
26+
gamleKommunenummer.add("3012"); // Aremark
27+
gamleKommunenummer.add("3021"); // Ås
28+
gamleKommunenummer.add("3025"); // Asker
29+
gamleKommunenummer.add("3026"); // Aurskog-Høland
30+
gamleKommunenummer.add("3024"); // Bærum
31+
gamleKommunenummer.add("5422"); // Balsfjord
32+
gamleKommunenummer.add("3813"); // Bamble
33+
gamleKommunenummer.add("5416"); // Bardu
34+
gamleKommunenummer.add("5443"); // Båtsfjord
35+
gamleKommunenummer.add("5440"); // Berlevåg
36+
gamleKommunenummer.add("3005"); // Drammen
37+
gamleKommunenummer.add("3815"); // Drangedal
38+
gamleKommunenummer.add("5420"); // Dyrøy
39+
gamleKommunenummer.add("3035"); // Eidsvoll
40+
gamleKommunenummer.add("3028"); // Enebakk
41+
gamleKommunenummer.add("3811"); // Færder
42+
gamleKommunenummer.add("3039"); // Flå
43+
gamleKommunenummer.add("3050"); // Flesberg
44+
gamleKommunenummer.add("3004"); // Fredrikstad
45+
gamleKommunenummer.add("3022"); // Frogn
46+
gamleKommunenummer.add("3823"); // Fyresdal
47+
gamleKommunenummer.add("5439"); // Gamvik
48+
gamleKommunenummer.add("3032"); // Gjerdrum
49+
gamleKommunenummer.add("3041"); // Gol
50+
gamleKommunenummer.add("5414"); // Gratangen
51+
gamleKommunenummer.add("3001"); // Halden
52+
gamleKommunenummer.add("5406"); // Hammerfest
53+
gamleKommunenummer.add("5402"); // Harstad
54+
gamleKommunenummer.add("5433"); // Hasvik
55+
gamleKommunenummer.add("3042"); // Hemsedal
56+
gamleKommunenummer.add("1515"); // Herøy
57+
gamleKommunenummer.add("3819"); // Hjartdal
58+
gamleKommunenummer.add("3044"); // Hol
59+
gamleKommunenummer.add("3038"); // Hole
60+
gamleKommunenummer.add("3802"); // Holmestrand
61+
gamleKommunenummer.add("3801"); // Horten
62+
gamleKommunenummer.add("3037"); // Hurdal
63+
gamleKommunenummer.add("3011"); // Hvaler
64+
gamleKommunenummer.add("5413"); // Ibestad
65+
gamleKommunenummer.add("3014"); // Indre Østfold
66+
gamleKommunenummer.add("3053"); // Jevnaker
67+
gamleKommunenummer.add("5423"); // Karlsøy
68+
gamleKommunenummer.add("3006"); // Kongsberg
69+
gamleKommunenummer.add("3814"); // Kragerø
70+
gamleKommunenummer.add("3046"); // Krødsherad
71+
gamleKommunenummer.add("5411"); // Kvæfjord
72+
gamleKommunenummer.add("5429"); // Kvænangen
73+
gamleKommunenummer.add("3821"); // Kviteseid
74+
gamleKommunenummer.add("3805"); // Larvik
75+
gamleKommunenummer.add("5438"); // Lebesby
76+
gamleKommunenummer.add("3049"); // Lier
77+
gamleKommunenummer.add("3030"); // Lillestrøm
78+
gamleKommunenummer.add("5432"); // Loppa
79+
gamleKommunenummer.add("3029"); // Lørenskog
80+
gamleKommunenummer.add("3054"); // Lunner
81+
gamleKommunenummer.add("5424"); // Lyngen
82+
gamleKommunenummer.add("5418"); // Målselv
83+
gamleKommunenummer.add("3013"); // Marker
84+
gamleKommunenummer.add("5434"); // Måsøy
85+
gamleKommunenummer.add("3817"); // Midt-Telemark
86+
gamleKommunenummer.add("3047"); // Modum
87+
gamleKommunenummer.add("3002"); // Moss
88+
gamleKommunenummer.add("3036"); // Nannestad
89+
gamleKommunenummer.add("3034"); // Nes
90+
gamleKommunenummer.add("3040"); // Nesbyen
91+
gamleKommunenummer.add("3023"); // Nesodden
92+
gamleKommunenummer.add("3822"); // Nissedal
93+
gamleKommunenummer.add("3031"); // Nittedal
94+
gamleKommunenummer.add("3816"); // Nome
95+
gamleKommunenummer.add("5435"); // Nordkapp
96+
gamleKommunenummer.add("3020"); // Nordre Follo
97+
gamleKommunenummer.add("3052"); // Nore og Uvdal
98+
gamleKommunenummer.add("3808"); // Notodden
99+
gamleKommunenummer.add("3048"); // Øvre Eiker
100+
gamleKommunenummer.add("3806"); // Porsgrunn
101+
gamleKommunenummer.add("3017"); // Råde
102+
gamleKommunenummer.add("3027"); // Rælingen
103+
gamleKommunenummer.add("3016"); // Rakkestad
104+
gamleKommunenummer.add("3007"); // Ringerike
105+
gamleKommunenummer.add("3051"); // Rollag
106+
gamleKommunenummer.add("5417"); // Salangen
107+
gamleKommunenummer.add("3804"); // Sandefjord
108+
gamleKommunenummer.add("3003"); // Sarpsborg
109+
gamleKommunenummer.add("3820"); // Seljord
110+
gamleKommunenummer.add("5421"); // Senja
111+
gamleKommunenummer.add("3045"); // Sigdal
112+
gamleKommunenummer.add("3812"); // Siljan
113+
gamleKommunenummer.add("3807"); // Skien
114+
gamleKommunenummer.add("3015"); // Skiptvet
115+
gamleKommunenummer.add("5427"); // Skjervøy
116+
gamleKommunenummer.add("5419"); // Sørreisa
117+
gamleKommunenummer.add("5444"); // Sør-Varanger
118+
gamleKommunenummer.add("3818"); // Tinn
119+
gamleKommunenummer.add("5412"); // Tjeldsund
120+
gamleKommunenummer.add("3824"); // Tokke
121+
gamleKommunenummer.add("3803"); // Tønsberg
122+
gamleKommunenummer.add("5401"); // Tromsø
123+
gamleKommunenummer.add("3033"); // Ullensaker
124+
gamleKommunenummer.add("5405"); // Vadsø
125+
gamleKommunenummer.add("5404"); // Vardø
126+
gamleKommunenummer.add("3019"); // Vestby
127+
gamleKommunenummer.add("3825"); // Vinje
128+
}
129+
130+
public static KodeverkAdjustedDTO filterKommuner2024(KodeverkAdjustedDTO response) {
131+
132+
return KodeverkAdjustedDTO.builder()
133+
.name(KOMMUNER2024)
134+
.koder(
135+
response.getKoder().stream()
136+
.filter(kode -> !gamleKommunenummer.contains(kode.getValue()))
137+
.toList())
138+
.build();
139+
}
140+
141+
public static KodeverkDTO filterKommuner2024(KodeverkDTO response) {
142+
143+
return KodeverkDTO.builder()
144+
.kodeverknavn(KOMMUNER2024)
145+
.kodeverk(
146+
response.getKodeverk().entrySet().stream()
147+
.filter(entry ->!gamleKommunenummer.contains(entry.getKey()))
148+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)))
149+
.build();
150+
}
151+
}

0 commit comments

Comments
 (0)