Skip to content

Commit c162116

Browse files
committed
Rename PdlDataConsumer to PdlProxyConsumer and update references; enhance search functionality #deploy-dolly-search-service #deploy-test-dolly-search-service
1 parent 4f21f41 commit c162116

File tree

4 files changed

+33
-63
lines changed

4 files changed

+33
-63
lines changed

apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/consumer/OpenSearchConsumer.java

-49
This file was deleted.

apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/consumer/PdlDataConsumer.java apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/consumer/PdlProxyConsumer.java

+20-3
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,35 @@
11
package no.nav.testnav.dollysearchservice.consumer;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import lombok.extern.slf4j.Slf4j;
45
import no.nav.testnav.dollysearchservice.config.Consumers;
6+
import no.nav.testnav.dollysearchservice.consumer.command.OpenSearchCommand;
57
import no.nav.testnav.dollysearchservice.consumer.command.TagsGetCommand;
68
import no.nav.testnav.dollysearchservice.consumer.command.TagsPostCommand;
9+
import no.nav.testnav.dollysearchservice.dto.SearchRequest;
10+
import no.nav.testnav.dollysearchservice.dto.SearchResponse;
711
import no.nav.testnav.dollysearchservice.dto.TagsOpprettingResponse;
812
import no.nav.testnav.libs.securitycore.domain.ServerProperties;
913
import no.nav.testnav.libs.servletsecurity.exchange.TokenExchange;
1014
import org.springframework.stereotype.Service;
1115
import org.springframework.web.reactive.function.client.WebClient;
16+
import reactor.core.publisher.Flux;
1217
import reactor.core.publisher.Mono;
1318

1419
import java.util.List;
1520
import java.util.Map;
1621

1722
import static no.nav.testnav.dollysearchservice.consumer.utils.JacksonExchangeStrategyUtil.getJacksonStrategy;
1823

24+
@Slf4j
1925
@Service
20-
public class PdlDataConsumer {
26+
public class PdlProxyConsumer {
2127

2228
private final WebClient webClient;
2329
private final TokenExchange tokenExchange;
2430
private final ServerProperties serverProperties;
2531

26-
public PdlDataConsumer(
32+
public PdlProxyConsumer(
2733
TokenExchange tokenExchange,
2834
Consumers consumers,
2935
ObjectMapper objectMapper,
@@ -37,6 +43,17 @@ public PdlDataConsumer(
3743
this.tokenExchange = tokenExchange;
3844
}
3945

46+
public Flux<SearchResponse> search(SearchRequest request) {
47+
return tokenExchange.exchange(serverProperties)
48+
.flatMapMany(token ->
49+
new OpenSearchCommand(webClient, request.getQuery().indices()[0],
50+
token.getTokenValue(), request.getQuery().source().toString()).call())
51+
.map(response -> {
52+
response.setRequest(request.getRequest());
53+
return response;
54+
});
55+
}
56+
4057
public Mono<Map<String, List<String>>> getTags(List<String> identer) {
4158

4259
return tokenExchange.exchange(serverProperties)
@@ -48,4 +65,4 @@ public Mono<TagsOpprettingResponse> setTags(List<String> identer) {
4865
return tokenExchange.exchange(serverProperties)
4966
.flatMap(token -> new TagsPostCommand(webClient, identer, token.getTokenValue()).call());
5067
}
51-
}
68+
}

apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/service/OpenSearchQueryService.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.fasterxml.jackson.databind.ObjectMapper;
55
import lombok.RequiredArgsConstructor;
66
import lombok.extern.slf4j.Slf4j;
7-
import no.nav.testnav.dollysearchservice.consumer.OpenSearchConsumer;
7+
import no.nav.testnav.dollysearchservice.consumer.PdlProxyConsumer;
88
import no.nav.testnav.dollysearchservice.dto.SearchInternalResponse;
99
import no.nav.testnav.dollysearchservice.dto.SearchRequest;
1010
import org.opensearch.common.unit.TimeValue;
@@ -24,7 +24,7 @@
2424
@RequiredArgsConstructor
2525
public class OpenSearchQueryService {
2626

27-
private final OpenSearchConsumer openSearchConsumer;
27+
private final PdlProxyConsumer pdlProxyConsumer;
2828
private final ObjectMapper objectMapper;
2929

3030
@Value("${open.search.pdl-index}")
@@ -42,7 +42,7 @@ public Mono<SearchInternalResponse> execQuery(SearchRequest request, QueryBuilde
4242
request.setAntall(10);
4343
}
4444

45-
var personSoekResponse = Mono.from(openSearchConsumer.search(
45+
var personSoekResponse = Mono.from(pdlProxyConsumer.search(
4646
no.nav.testnav.dollysearchservice.dto.SearchRequest.builder()
4747
.query(
4848
new org.opensearch.action.search.SearchRequest()

apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/service/TagsService.java

+10-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.google.common.collect.Lists;
44
import lombok.RequiredArgsConstructor;
55
import lombok.extern.slf4j.Slf4j;
6-
import no.nav.testnav.dollysearchservice.consumer.PdlDataConsumer;
6+
import no.nav.testnav.dollysearchservice.consumer.PdlProxyConsumer;
77
import no.nav.testnav.dollysearchservice.dto.TagsOpprettingResponse;
88
import org.springframework.stereotype.Service;
99
import reactor.core.publisher.Flux;
@@ -21,26 +21,28 @@ public class TagsService {
2121
private static final int BOLK_SIZE = 500;
2222

2323
private final BestillingQueryService bestillingQueryService;
24-
private final PdlDataConsumer pdlDataConsumer;
24+
private final PdlProxyConsumer pdlProxyConsumer;
2525

2626
public Mono<String> setDollyTagAlleTestnorgeIdenter() {
2727

2828
var identer = bestillingQueryService.execTestnorgeIdenterQuery();
29+
log.info("Hentet alle testnorge identer: {}", identer.size());
2930
var bolker = Lists.partition(identer.stream().toList(), BOLK_SIZE);
31+
log.info("Antall bolker: {}", bolker.size());
3032

3133
return Flux.fromIterable(bolker)
32-
.flatMap(pdlDataConsumer::getTags)
34+
.flatMap(pdlProxyConsumer::getTags)
3335
.map(TagsService::filterTags)
3436
.reduce(new ArrayList<String>(), (l1, l2) -> {
3537
l1.addAll(l2);
3638
return l1;
3739
})
3840
.doOnNext(tags -> log.info("Identer som mangler Dolly-tags: {}", String.join(", ", tags)))
39-
.filter(tags -> !tags.isEmpty())
40-
.flatMap(pdlDataConsumer::setTags)
41-
.filter(response -> response.getStatus().is2xxSuccessful())
42-
.map(TagsOpprettingResponse::getIdenter)
43-
.map(resultat -> "Lagt til DOLLY-tag %s".formatted(String.join(", ", resultat)))
41+
// .filter(tags -> !tags.isEmpty())
42+
// .flatMap(pdlProxyConsumer::setTags)
43+
// .filter(response -> response.getStatus().is2xxSuccessful())
44+
// .map(TagsOpprettingResponse::getIdenter)
45+
.map(resultat -> "Følgende identer mangler DOLLY-tag: %s".formatted(String.join(", ", resultat)))
4446
.switchIfEmpty(Mono.just("Fant ingen personer som mangler Dolly-tag"));
4547
}
4648

0 commit comments

Comments
 (0)