Skip to content

Commit fee90ab

Browse files
committed
Refktorert Kommuner2024
The logic for filtering "kommune" codes based on the year 2024 has been shifted to the KodeverkConsumer class from the Kodeverk controller class. A utility function filterKommuner2024 has also been updated to work with KodeverkBetydningerResponse type instead of KodeverkDTO and KodeverkAdjustedDTO. This change improves the structure and organization of the code.
1 parent 95f69fa commit fee90ab

File tree

3 files changed

+17
-37
lines changed

3 files changed

+17
-37
lines changed

apps/kodeverk-service/src/main/java/no/nav/testnav/kodeverkservice/consumer/KodeverkConsumer.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@
33
import no.nav.testnav.kodeverkservice.config.Consumers;
44
import no.nav.testnav.kodeverkservice.consumer.command.KodeverkGetCommand;
55
import no.nav.testnav.kodeverkservice.dto.KodeverkBetydningerResponse;
6+
import no.nav.testnav.kodeverkservice.utility.KommunerUtility;
67
import no.nav.testnav.libs.reactivesecurity.exchange.TokenExchange;
78
import no.nav.testnav.libs.securitycore.domain.ServerProperties;
89
import org.springframework.stereotype.Service;
910
import org.springframework.web.reactive.function.client.ExchangeStrategies;
1011
import org.springframework.web.reactive.function.client.WebClient;
1112
import reactor.core.publisher.Mono;
1213

14+
import static no.nav.testnav.kodeverkservice.utility.KommunerUtility.KOMMUNER;
15+
import static no.nav.testnav.kodeverkservice.utility.KommunerUtility.KOMMUNER2024;
16+
1317
@Service
1418
public class KodeverkConsumer {
1519

@@ -39,6 +43,10 @@ public KodeverkConsumer(
3943
public Mono<KodeverkBetydningerResponse> getKodeverk(String kodeverk) {
4044

4145
return tokenService.exchange(serverProperties)
42-
.flatMap(token -> new KodeverkGetCommand(webClient, kodeverk, token.getTokenValue()).call());
46+
.flatMap(token -> new KodeverkGetCommand(webClient,
47+
!KOMMUNER2024.equals(kodeverk) ? kodeverk : KOMMUNER,
48+
token.getTokenValue()).call())
49+
.map(response -> !KOMMUNER2024.equals(kodeverk) ? response :
50+
KommunerUtility.filterKommuner2024(response));
4351
}
4452
}

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

+2-15
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
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;
76
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkAdjustedDTO;
87
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkDTO;
98
import org.springframework.cache.annotation.Cacheable;
@@ -17,8 +16,6 @@
1716

1817
import static no.nav.testnav.kodeverkservice.config.CacheConfig.CACHE_KODEVERK;
1918
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;
2219

2320
@RestController
2421
@RequestMapping("/api/v1/kodeverk")
@@ -33,24 +30,14 @@ public class KodeverkController {
3330
@Operation(description = "Hent kodeverk, returnerer map")
3431
public Mono<KodeverkDTO> fetchKodeverk(@RequestParam String kodeverk) {
3532

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

4436
@Cacheable(value = CACHE_KODEVERK_2, unless = "#result.koder?.size() == 0")
4537
@GetMapping("/{kodeverkNavn}")
4638
@Operation(description = "Hent kodeverk etter kodeverkNavn")
4739
public Mono<KodeverkAdjustedDTO> getKodeverkByName(@PathVariable("kodeverkNavn") String kodeverkNavn) {
4840

49-
return !KOMMUNER2024.equals(kodeverkNavn) ?
50-
51-
kodeverkService.getKodeverkByName(kodeverkNavn) :
52-
53-
kodeverkService.getKodeverkByName(KOMMUNER)
54-
.map(KommunerUtility::filterKommuner2024);
41+
return kodeverkService.getKodeverkByName(kodeverkNavn);
5542
}
5643
}

apps/kodeverk-service/src/main/java/no/nav/testnav/kodeverkservice/utility/KommunerUtility.java

+6-21
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22

33
import lombok.Getter;
44
import lombok.experimental.UtilityClass;
5-
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkAdjustedDTO;
6-
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkDTO;
5+
import no.nav.testnav.kodeverkservice.dto.KodeverkBetydningerResponse;
76

87
import java.util.HashSet;
98
import java.util.Map;
@@ -126,26 +125,12 @@ public class KommunerUtility {
126125
gamleKommunenummer.add("3019"); // Vestby
127126
gamleKommunenummer.add("3825"); // Vinje
128127
}
128+
public static KodeverkBetydningerResponse filterKommuner2024(KodeverkBetydningerResponse response) {
129129

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)))
130+
return KodeverkBetydningerResponse.builder()
131+
.betydninger(response.getBetydninger().entrySet().stream()
132+
.filter(entry -> !gamleKommunenummer.contains(entry.getKey()))
133+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)))
149134
.build();
150135
}
151136
}

0 commit comments

Comments
 (0)