Skip to content

Commit 92839f6

Browse files
fikse fnutt og ryddet i map til list til map (#213)
1 parent 338ede0 commit 92839f6

File tree

4 files changed

+18
-27
lines changed

4 files changed

+18
-27
lines changed

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

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.util.List;
88
import java.util.Map;
99

10-
import no.nav.fpsak.tidsserie.LocalDateSegment;
1110
import no.nav.fpsak.tidsserie.LocalDateTimeline;
1211
import no.nav.fpsak.tidsserie.StandardCombinators;
1312
import no.nav.k9.søknad.TidsserieUtils;
@@ -61,7 +60,7 @@ public static List<PerioderMedEndring> getArbeidstidPerioder(Arbeidstid arbeidst
6160
private static LocalDateTimeline<Boolean> tilTidsserie(List<PerioderMedEndring> listen) {
6261
var temp = new LocalDateTimeline<Boolean>(Collections.emptyList());
6362
for (PerioderMedEndring yp : listen) {
64-
for (Periode p : yp.getPeriodeList()) {
63+
for (Periode p : yp.getPeriodeMap().keySet()) {
6564
temp = temp.union(
6665
new LocalDateTimeline<>(p.getFraOgMed(), p.getTilOgMed(), Boolean.TRUE),
6766
StandardCombinators::coalesceLeftHandSide);
@@ -72,7 +71,7 @@ private static LocalDateTimeline<Boolean> tilTidsserie(List<PerioderMedEndring>
7271

7372
public static class PerioderMedEndring {
7473
private String felt;
75-
private List<Periode> periodeList;
74+
private Map<Periode, ?> periodeMap;
7675

7776
public PerioderMedEndring() {
7877

@@ -82,20 +81,19 @@ public String getFelt() {
8281
return felt;
8382
}
8483

84+
public Map<Periode, ?> getPeriodeMap() {
85+
return periodeMap;
86+
}
87+
8588
public List<Periode> getPeriodeList() {
86-
return periodeList;
89+
return new ArrayList<>(periodeMap.keySet());
8790
}
8891

8992
PerioderMedEndring medPerioder(String felt, Map<Periode, ?> periodeMap) {
9093
this.felt = felt;
91-
this.periodeList = new ArrayList<>(periodeMap.keySet());
94+
this.periodeMap = periodeMap;
9295
return this;
9396
}
9497

95-
PerioderMedEndring medPerioder(String felt, List<Periode> periodeList) {
96-
this.felt = felt;
97-
this.periodeList = periodeList;
98-
return this;
99-
}
10098
}
10199
}

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

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ private List<Feil> validerOgLeggTilFeilene(PleiepengerSyktBarn psb,
8989
}
9090

9191
for (var ytelsePeriode : PerioderMedEndringUtil.getAllePerioderSomMåVæreInnenforSøknadsperiode(psb)) {
92-
var ytelsePeriodeTidsserie = lagTidslinjeOgValiderForYtelseperioder(ytelsePeriode.getPeriodeList(), ytelsePeriode.getFelt() + ".perioder");
92+
var ytelsePeriodeTidsserie = lagTidslinjeOgValider(ytelsePeriode.getPeriodeMap(), ytelsePeriode.getFelt() + ".perioder");
9393
feilene.addAll(validerAtYtelsePerioderErInnenforIntervalForEndring(intervalForEndringTidslinje, ytelsePeriodeTidsserie, ytelsePeriode.getFelt() + ".perioder"));
9494
feilene.addAll(validerAtIngenPerioderOverlapperMedTrekkKravPerioder(trekkKravPerioderTidslinje, ytelsePeriodeTidsserie, ytelsePeriode.getFelt() + ".perioder"));
9595
}
@@ -175,32 +175,23 @@ private LocalDateTimeline<Boolean> lagTidslinjeOgValider(List<Periode> periodeLi
175175
}
176176
}
177177

178-
//TODO skrive om sånn at det ikke trengs en metode for list og en annen for map
179-
private LocalDateTimeline<Boolean> lagTidslinjeOgValiderForYtelseperioder(List<Periode> periodeList, String felt) throws ValideringsAvbrytendeFeilException {
180-
var feil = validerPerioderErLukketOgGyldigForYtelseperioder(periodeList, felt);
178+
private LocalDateTimeline<Boolean> lagTidslinjeOgValider(Map<Periode, ? > periodeMap, String felt) throws ValideringsAvbrytendeFeilException {
179+
var feil = validerPerioderErLukketOgGyldig(periodeMap, felt);
181180
if (!feil.isEmpty()) {
182181
throw new ValideringsAvbrytendeFeilException(feil);
183182
}
184183
try {
185-
return toLocalDateTimeline(periodeList);
184+
return toLocalDateTimeline(new ArrayList<>(periodeMap.keySet()));
186185
} catch (IllegalArgumentException e) {
187186
throw new ValideringsAvbrytendeFeilException(List.of(lagFeil(felt, "IllegalArgumentException", e.getMessage())));
188187
}
189188
}
190189

191-
private List<Feil> validerPerioderErLukketOgGyldigForYtelseperioder(List<Periode> perioder, String felt) {
192-
var feil = new ArrayList<Feil>();
193-
perioder.forEach(p -> {
194-
validerPerioderErLukket(p, felt + "[" + p + "]", feil);
195-
validerPerioderIkkeErInvertert(p, felt + "[" + p + "]", feil);});
196-
return feil;
197-
}
198-
199190
private List<Feil> validerPerioderErLukketOgGyldig(Map<Periode, ?> perioder, String felt) {
200191
var feil = new ArrayList<Feil>();
201192
perioder.keySet().forEach(p -> {
202-
validerPerioderErLukket(p, felt + "[" + p + "]", feil);
203-
validerPerioderIkkeErInvertert(p, felt + "[" + p + "]", feil);});
193+
validerPerioderErLukket(p, felt + "['" + p + "']", feil);
194+
validerPerioderIkkeErInvertert(p, felt + "['" + p + "']", feil);});
204195
return feil;
205196
}
206197

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,9 @@ public static void feilInneholder(List<Feil> feilList, Feil feil) {
7070
public static String periodeString(int i) {
7171
return "[" + i + "]";
7272
}
73+
7374
public static String periodeString(Periode periode) {
74-
return "[" + periode + "]";
75+
return "['" + periode + "']";
7576
}
7677

7778
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import no.nav.k9.søknad.felles.type.Periode;
2222
import no.nav.k9.søknad.felles.type.VirksomhetType;
2323
import no.nav.k9.søknad.ytelse.psb.SøknadEksempel;
24+
import no.nav.k9.søknad.ytelse.psb.TestUtils;
2425
import no.nav.k9.søknad.ytelse.psb.YtelseEksempel;
2526
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstaker;
2627
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstid;
@@ -227,7 +228,7 @@ public void invertertPeriodeForArbeidstakerPeriode() {
227228
((PleiepengerSyktBarn) søknad.getYtelse()).medArbeidstid(new Arbeidstid().medArbeidstaker(List.of(arbeidstaker)));
228229

229230
var feil = verifyHarFeil(søknad);
230-
feilInneholder(feil, "ytelse.arbeidstid.arbeidstakerList[0].perioder[" + arbeidstidperiode + "]", "ugyldigPeriode");
231+
feilInneholder(feil, "ytelse.arbeidstid.arbeidstakerList" + TestUtils.periodeString(0) + ".perioder" + TestUtils.periodeString(arbeidstidperiode) , "ugyldigPeriode");
231232
}
232233

233234
@Test

0 commit comments

Comments
 (0)