Skip to content

Commit c03f5b4

Browse files
Feature/psb felles personopplysninger standardisering (#138)
* startet å tilpasse bosteder og ulandsopphold * fikset test i psb, og langt til at perioder alltid finnes
1 parent cb280a7 commit c03f5b4

File tree

4 files changed

+46
-16
lines changed

4 files changed

+46
-16
lines changed

soknad/src/main/java/no/nav/k9/søknad/felles/personopplysninger/Bosteder.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ public class Bosteder {
2828
@JsonProperty(value = "perioder")
2929
@Valid
3030
@JsonInclude(value = Include.ALWAYS)
31-
private Map<Periode, BostedPeriodeInfo> perioder;
31+
private Map<Periode, BostedPeriodeInfo> perioder = new TreeMap<>();
3232

3333
@JsonProperty(value = "perioderSomSkalSlettes")
3434
@Valid
3535
@JsonInclude(value = Include.ALWAYS)
36-
private Map<Periode, BostedPeriodeInfo> perioderSomSkalSlettes;
36+
private Map<Periode, BostedPeriodeInfo> perioderSomSkalSlettes = new TreeMap<>();
3737

3838
@JsonCreator
3939
public Bosteder(
@@ -49,7 +49,7 @@ public Map<Periode, BostedPeriodeInfo> getPerioder() {
4949
return unmodifiableMap(perioder);
5050
}
5151

52-
public Bosteder medPerioder() {
52+
public Bosteder medPerioder(Map<Periode, BostedPeriodeInfo> perioder) {
5353
this.perioder = (perioder == null ) ? new TreeMap<>() : new TreeMap<>(perioder);
5454
return this;
5555
}
@@ -99,17 +99,26 @@ public Bosteder build() {
9999
public static class BostedPeriodeInfo {
100100

101101
@JsonProperty(value = "land")
102-
private final Landkode land;
102+
private Landkode land;
103103

104104
@JsonCreator
105105
public BostedPeriodeInfo(@JsonProperty(value = "land") Landkode land) {
106106
this.land = land;
107107
}
108108

109+
public BostedPeriodeInfo() {
110+
111+
}
112+
109113
public Landkode getLand() {
110114
return land;
111115
}
112116

117+
public BostedPeriodeInfo medLand(Landkode land) {
118+
this.land = land;
119+
return this;
120+
}
121+
113122
/**@deprecated brukt ctor.*/
114123
@Deprecated(forRemoval = true)
115124
public static Builder builder() {

soknad/src/main/java/no/nav/k9/søknad/felles/personopplysninger/Utenlandsopphold.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ public class Utenlandsopphold {
2222

2323
@JsonInclude(value = Include.ALWAYS)
2424
@JsonProperty(value = "perioder")
25-
private Map<Periode, UtenlandsoppholdPeriodeInfo> perioder;
25+
private Map<Periode, UtenlandsoppholdPeriodeInfo> perioder = new TreeMap<>();
2626

2727
@JsonInclude(value = Include.ALWAYS)
2828
@JsonProperty(value = "perioderSomSkalSlettes")
29-
private Map<Periode, UtenlandsoppholdPeriodeInfo> perioderSomSkalSlettes;
29+
private Map<Periode, UtenlandsoppholdPeriodeInfo> perioderSomSkalSlettes = new TreeMap<>();
3030

3131
@JsonCreator
3232
public Utenlandsopphold(
@@ -92,10 +92,10 @@ public Utenlandsopphold build() {
9292
public static class UtenlandsoppholdPeriodeInfo {
9393

9494
@JsonProperty(value = "land", required = true)
95-
private final Landkode land;
95+
private Landkode land;
9696

9797
@JsonProperty(value = "årsak")
98-
private final UtenlandsoppholdÅrsak årsak;
98+
private UtenlandsoppholdÅrsak årsak;
9999

100100
@JsonCreator
101101
private UtenlandsoppholdPeriodeInfo(
@@ -105,13 +105,27 @@ private UtenlandsoppholdPeriodeInfo(
105105
this.årsak = årsak;
106106
}
107107

108+
public UtenlandsoppholdPeriodeInfo() {
109+
110+
}
111+
108112
public Landkode getLand() {
109113
return land;
110114
}
115+
116+
public UtenlandsoppholdPeriodeInfo medLand(Landkode land) {
117+
this.land = land;
118+
return this;
119+
}
111120

112121
public UtenlandsoppholdÅrsak getÅrsak() {
113122
return årsak;
114123
}
124+
125+
public UtenlandsoppholdPeriodeInfo medÅrsak(UtenlandsoppholdÅrsak årsak) {
126+
this.årsak = årsak;
127+
return this;
128+
}
115129

116130
public static Builder builder() {
117131
return new Builder();

soknad/src/main/java/no/nav/k9/søknad/ytelse/psb/v1/PleiepengerSyktBarn.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ public class PleiepengerSyktBarn implements Ytelse {
6262
private InfoFraPunsj infoFraPunsj;
6363

6464
@Valid
65-
@JsonProperty(value = "bosteder")
66-
private Bosteder bosteder;
65+
@JsonProperty(value = "bosteder", required = true)
66+
private Bosteder bosteder = new Bosteder();
6767

6868
@Valid
69-
@JsonProperty(value = "utenlandsopphold")
70-
private Utenlandsopphold utenlandsopphold;
69+
@JsonProperty(value = "utenlandsopphold", required = true)
70+
private Utenlandsopphold utenlandsopphold = new Utenlandsopphold();
7171

7272
@Valid
7373
@NotNull
@@ -306,14 +306,14 @@ public YtelseValidator getValidator() {
306306

307307
@Size(max=0, message="${validatedValue}")
308308
private List<Feil> getValiderAngittUtenlandsopphold() {
309-
return utenlandsopphold == null
309+
return utenlandsopphold.getPerioder().isEmpty()
310310
? List.of()
311311
: new PeriodeValidator().validerIkkeTillattOverlapp(utenlandsopphold.getPerioder(), "utenlandsopphold.perioder");
312312
}
313313

314314
@Size(max=0, message="${validatedValue}")
315315
private List<Feil> getValiderAngittBosteder() {
316-
return bosteder == null
316+
return bosteder.getPerioder().isEmpty()
317317
? List.of()
318318
: new PeriodeValidator().validerIkkeTillattOverlapp(bosteder.getPerioder(), "bosteder.perioder");
319319
}

soknad/src/test/java/no/nav/k9/søknad/ytelse/psb/TestUtils.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,15 @@ static PleiepengerSyktBarn komplettYtelsePsb(Periode søknadsperiode) {
129129

130130
var barn = new Barn(NorskIdentitetsnummer.of("11111111111"), null);
131131

132-
var bosteder = new Bosteder(Map.of(
133-
søknadsperiode, new Bosteder.BostedPeriodeInfo(Landkode.NORGE)));
132+
var bosteder = new Bosteder().medPerioder(Map.of(
133+
søknadsperiode,
134+
new Bosteder.BostedPeriodeInfo().medLand(Landkode.NORGE)));
135+
136+
var utenlandsopphold = new Utenlandsopphold().medPerioder(Map.of(
137+
søknadsperiode, new Utenlandsopphold
138+
.UtenlandsoppholdPeriodeInfo()
139+
.medLand(Landkode.FINLAND)
140+
.medÅrsak(Utenlandsopphold.UtenlandsoppholdÅrsak.BARNET_INNLAGT_I_HELSEINSTITUSJON_FOR_NORSK_OFFENTLIG_REGNING)));
134141

135142
var omsorg = new Omsorg().medRelasjonTilBarnet(Omsorg.BarnRelasjon.MOR);
136143

0 commit comments

Comments
 (0)