diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/dto/SearchInternalResponse.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/dto/SearchInternalResponse.java index 133a754613..2bb1b3f805 100644 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/dto/SearchInternalResponse.java +++ b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/dto/SearchInternalResponse.java @@ -6,8 +6,11 @@ import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.List; +import static java.util.Objects.isNull; + @Data @Builder @NoArgsConstructor @@ -21,4 +24,12 @@ public class SearchInternalResponse { private Integer seed; private List personer; private String error; + + public List getPersoner() { + + if (isNull(personer)) { + return new ArrayList<>(); + } + return personer; + } } \ No newline at end of file diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyRequestMappingStrategy.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyRequestMappingStrategy.java index 247873b740..6cedaad901 100644 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyRequestMappingStrategy.java +++ b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyRequestMappingStrategy.java @@ -4,7 +4,7 @@ import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.MappingContext; import no.nav.testnav.libs.data.dollysearchservice.v1.PersonRequest; -import no.nav.testnav.libs.data.dollysearchservice.v1.PersonSearch; +import no.nav.testnav.libs.data.dollysearchservice.v1.legacy.PersonSearch; import no.nav.testnav.libs.data.pdlforvalter.v1.FolkeregisterPersonstatusDTO.FolkeregisterPersonstatus; import no.nav.testnav.libs.data.pdlforvalter.v1.KjoennDTO; import org.springframework.stereotype.Component; @@ -13,7 +13,6 @@ import static java.util.Objects.nonNull; import static org.apache.commons.lang3.BooleanUtils.isTrue; -import static org.apache.commons.lang3.StringUtils.isNotBlank; @Component public class LegacyRequestMappingStrategy implements MappingStrategy { @@ -27,12 +26,10 @@ public void register(MapperFactory factory) { public void mapAtoB(PersonSearch personSearch, PersonRequest personRequest, MappingContext context) { Optional.ofNullable(personSearch.getAlder()) - .ifPresent(alder -> { - personRequest.setAlderFom(nonNull(alder.getFra()) ? - alder.getFra().intValue() : null); - personRequest.setAlderTom(nonNull(alder.getTil()) ? - alder.getTil().intValue() : null); - }); + .ifPresent(alder -> { + personRequest.setAlderFom(nonNull(alder.getFra()) ? alder.getFra() : null); + personRequest.setAlderTom(nonNull(alder.getTil()) ? alder.getTil() : null); + }); Optional.ofNullable(personSearch.getPersonstatus()) .ifPresent(personstatus -> @@ -46,13 +43,17 @@ public void mapAtoB(PersonSearch personSearch, PersonRequest personRequest, Mapp Optional.ofNullable(personSearch.getAdresser()) .ifPresent(adresser -> - personRequest.setAdresse(PersonRequest.AdresseRequest.builder() - .harUtenlandsadresse(isNotBlank(adresser.getHarUtenlandskAdresse())) - .harKontaktadresse(isNotBlank(adresser.getHarKontaktadresse())) - .harOppholdsadresse(isNotBlank(adresser.getHarOppholdsadresse())) - .build())); + personRequest.setAdresse(PersonRequest.AdresseRequest.builder() + .harUtenlandsadresse(isTrue(adresser.getHarUtenlandskAdresse())) + .harKontaktadresse(isTrue(adresser.getHarKontaktadresse())) + .harOppholdsadresse(isTrue(adresser.getHarOppholdsadresse())) + .build())); personRequest.setErLevende(isTrue(personSearch.getKunLevende())); + + Optional.ofNullable(personSearch.getRelasjoner()) + .ifPresent(relasjoner -> + personRequest.setHarBarn(isTrue(relasjoner.getHarBarn()))); } }).register(); } diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyResponseMappingStrategy.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyResponseMappingStrategy.java index e9c9d68c2e..b1e2b82933 100644 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyResponseMappingStrategy.java +++ b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/mapper/LegacyResponseMappingStrategy.java @@ -7,7 +7,7 @@ import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.MappingContext; import no.nav.testnav.dollysearchservice.dto.Person; -import no.nav.testnav.libs.data.dollysearchservice.v1.PersonDTO; +import no.nav.testnav.libs.data.dollysearchservice.v1.legacy.PersonDTO; import org.springframework.stereotype.Component; import static java.util.Objects.nonNull; diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/provider/LegacyController.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/provider/LegacyController.java index 59b746872f..d1032bff26 100644 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/provider/LegacyController.java +++ b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/provider/LegacyController.java @@ -3,8 +3,8 @@ import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import no.nav.testnav.dollysearchservice.service.LegacyService; -import no.nav.testnav.libs.data.dollysearchservice.v1.PersonDTO; -import no.nav.testnav.libs.data.dollysearchservice.v1.PersonSearch; +import no.nav.testnav.libs.data.dollysearchservice.v1.legacy.PersonDTO; +import no.nav.testnav.libs.data.dollysearchservice.v1.legacy.PersonSearch; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/service/LegacyService.java b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/service/LegacyService.java index 0f8a9ce393..72525fa6a4 100644 --- a/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/service/LegacyService.java +++ b/apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/service/LegacyService.java @@ -5,9 +5,9 @@ import no.nav.testnav.dollysearchservice.dto.SearchInternalResponse; import no.nav.testnav.dollysearchservice.dto.SearchRequest; import no.nav.testnav.dollysearchservice.utils.OpenSearchQueryBuilder; -import no.nav.testnav.libs.data.dollysearchservice.v1.PersonDTO; +import no.nav.testnav.libs.data.dollysearchservice.v1.legacy.PersonDTO; import no.nav.testnav.libs.data.dollysearchservice.v1.PersonRequest; -import no.nav.testnav.libs.data.dollysearchservice.v1.PersonSearch; +import no.nav.testnav.libs.data.dollysearchservice.v1.legacy.PersonSearch; import org.springframework.stereotype.Service; import reactor.core.publisher.Flux; @@ -26,6 +26,9 @@ public class LegacyService { public Flux searchPersoner(PersonSearch personSearch) { var personRequest = SearchRequest.builder() + .seed(personSearch.getRandomSeed()) + .side(personSearch.getPage()) + .antall(personSearch.getPageSize()) .personRequest(mapperFacade.map(personSearch, PersonRequest.class)) .build(); diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonSearch.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonSearch.java deleted file mode 100644 index dda8b863c8..0000000000 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonSearch.java +++ /dev/null @@ -1,166 +0,0 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.time.LocalDate; -import java.util.List; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class PersonSearch { - - private Integer page; - private Integer pageSize; - private Integer terminateAfter; - private String tag; - private List tags; - private List excludeTags; - private String kjoenn; - private String randomSeed; - private Boolean kunLevende; - private List identer; - private FoedselsdatoSearch foedselsdato; - private SivilstandSearch sivilstand; - private NasjonalitetSearch nasjonalitet; - private AlderSearch alder; - private IdentifikasjonSearch identifikasjon; - private RelasjonSearch relasjoner; - private PersonstatusSearch personstatus; - private AdresserSearch adresser; - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class AlderSearch { - - private Short fra; - private Short til; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class FoedselsdatoSearch { - - private LocalDate fom; - private LocalDate tom; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class IdentifikasjonSearch { - - private String identtype; - private String adressebeskyttelse; - private Boolean falskIdentitet; - private Boolean utenlandskIdentitet; - private Boolean identHistorikk; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class NasjonalitetSearch { - - private String statsborgerskap; - private InnflyttingSearch innflytting; - private UtflyttingSearch utflytting; - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class InnflyttingSearch { - - private String fraflyttingsland; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class UtflyttingSearch { - - private String tilflyttingsland; - } - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class PersonstatusSearch { - - private String status; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class AdresserSearch { - - private BostedsadresseSearch bostedsadresse; - private OppholdsadresseSearch oppholdsadresse; - private String harUtenlandskAdresse; - private String harKontaktadresse; - private String harOppholdsadresse; - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class BostedsadresseSearch { - - private String borINorge; - private String kommunenummer; - private String bydelsnummer; - private String postnummer; - private String historiskKommunenummer; - private String historiskBydelsnummer; - private String historiskPostnummer; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class OppholdsadresseSearch { - - private String oppholdAnnetSted; - } - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class RelasjonSearch { - - private String harBarn; - private String harDoedfoedtBarn; - private List forelderBarnRelasjoner; - private String foreldreansvar; - } - - @Data - @Builder - @AllArgsConstructor - @NoArgsConstructor - public static class SivilstandSearch { - - private String type; - private String tidligereType; - private Boolean manglerSivilstand; - } -} \ No newline at end of file diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonDTO.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/legacy/PersonDTO.java similarity index 97% rename from libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonDTO.java rename to libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/legacy/PersonDTO.java index 3e57691282..a0abaebf33 100644 --- a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/PersonDTO.java +++ b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/legacy/PersonDTO.java @@ -1,4 +1,4 @@ -package no.nav.testnav.libs.data.dollysearchservice.v1; +package no.nav.testnav.libs.data.dollysearchservice.v1.legacy; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/legacy/PersonSearch.java b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/legacy/PersonSearch.java new file mode 100644 index 0000000000..c82c04ba61 --- /dev/null +++ b/libs/data-transfer-search-objects/src/main/java/no/nav/testnav/libs/data/dollysearchservice/v1/legacy/PersonSearch.java @@ -0,0 +1,72 @@ +package no.nav.testnav.libs.data.dollysearchservice.v1.legacy; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PersonSearch { + + private Integer page; + private Integer pageSize; + private String kjoenn; + private Integer randomSeed; + private Boolean kunLevende; + private NasjonalitetSearch nasjonalitet; + private AlderSearch alder; + private RelasjonSearch relasjoner; + private PersonstatusSearch personstatus; + private AdresserSearch adresser; + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class AlderSearch { + + private Integer fra; + private Integer til; + } + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class NasjonalitetSearch { + + private String statsborgerskap; + } + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class PersonstatusSearch { + + private String status; + } + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class AdresserSearch { + + private Boolean harUtenlandskAdresse; + private Boolean harKontaktadresse; + private Boolean harOppholdsadresse; + } + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class RelasjonSearch { + + private Boolean harBarn; + } +} \ No newline at end of file