@@ -89,7 +89,7 @@ private List<Feil> validerOgLeggTilFeilene(PleiepengerSyktBarn psb,
89
89
}
90
90
91
91
for (var ytelsePeriode : PerioderMedEndringUtil .getAllePerioderSomMåVæreInnenforSøknadsperiode (psb )) {
92
- var ytelsePeriodeTidsserie = lagTidslinjeOgValider (ytelsePeriode .getPeriodeList (), ytelsePeriode .getFelt () + ".perioder" );
92
+ var ytelsePeriodeTidsserie = lagTidslinjeOgValiderForYtelseperioder (ytelsePeriode .getPeriodeList (), ytelsePeriode .getFelt () + ".perioder" );
93
93
feilene .addAll (validerAtYtelsePerioderErInnenforIntervalForEndring (intervalForEndringTidslinje , ytelsePeriodeTidsserie , ytelsePeriode .getFelt () + ".perioder" ));
94
94
feilene .addAll (validerAtIngenPerioderOverlapperMedTrekkKravPerioder (trekkKravPerioderTidslinje , ytelsePeriodeTidsserie , ytelsePeriode .getFelt () + ".perioder" ));
95
95
}
@@ -116,7 +116,7 @@ private List<Feil> validerAtYtelsePerioderErInnenforIntervalForEndring(LocalDate
116
116
String felt ) {
117
117
return tilPeriodeList (
118
118
testTidsserie .disjoint (gyldigInterval )).stream ()
119
- .map (p -> toFeil (p , felt , "ugyldigPeriode" , "Perioden er utenfor gyldig interval(" + gyldigInterval .toString () + ") : " ))
119
+ .map (p -> toFeil (p , felt , "ugyldigPeriode" , "Perioden er utenfor gyldig interval. Gyldig interva: (" + gyldigInterval .toString () + "), Periode : " ))
120
120
.collect (Collectors .toCollection (ArrayList ::new ));
121
121
}
122
122
@@ -163,8 +163,7 @@ private Feil lagFeil(String felt, String feilkode, String feilmelding) {
163
163
return new Feil (YTELSE_FELT + felt , feilkode , feilmelding );
164
164
}
165
165
166
- private LocalDateTimeline <Boolean > lagTidslinjeOgValider (List <Periode > periodeList , String felt )
167
- throws ValideringsAvbrytendeFeilException {
166
+ private LocalDateTimeline <Boolean > lagTidslinjeOgValider (List <Periode > periodeList , String felt ) throws ValideringsAvbrytendeFeilException {
168
167
var feil = validerPerioderErLukketOgGyldig (periodeList , felt );
169
168
if (!feil .isEmpty ()) {
170
169
throw new ValideringsAvbrytendeFeilException (feil );
@@ -176,6 +175,27 @@ private LocalDateTimeline<Boolean> lagTidslinjeOgValider(List<Periode> periodeLi
176
175
}
177
176
}
178
177
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 );
181
+ if (!feil .isEmpty ()) {
182
+ throw new ValideringsAvbrytendeFeilException (feil );
183
+ }
184
+ try {
185
+ return toLocalDateTimeline (periodeList );
186
+ } catch (IllegalArgumentException e ) {
187
+ throw new ValideringsAvbrytendeFeilException (List .of (lagFeil (felt , "IllegalArgumentException" , e .getMessage ())));
188
+ }
189
+ }
190
+
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
+
179
199
private List <Feil > validerPerioderErLukketOgGyldig (Map <Periode , ?> perioder , String felt ) {
180
200
var feil = new ArrayList <Feil >();
181
201
perioder .keySet ().forEach (p -> {
0 commit comments