Skip to content

Commit 3900f31

Browse files
Fikset på strukturen til søknad (#216)
Fikset på strukturen til søknad, lagt på en del NPE og required true. Fikset en del tester
1 parent c3957d1 commit 3900f31

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1444
-818
lines changed

soknad-omsorgspenger-utbetaling/src/test/java/no/nav/k9/søknad/omsorgspenger/utbetaling/snf/OmsorgspengerUtbetalingSøknadValidatorTest.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import static no.nav.k9.søknad.omsorgspenger.utbetaling.snf.TestUtils.jsonForKomplettSøknad;
55
import static no.nav.k9.søknad.omsorgspenger.utbetaling.snf.TestUtils.komplettBuilder;
66
import static org.assertj.core.api.Assertions.assertThat;
7+
import static org.junit.jupiter.api.Assertions.assertThrows;
78

89
import java.math.BigDecimal;
910
import java.time.LocalDate;
@@ -84,17 +85,17 @@ public class OmsorgspengerUtbetalingSøknadValidatorTest {
8485
@Test
8586
public void selvstending_næringsdrivende_mangler_påkrevde_felter() {
8687
var builder = komplettBuilder();
87-
List<SelvstendigNæringsdrivende> selvstendingeVirksomheter = of(
88-
SelvstendigNæringsdrivende.builder()
89-
.organisasjonsnummer(Organisasjonsnummer.of("816338352"))
90-
.periode(
91-
new Periode(LocalDate.now().minusMonths(2), LocalDate.now()),
92-
SelvstendigNæringsdrivende.SelvstendigNæringsdrivendePeriodeInfo.builder()
93-
.build()
94-
).build()
95-
);
96-
builder.selvstendigNæringsdrivende(selvstendingeVirksomheter);
97-
Assertions.assertThat(verifyHarFeil(builder)).hasSize(2);
88+
assertThrows(NullPointerException.class, () -> {
89+
List<SelvstendigNæringsdrivende> selvstendingeVirksomheter = of(
90+
SelvstendigNæringsdrivende.builder()
91+
.organisasjonsnummer(Organisasjonsnummer.of("816338352"))
92+
.periode(
93+
new Periode(LocalDate.now().minusMonths(2), LocalDate.now()),
94+
SelvstendigNæringsdrivende.SelvstendigNæringsdrivendePeriodeInfo.builder()
95+
.build()
96+
).build()
97+
);
98+
});
9899
}
99100

100101
@Test

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

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ public class Søknad implements Innsending {
8383
@JsonProperty(value = "søker", required = true) @Valid @NotNull Søker søker,
8484
@JsonProperty(value = "språk", required = false) @Valid Språk språk,
8585
@JsonProperty(value = "ytelse", required = true) @Valid @NotNull Ytelse ytelse) {
86-
this.søknadId = søknadId;
87-
this.versjon = versjon;
88-
this.mottattDato = mottattDato;
89-
this.søker = søker;
90-
this.ytelse = ytelse;
86+
this.søknadId = Objects.requireNonNull(søknadId, "søknadId");
87+
this.versjon = Objects.requireNonNull(versjon, "versjon");
88+
this.mottattDato = Objects.requireNonNull(mottattDato, "mottattDato");
89+
this.søker = Objects.requireNonNull(søker, "søker");
90+
this.ytelse = Objects.requireNonNull(ytelse, "ytelse");
9191
this.språk = språk;
9292
}
9393

@@ -104,19 +104,11 @@ public class Søknad implements Innsending {
104104
return søknadId;
105105
}
106106

107-
public void setSøknadId(SøknadId søknadId) {
108-
this.søknadId = søknadId;
109-
}
110-
111107
@Override
112108
public Versjon getVersjon() {
113109
return versjon;
114110
}
115111

116-
public void setVersjon(Versjon versjon) {
117-
this.versjon = versjon;
118-
}
119-
120112
@Override
121113
public ZonedDateTime getMottattDato() {
122114
return mottattDato;
@@ -126,16 +118,50 @@ public ZonedDateTime getMottattDato() {
126118
return språk;
127119
}
128120

121+
public BegrunnelseForInnsending getBegrunnelseForInnsending() {
122+
return begrunnelseForInnsending;
123+
}
124+
125+
public List<Person> getBerørtePersoner() {
126+
return ytelse == null ? Collections.emptyList() : ytelse.getBerørtePersoner();
127+
}
128+
129+
@Override
130+
public Søker getSøker() {
131+
return søker;
132+
}
133+
134+
public List<Journalpost> getJournalposter() {
135+
return journalposter;
136+
}
137+
138+
@SuppressWarnings("unchecked")
139+
public <Y extends Ytelse> Y getYtelse() {
140+
return (Y) ytelse;
141+
}
142+
143+
public void setSøknadId(SøknadId søknadId) {
144+
this.søknadId = Objects.requireNonNull(søknadId, "søknadId");
145+
}
146+
147+
public void setVersjon(Versjon versjon) {
148+
this.versjon = Objects.requireNonNull(versjon);;
149+
}
150+
129151
public void setMottattDato(ZonedDateTime mottattDato) {
130-
this.mottattDato = mottattDato;
152+
this.mottattDato = Objects.requireNonNull(mottattDato, "mottattDato");
131153
}
132154

133-
public BegrunnelseForInnsending getBegrunnelseForInnsending() {
134-
return begrunnelseForInnsending;
155+
public void setSøker(Søker søker) {
156+
this.søker = Objects.requireNonNull(søker, "søker");
157+
}
158+
159+
public void setYtelse(Ytelse ytelse) {
160+
this.ytelse = Objects.requireNonNull(ytelse, "ytelse");
135161
}
136162

137163
public Søknad medMottattDato(ZonedDateTime mottattDato) {
138-
this.mottattDato = mottattDato;
164+
this.mottattDato = Objects.requireNonNull(mottattDato, "mottattDato");
139165
return this;
140166
}
141167

@@ -145,57 +171,40 @@ public BegrunnelseForInnsending getBegrunnelseForInnsending() {
145171
}
146172

147173
public Søknad medSøknadId(String søknadId) {
148-
this.søknadId = new SøknadId(søknadId);
174+
this.søknadId = new SøknadId(Objects.requireNonNull(søknadId, "søknadId"));
149175
return this;
150176
}
151177

152178
public Søknad medSøknadId(SøknadId søknadId) {
153-
this.søknadId = søknadId;
179+
this.søknadId = Objects.requireNonNull(søknadId, "søknadId");
154180
return this;
155181
}
156182

157183
public Søknad medVersjon(String versjon) {
158-
this.versjon = new Versjon(versjon);
184+
this.versjon = new Versjon(Objects.requireNonNull(versjon, "versjon"));
159185
return this;
160186
}
161187

162188
public Søknad medVersjon(Versjon versjon) {
163-
this.versjon = versjon;
189+
this.versjon = Objects.requireNonNull(versjon, "versjon");
164190
return this;
165191
}
166192

167193
public Søknad medSøker(Søker søker) {
168-
this.søker = søker;
194+
this.søker = Objects.requireNonNull(søker, "søker");
169195
return this;
170196
}
171197

172198
public Søknad medYtelse(Ytelse ytelse) {
173-
this.ytelse = ytelse;
199+
this.ytelse = Objects.requireNonNull(ytelse, "ytelse");
174200
return this;
175201
}
176202

177203
public Søknad medBegrunnelseForInnsending(BegrunnelseForInnsending begrunnelseForInnsending) {
178-
this.begrunnelseForInnsending = Objects.requireNonNull(begrunnelseForInnsending);
204+
this.begrunnelseForInnsending = Objects.requireNonNull(begrunnelseForInnsending, "begrunnelseForInnsending");
179205
return this;
180206
}
181207

182-
public List<Person> getBerørtePersoner() {
183-
return ytelse == null ? Collections.emptyList() : ytelse.getBerørtePersoner();
184-
}
185-
186-
@Override
187-
public Søker getSøker() {
188-
return søker;
189-
}
190-
191-
public void setSøker(Søker søker) {
192-
this.søker = søker;
193-
}
194-
195-
public List<Journalpost> getJournalposter() {
196-
return journalposter;
197-
}
198-
199208
public Søknad medJournalpost(Journalpost journalpost) {
200209
this.journalposter.add(Objects.requireNonNull(journalpost, "journalpost"));
201210
return this;
@@ -206,15 +215,6 @@ public List<Journalpost> getJournalposter() {
206215
return this;
207216
}
208217

209-
@SuppressWarnings("unchecked")
210-
public <Y extends Ytelse> Y getYtelse() {
211-
return (Y) ytelse;
212-
}
213-
214-
public void setYtelse(Ytelse ytelse) {
215-
this.ytelse = ytelse;
216-
}
217-
218218
public static final class SerDes {
219219
private SerDes() {
220220
}

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package no.nav.k9.søknad.felles;
22

33
import java.util.Objects;
4+
import java.util.regex.Matcher;
5+
import java.util.regex.Pattern;
6+
7+
import javax.validation.ConstraintViolation;
48

59
import com.fasterxml.jackson.annotation.JsonAutoDetect;
610
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -36,6 +40,38 @@ public String getFelt() {
3640
return felt;
3741
}
3842

43+
public static <O> Feil toFeil(ConstraintViolation<O> constraintViolation) {
44+
var constraintMessage = constraintViolation.getMessage();
45+
46+
final Pattern feilkodePattern = Pattern.compile("^[^\\[]*\\[([^]]*)\\](.*)$");
47+
final Matcher feilkodeMatcher = feilkodePattern.matcher(constraintMessage);
48+
49+
final String feilkode;
50+
final String feilmelding;
51+
52+
if (feilkodeMatcher.matches() && feilkodeMatcher.groupCount() >= 2) {
53+
feilkode = feilkodeMatcher.group(1).trim();
54+
feilmelding = feilkodeMatcher.group(2).trim();
55+
} else if (constraintMessage.equals("must not be null")){
56+
feilkode = "nullFeil";
57+
feilmelding = "Feltet kan ikke være tomt, null feil";
58+
59+
}else if (constraintMessage.equals("must not be empty")){
60+
feilkode = "tomFeil";
61+
feilmelding = "Feltet kan ikke være tomt";
62+
63+
} else {
64+
feilkode = "påkrevd";
65+
feilmelding = constraintMessage;
66+
}
67+
68+
return new Feil(
69+
constraintViolation.getPropertyPath().toString(),
70+
feilkode,
71+
feilmelding);
72+
}
73+
74+
3975
@Override
4076
public boolean equals(Object o) {
4177
if (this == o)

soknad/src/main/java/no/nav/k9/søknad/felles/opptjening/AnnenAktivitet.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package no.nav.k9.søknad.felles.opptjening;
22

3+
import java.util.Objects;
4+
35
import javax.validation.Valid;
46
import javax.validation.constraints.NotNull;
57

68
import com.fasterxml.jackson.annotation.JsonAutoDetect;
7-
import com.fasterxml.jackson.annotation.JsonCreator;
89
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
910
import com.fasterxml.jackson.annotation.JsonProperty;
1011

@@ -25,30 +26,32 @@ public class AnnenAktivitet {
2526
@NotNull
2627
private AnnenAktivitetType annenAktivitetType;
2728

28-
29-
@JsonCreator
29+
@Deprecated
3030
public AnnenAktivitet(@JsonProperty(value = "periode", required = true) @Valid @NotNull Periode periode,
3131
@JsonProperty(value = "annenAktivitetType", required = true) @Valid @NotNull AnnenAktivitetType annenAktivitetType) {
3232
this.periode = periode;
3333
this.annenAktivitetType = annenAktivitetType;
3434
}
3535

3636
public AnnenAktivitet() {
37+
3738
}
3839

3940
public Periode getPeriode() {
4041
return periode;
4142
}
4243

43-
public void setPeriode(Periode periode) {
44-
this.periode = periode;
44+
public AnnenAktivitet medPeriode(Periode periode) {
45+
this.periode = Objects.requireNonNull(periode, "periode");
46+
return this;
4547
}
4648

4749
public AnnenAktivitetType getAnnenAktivitetType() {
4850
return annenAktivitetType;
4951
}
5052

51-
public void setAnnenAktivitetType(AnnenAktivitetType annenAktivitetType) {
52-
this.annenAktivitetType = annenAktivitetType;
53+
public AnnenAktivitet medAnnenAktivitetType(AnnenAktivitetType annenAktivitetType) {
54+
this.annenAktivitetType = Objects.requireNonNull(annenAktivitetType, "annenAktivitetType");
55+
return this;
5356
}
5457
}

soknad/src/main/java/no/nav/k9/søknad/felles/opptjening/Frilanser.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package no.nav.k9.søknad.felles.opptjening;
22

33
import java.time.LocalDate;
4+
import java.util.Objects;
45

56
import javax.validation.constraints.NotNull;
67

78
import com.fasterxml.jackson.annotation.JsonAutoDetect;
8-
import com.fasterxml.jackson.annotation.JsonCreator;
99
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
1010
import com.fasterxml.jackson.annotation.JsonProperty;
1111

@@ -26,22 +26,23 @@ public static Frilanser.Builder builder() {
2626
return new Frilanser.Builder();
2727
}
2828

29-
public Frilanser() {}
29+
public Frilanser() {
30+
31+
}
3032

31-
@JsonCreator
3233
public Frilanser(@JsonProperty("startdato") LocalDate startdato,
3334
@JsonProperty("sluttdato") LocalDate sluttdato) {
3435
this.startdato = startdato;
3536
this.sluttdato = sluttdato;
3637
}
3738

3839
public Frilanser medStartDato(LocalDate startdato) {
39-
this.startdato = startdato;
40+
this.startdato = Objects.requireNonNull(startdato, "startdato");
4041
return this;
4142
}
4243

4344
public Frilanser medSluttDato(LocalDate sluttdato) {
44-
this.sluttdato = sluttdato;
45+
this.sluttdato = Objects.requireNonNull(sluttdato, "sluttdato");
4546
return this;
4647
}
4748

0 commit comments

Comments
 (0)