Skip to content

Commit 23f6fbe

Browse files
startet å fikse valideringsmeldinger, ta bort duplikater (#199)
* startet å fikse valideringsmeldinger, ta bort duplikater * endret på validering av perioder og tidslinjer * bruker tidslinje for å validere overlapp, lagt på key i felt for maps * Flyttet tester til V1, gjort ytelse validering protected. Bruk søknad validering * fikset på felt validering duplikater og feilkode * lagt på regx fra Stian * fikset feil * fikest trekkKravTest
1 parent d890792 commit 23f6fbe

16 files changed

+289
-295
lines changed

soknad/src/main/java/no/nav/k9/søknad/TidsserieUtils.java

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,18 @@
11
package no.nav.k9.søknad;
22

3-
import java.util.ArrayList;
4-
import java.util.Collections;
53
import java.util.List;
6-
import java.util.Map;
74
import java.util.stream.Collectors;
85

96
import no.nav.fpsak.tidsserie.LocalDateSegment;
107
import no.nav.fpsak.tidsserie.LocalDateTimeline;
11-
import no.nav.k9.søknad.felles.Feil;
128
import no.nav.k9.søknad.felles.type.Periode;
139

1410
public class TidsserieUtils {
15-
public static List<Periode> toPeriodeList(LocalDateTimeline<?> t) {
11+
public static List<Periode> tilPeriodeList(LocalDateTimeline<?> t) {
1612
return t.stream().map(l -> new Periode(l.getFom(), l.getTom())).collect(Collectors.toList());
1713
}
1814

19-
public static LocalDateTimeline<Boolean> toLocalDateTimeline(Map<Periode, ?> periodeMap, String felt, List<Feil> feil) {
20-
return toLocalDateTimeline(new ArrayList<>(periodeMap.keySet()), felt, feil);
21-
}
22-
23-
public static LocalDateTimeline<Boolean> toLocalDateTimeline(List<Periode> perioder, String felt, List<Feil> feil) {
24-
try {
25-
return toLocalDateTimeline(perioder);
26-
} catch (IllegalArgumentException e) {
27-
feil.add(new Feil(felt, "IllegalArgumentException", e.getMessage()));
28-
}
29-
return new LocalDateTimeline<>(Collections.emptyList());
30-
}
31-
32-
public static LocalDateTimeline<Boolean> toLocalDateTimeline(List<Periode> perioder) throws IllegalArgumentException{
15+
public static LocalDateTimeline<Boolean> toLocalDateTimeline(List<Periode> perioder) {
3316
return new LocalDateTimeline<Boolean>(perioder
3417
.stream()
3518
.map(no.nav.k9.søknad.TidsserieUtils::mapLocalDateSegment)

soknad/src/main/java/no/nav/k9/søknad/felles/type/Organisasjonsnummer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public static Organisasjonsnummer of(String verdi) {
3535
}
3636

3737

38-
@AssertTrue(message="Organisasjonsnummer må være gyldig")
38+
@AssertTrue(message="[ugyldigOrgNummer] Organisasjonsnummer må være gyldig.")
3939
private boolean isValid() {
4040
return OrganisasjonsNummerValidator.erGyldig(verdi);
4141
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@ public static List<Periode> getEndringsperiode(PleiepengerSyktBarn psb) {
2020
tilTidsserie(getAllePerioderSomMåVæreInnenforSøknadsperiode(psb));
2121
var søknadsperiode = toLocalDateTimeline(psb.getSøknadsperiodeList());
2222
var endringsperiodeTidsserie = allePerioderMedEndringTidsserie.disjoint(søknadsperiode);
23-
return TidsserieUtils.toPeriodeList(endringsperiodeTidsserie);
23+
return TidsserieUtils.tilPeriodeList(endringsperiodeTidsserie);
2424
}
2525

2626
public static List<PerioderMedEndring> getAllePerioderSomMåVæreInnenforSøknadsperiode(PleiepengerSyktBarn psb) {
2727
var listen = new ArrayList<PerioderMedEndring>();
28-
listen.add(new PerioderMedEndring().medPerioder("utenlandsopphold", psb.getUtenlandsopphold().getPerioder()));
2928
listen.add(new PerioderMedEndring().medPerioder("beredskap", psb.getBeredskap().getPerioder()));
3029
listen.add(new PerioderMedEndring().medPerioder("nattevåk", psb.getNattevåk().getPerioder()));
3130
listen.add(new PerioderMedEndring().medPerioder("tilsynsordning", psb.getTilsynsordning().getPerioder()));

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

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package no.nav.k9.søknad.ytelse.psb.v1;
22

33
import java.util.List;
4+
import java.util.regex.Matcher;
5+
import java.util.regex.Pattern;
46
import java.util.stream.Collectors;
57

68
import javax.validation.ConstraintViolation;
@@ -18,6 +20,7 @@
1820

1921
public class PleiepengerSyktBarnSøknadValidator extends SøknadValidator<Søknad> {
2022

23+
2124
private static final ValidatorFactory VALIDATOR_FACTORY = Validation.buildDefaultValidatorFactory();
2225

2326
public PleiepengerSyktBarnSøknadValidator() {
@@ -39,10 +42,26 @@ private static void validerVersjon(Versjon versjon, List<Feil> feil) {
3942
}
4043

4144
private Feil toFeil(ConstraintViolation<Søknad> constraintViolation) {
45+
var constraintMessage = constraintViolation.getMessage();
46+
47+
final Pattern feilkodePattern = Pattern.compile("^[^\\[]*\\[([^]]*)\\](.*)$");
48+
final Matcher feilkodeMatcher = feilkodePattern.matcher(constraintMessage);
49+
50+
final String feilkode;
51+
final String feilmelding;
52+
53+
if (feilkodeMatcher.matches() && feilkodeMatcher.groupCount() >= 2) {
54+
feilkode = feilkodeMatcher.group(1).trim();
55+
feilmelding = feilkodeMatcher.group(2).trim();
56+
} else {
57+
feilkode = "påkrevd";
58+
feilmelding = constraintMessage;
59+
}
60+
4261
return new Feil(
4362
constraintViolation.getPropertyPath().toString(),
44-
PÅKREVD,
45-
constraintViolation.getMessage());
63+
feilkode,
64+
feilmelding);
4665
}
4766

4867
@Override

0 commit comments

Comments
 (0)