-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feature/fjern-soek-i-testnorge
- Loading branch information
Showing
73 changed files
with
1,317 additions
and
226 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
52 changes: 52 additions & 0 deletions
52
...dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/dto/IdentSearch.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
package no.nav.testnav.dollysearchservice.dto; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.util.ArrayList; | ||
import java.util.HashSet; | ||
import java.util.List; | ||
import java.util.Set; | ||
|
||
import static java.util.Objects.isNull; | ||
|
||
@Data | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor(force = true) | ||
public class IdentSearch { | ||
|
||
Integer page; | ||
Integer pageSize; | ||
Integer terminateAfter; | ||
List<String> tags; | ||
String ident; | ||
List<String> navn; | ||
Set<String> identer; | ||
|
||
public Set<String> getIdenter() { | ||
|
||
if (isNull(identer)) { | ||
identer = new HashSet<>(); | ||
} | ||
return identer; | ||
} | ||
|
||
public List<String> getTags() { | ||
|
||
if (isNull(tags)) { | ||
tags = new ArrayList<>(); | ||
} | ||
return tags; | ||
} | ||
|
||
public List<String> getNavn() { | ||
|
||
if (isNull(navn)) { | ||
navn = new ArrayList<>(); | ||
} | ||
return navn; | ||
} | ||
} |
258 changes: 258 additions & 0 deletions
258
apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/dto/Person.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,258 @@ | ||
package no.nav.testnav.dollysearchservice.dto; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
import no.nav.testnav.libs.data.pdlforvalter.v1.FolkeregisterPersonstatusDTO; | ||
import no.nav.testnav.libs.data.pdlforvalter.v1.ForelderBarnRelasjonDTO; | ||
import no.nav.testnav.libs.data.pdlforvalter.v1.KjoennDTO; | ||
import no.nav.testnav.libs.data.pdlforvalter.v1.SivilstandDTO; | ||
|
||
import java.time.LocalDate; | ||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
import static java.util.Objects.isNull; | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class Person { | ||
|
||
private HentIdenter hentIdenter; | ||
private HentPerson hentPerson; | ||
private List<String> tags; | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class HentIdenter { | ||
private List<Identer> identer; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Identer { | ||
private String gruppe; | ||
private String ident; | ||
private Boolean historisk; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class HentPerson { | ||
private List<Navn> navn; | ||
private List<Foedselsdato> foedselsdato; | ||
private List<Kjoenn> kjoenn; | ||
private List<Sivilstand> sivilstand; | ||
private List<Statsborgerskap> statsborgerskap; | ||
private List<Folkeregisterpersonstatus> folkeregisterpersonstatus; | ||
private List<Doedsfall> doedsfall; | ||
private List<InnflyttingTilNorge> innflyttingTilNorge; | ||
private List<UtflyttingFraNorge> utflyttingFraNorge; | ||
private List<ForelderBarnRelasjon> forelderBarnRelasjon; | ||
|
||
public List<ForelderBarnRelasjon> getForelderBarnRelasjon() { | ||
|
||
if (isNull(forelderBarnRelasjon)) { | ||
forelderBarnRelasjon = new ArrayList<>(); | ||
} | ||
return forelderBarnRelasjon; | ||
} | ||
|
||
public List<UtflyttingFraNorge> getUtflyttingFraNorge() { | ||
|
||
if (isNull(utflyttingFraNorge)) { | ||
utflyttingFraNorge = new ArrayList<>(); | ||
} | ||
return utflyttingFraNorge; | ||
} | ||
|
||
public List<InnflyttingTilNorge> getInnflyttingTilNorge() { | ||
|
||
if (isNull(innflyttingTilNorge)) { | ||
innflyttingTilNorge = new ArrayList<>(); | ||
} | ||
return innflyttingTilNorge; | ||
} | ||
|
||
public List<Doedsfall> getDoedsfall() { | ||
|
||
if (isNull(doedsfall)) { | ||
doedsfall = new ArrayList<>(); | ||
} | ||
return doedsfall; | ||
} | ||
|
||
public List<Folkeregisterpersonstatus> getFolkeregisterpersonstatus() { | ||
|
||
if (isNull(folkeregisterpersonstatus)) { | ||
folkeregisterpersonstatus = new ArrayList<>(); | ||
} | ||
return folkeregisterpersonstatus; | ||
} | ||
|
||
public List<Statsborgerskap> getStatsborgerskap() { | ||
|
||
if (isNull(statsborgerskap)) { | ||
statsborgerskap = new ArrayList<>(); | ||
} | ||
return statsborgerskap; | ||
} | ||
|
||
public List<Sivilstand> getSivilstand() { | ||
|
||
if (isNull(sivilstand)) { | ||
sivilstand = new ArrayList<>(); | ||
} | ||
return sivilstand; | ||
} | ||
|
||
public List<Kjoenn> getKjoenn() { | ||
|
||
if (isNull(kjoenn)) { | ||
kjoenn = new ArrayList<>(); | ||
} | ||
return kjoenn; | ||
} | ||
|
||
public List<Foedselsdato> getFoedselsdato() { | ||
|
||
if (isNull(foedselsdato)) { | ||
foedselsdato = new ArrayList<>(); | ||
} | ||
return foedselsdato; | ||
} | ||
|
||
public List<Navn> getNavn() { | ||
|
||
if (isNull(navn)) { | ||
navn = new ArrayList<>(); | ||
} | ||
return navn; | ||
} | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Navn { | ||
|
||
private String fornavn; | ||
private String mellomnavn; | ||
private String etternavn; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Foedselsdato { | ||
|
||
private LocalDate foedselsdato; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Kjoenn { | ||
|
||
private KjoennDTO.Kjoenn kjoenn; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Sivilstand { | ||
|
||
private SivilstandDTO.Sivilstand type; | ||
private String relatertVedSivilstand; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Statsborgerskap { | ||
|
||
private String land; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Folkeregisterpersonstatus { | ||
|
||
private FolkeregisterPersonstatusDTO.FolkeregisterPersonstatus status; | ||
private Folkeregistermetadata folkeregistermetadata; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Folkeregistermetadata { | ||
|
||
private LocalDate gyldighetstidspunkt; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class Doedsfall { | ||
|
||
private LocalDate doedsdato; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public static class InnflyttingTilNorge { | ||
|
||
private String fraflyttingsland; | ||
private String fraflyttingsstedIUtlandet; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public static class UtflyttingFraNorge { | ||
|
||
private String tilflyttingsland; | ||
private String tilflyttingsstedIUtlandet; | ||
private LocalDate utflyttingsdato; | ||
} | ||
|
||
@Data | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public static class ForelderBarnRelasjon { | ||
|
||
private String relatertPersonsIdent; | ||
private ForelderBarnRelasjonDTO.Rolle relatertPersonsRolle; | ||
private ForelderBarnRelasjonDTO.Rolle minRolleForPerson; | ||
|
||
public boolean isBarn() { | ||
return relatertPersonsRolle == ForelderBarnRelasjonDTO.Rolle.BARN; | ||
} | ||
|
||
public boolean isForelder() { | ||
return minRolleForPerson == ForelderBarnRelasjonDTO.Rolle.BARN; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
...vice/src/main/java/no/nav/testnav/dollysearchservice/mapper/IdentdataMappingStrategy.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
package no.nav.testnav.dollysearchservice.mapper; | ||
|
||
import com.fasterxml.jackson.databind.JsonNode; | ||
import com.fasterxml.jackson.databind.ObjectMapper; | ||
import lombok.AllArgsConstructor; | ||
import ma.glasnost.orika.CustomMapper; | ||
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.IdentdataDTO; | ||
import org.springframework.stereotype.Component; | ||
|
||
@Component | ||
@AllArgsConstructor | ||
public class IdentdataMappingStrategy implements MappingStrategy { | ||
|
||
private final ObjectMapper objectMapper; | ||
@Override | ||
public void register(MapperFactory factory) { | ||
|
||
factory.classMap(JsonNode.class, IdentdataDTO.class) | ||
.customize(new CustomMapper<>() { | ||
@Override | ||
public void mapAtoB(JsonNode response, IdentdataDTO identdataDTO, MappingContext context) { | ||
|
||
var person = objectMapper.convertValue(response, Person.class); | ||
identdataDTO.setIdent(person.getHentIdenter().getIdenter().stream() | ||
.filter(identer -> "FOLKEREGISTERIDENT".equals(identer.getGruppe())) | ||
.map(Person.Identer::getIdent) | ||
.findFirst().orElse(null)); | ||
|
||
identdataDTO.setNavn(mapperFacade.map(person.getHentPerson().getNavn().stream() | ||
.findFirst() | ||
.orElse(new Person.Navn()), IdentdataDTO.NavnDTO.class)); | ||
} | ||
}) | ||
.register(); | ||
} | ||
} |
Oops, something went wrong.