Skip to content

Commit a889860

Browse files
Feature/standardisering av kontrakt (#81)
* refactor kontraktstruktur, introdusert felles interface YtelseInnsending, flytte bosted/utenlandsopphold ned til Ytelse implementasjoner. Flyttet noe valideringslogikk fra validator klassser til java Validator metoder * fix: LegacySøknad for gamle felter. WIP ny søknadsstruktur
1 parent 07ee91d commit a889860

File tree

67 files changed

+1233
-1228
lines changed

Some content is hidden

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

67 files changed

+1233
-1228
lines changed

ettersendelse/src/main/java/no/nav/k9/ettersendelse/Ettersendelse.java

Lines changed: 65 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,99 @@
11
package no.nav.k9.ettersendelse;
22

3+
import java.time.ZonedDateTime;
4+
5+
import javax.validation.Valid;
6+
import javax.validation.constraints.NotNull;
7+
8+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
39
import com.fasterxml.jackson.annotation.JsonCreator;
410
import com.fasterxml.jackson.annotation.JsonFormat;
11+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
512
import com.fasterxml.jackson.annotation.JsonProperty;
13+
14+
import no.nav.k9.søknad.Innsending;
615
import no.nav.k9.søknad.JsonUtils;
716
import no.nav.k9.søknad.felles.Versjon;
817
import no.nav.k9.søknad.felles.personopplysninger.Søker;
918
import no.nav.k9.søknad.felles.type.SøknadId;
1019

11-
import java.time.ZonedDateTime;
12-
13-
public class Ettersendelse {
20+
@JsonIgnoreProperties(ignoreUnknown = true)
21+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
22+
public class Ettersendelse implements Innsending {
23+
24+
@JsonProperty(value="søknadId", required = true)
25+
@NotNull
26+
@Valid
1427
public final SøknadId søknadId;
1528

29+
@JsonProperty(value="versjon")
30+
@Valid
1631
public final Versjon versjon;
1732

33+
34+
@JsonProperty(value="mottattDato")
35+
@Valid
1836
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "UTC")
1937
public final ZonedDateTime mottattDato;
2038

39+
40+
@JsonProperty(value="søker", required = true)
41+
@Valid
42+
@NotNull
2143
public final Søker søker;
2244

45+
46+
@JsonProperty(value="ytelse", required = true)
47+
@Valid
48+
@NotNull
2349
public final Ytelse ytelse;
2450

2551
@JsonCreator
2652
private Ettersendelse(
27-
@JsonProperty("søknadId")
28-
SøknadId søknadId,
29-
@JsonProperty("versjon")
30-
Versjon versjon,
31-
@JsonProperty("mottattDato")
32-
ZonedDateTime mottattDato,
33-
@JsonProperty("søker")
34-
Søker søker,
35-
@JsonProperty("ytelse")
36-
Ytelse ytelse) {
53+
@JsonProperty("søknadId") SøknadId søknadId,
54+
@JsonProperty("versjon") Versjon versjon,
55+
@JsonProperty("mottattDato") ZonedDateTime mottattDato,
56+
@JsonProperty("søker") Søker søker,
57+
@JsonProperty("ytelse") Ytelse ytelse) {
3758
this.søknadId = søknadId;
3859
this.versjon = versjon;
3960
this.mottattDato = mottattDato;
4061
this.søker = søker;
4162
this.ytelse = ytelse;
4263
}
4364

65+
@Override
66+
public ZonedDateTime getMottattDato() {
67+
return mottattDato;
68+
}
69+
70+
@Override
71+
public Søker getSøker() {
72+
return søker;
73+
}
74+
75+
@Override
76+
public SøknadId getSøknadId() {
77+
return søknadId;
78+
}
79+
80+
@Override
81+
public Versjon getVersjon() {
82+
return versjon;
83+
}
84+
4485
public static Builder builder() {
4586
return new Builder();
4687
}
4788

4889
public static final class SerDes {
49-
private SerDes() {}
90+
private SerDes() {
91+
}
92+
5093
public static String serialize(Ettersendelse ettersendelse) {
5194
return JsonUtils.toString(ettersendelse);
5295
}
96+
5397
public static Ettersendelse deserialize(String ettersendelse) {
5498
return JsonUtils.fromString(ettersendelse, Ettersendelse.class);
5599
}
@@ -65,7 +109,8 @@ public static final class Builder {
65109
private Søker søker;
66110
private Ytelse ytelse;
67111

68-
private Builder() {}
112+
private Builder() {
113+
}
69114

70115
public Builder søknadId(SøknadId søknadId) {
71116
this.søknadId = søknadId;
@@ -94,12 +139,11 @@ public Builder json(String json) {
94139

95140
public Ettersendelse build() {
96141
Ettersendelse ettetrsendelse = (json == null) ? new Ettersendelse(
97-
søknadId,
98-
versjon,
99-
mottattDato,
100-
søker,
101-
ytelse
102-
) : SerDes.deserialize(json);
142+
søknadId,
143+
versjon,
144+
mottattDato,
145+
søker,
146+
ytelse) : SerDes.deserialize(json);
103147
validator.forsikreValidert(ettetrsendelse);
104148
return ettetrsendelse;
105149
}

ettersendelse/src/test/java/no/nav/k9/ettersendelse/EttersendelseTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ public class EttersendelseTest {
1515
@Test
1616
public void serialiseringAvJsonOgBrukAvBuilderGirSammeResultat() throws JSONException {
1717
String json = jsonForKomplettEttersendelse();
18-
assertEquals(json, serialize(komplettBuilder().build()), true);
18+
Ettersendelse ettersendelse = komplettBuilder().build();
19+
String serialize = serialize(ettersendelse);
20+
assertEquals(json, serialize, true);
1921
}
2022

2123
@Test

pom.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
<module>soknad-omsorgspenger</module>
1414
<module>soknad</module>
1515
<module>soknad-omsorgspenger-utbetaling</module>
16-
<module>soknad-omsorgspenger-overforing</module>
1716
<module>soknad-frisinn</module>
1817
<module>ettersendelse</module>
1918
</modules>
@@ -61,7 +60,7 @@
6160
<dependency>
6261
<groupId>org.hibernate.validator</groupId>
6362
<artifactId>hibernate-validator</artifactId>
64-
<version>6.1.6.Final</version>
63+
<version>6.2.0.Final</version>
6564
</dependency>
6665
<dependency>
6766
<groupId>no.nav.k9</groupId>

soknad-frisinn/src/main/java/no/nav/k9/søknad/frisinn/FrisinnSøknad.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
1515
import com.fasterxml.jackson.annotation.JsonProperty;
1616

17+
import no.nav.k9.søknad.Innsending;
1718
import no.nav.k9.søknad.JsonUtils;
1819
import no.nav.k9.søknad.felles.Versjon;
1920
import no.nav.k9.søknad.felles.personopplysninger.Søker;
@@ -23,7 +24,7 @@
2324

2425
@JsonIgnoreProperties(ignoreUnknown = true)
2526
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
26-
public class FrisinnSøknad {
27+
public class FrisinnSøknad implements Innsending {
2728

2829
@JsonProperty(value = "søknadId")
2930
@Valid
@@ -104,22 +105,26 @@ public class FrisinnSøknad {
104105
}
105106
}
106107

107-
public SøknadId getSøknadId() {
108-
return søknadId;
108+
@Override
109+
public ZonedDateTime getMottattDato() {
110+
return mottattDato;
109111
}
110112

113+
@Override
111114
public Versjon getVersjon() {
112115
return versjon;
113116
}
114117

115-
public ZonedDateTime getMottattDato() {
116-
return mottattDato;
118+
@Override
119+
public SøknadId getSøknadId() {
120+
return søknadId;
117121
}
118122

119123
public Språk getSpråk() {
120124
return språk;
121125
}
122126

127+
@Override
123128
public Søker getSøker() {
124129
return søker;
125130
}

soknad-omsorgspenger-overforing/pom.xml

Lines changed: 0 additions & 37 deletions
This file was deleted.

soknad-omsorgspenger-overforing/src/main/java/no/nav/k9/søknad/omsorgspenger/overføring/Mottaker.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)