Skip to content

Commit 1290365

Browse files
authored
Fjerner pattern fra jsonformat siden vi har fått inn dato med nanosek… (#455)
* Fjerner pattern fra jsonformat siden vi har fått inn dato med nanosekundpresisjon * Endrer format for deserialisering til UTC
1 parent 1d15461 commit 1290365

File tree

7 files changed

+36
-17
lines changed

7 files changed

+36
-17
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
@JsonIgnoreProperties(ignoreUnknown = true)
2323
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
2424
public class Ettersendelse implements Innsending {
25-
25+
2626
@JsonProperty(value="søknadId", required = true)
2727
@NotNull
2828
@Valid
@@ -34,7 +34,7 @@ public class Ettersendelse implements Innsending {
3434

3535
@JsonProperty(value="mottattDato")
3636
@Valid
37-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "UTC")
37+
@JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "UTC")
3838
private final ZonedDateTime mottattDato;
3939

4040
@JsonProperty(value="søker", required = true)
@@ -77,7 +77,7 @@ private Ettersendelse(
7777
public ZonedDateTime getMottattDato() {
7878
return mottattDato;
7979
}
80-
80+
8181
@Override
8282
public Søker getSøker() {
8383
return søker;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class FrisinnSøknad implements Innsending {
3131
private Versjon versjon;
3232

3333
@JsonProperty(value = "mottattDato")
34-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "UTC")
34+
@JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "UTC")
3535
@Valid
3636
@NotNull
3737
private ZonedDateTime mottattDato;

soknad-omsorgspenger-utbetaling/src/main/java/no/nav/k9/søknad/omsorgspenger/utbetaling/arbeidstaker/OmsorgspengerUtbetalingSøknad.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class OmsorgspengerUtbetalingSøknad implements Innsending {
3838
@JsonProperty(value = "mottattDato", required = true)
3939
@Valid
4040
@NotNull
41-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "UTC")
41+
@JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "UTC")
4242
public final ZonedDateTime mottattDato;
4343

4444
@JsonProperty(value = "søker", required = true)
@@ -68,12 +68,12 @@ public class OmsorgspengerUtbetalingSøknad implements Innsending {
6868
public ZonedDateTime getMottattDato() {
6969
return mottattDato;
7070
}
71-
71+
7272
@Override
7373
public Søker getSøker() {
7474
return søker;
7575
}
76-
76+
7777
@Override
7878
public Versjon getVersjon() {
7979
return versjon;
@@ -83,7 +83,7 @@ public Versjon getVersjon() {
8383
public SøknadId getSøknadId() {
8484
return søknadId;
8585
}
86-
86+
8787
@Size(max=0, message="${validatedValue}")
8888
private List<Feil> getValiderAngittFosterbarn() {
8989
var barn = this.fosterbarn;

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class OmsorgspengerUtbetalingSøknad implements Innsending {
4040
@JsonProperty(value = "mottattDato", required = true)
4141
@Valid
4242
@NotNull
43-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "UTC")
43+
@JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "UTC")
4444
public final ZonedDateTime mottattDato;
4545

4646
@JsonProperty(value = "søker", required = true)
@@ -59,7 +59,7 @@ public class OmsorgspengerUtbetalingSøknad implements Innsending {
5959
@JsonProperty("frilanser")
6060
@Valid
6161
public final Frilanser frilanser;
62-
62+
6363
@JsonCreator
6464
private OmsorgspengerUtbetalingSøknad(
6565
@JsonProperty("søknadId") SøknadId søknadId,
@@ -77,12 +77,12 @@ public class OmsorgspengerUtbetalingSøknad implements Innsending {
7777
this.selvstendigNæringsdrivende = selvstendigNæringsdrivende;
7878
this.frilanser = frilanser;
7979
}
80-
80+
8181
@AssertTrue(message="Enten frilanser eller selvstendingNæringsdrivende må være satt i søknaden")
8282
private boolean isFrilanserEllerSn() {
8383
return frilanser!=null || (selvstendigNæringsdrivende!=null && !selvstendigNæringsdrivende.isEmpty());
8484
}
85-
85+
8686
@Override
8787
public ZonedDateTime getMottattDato() {
8888
return mottattDato;
@@ -92,7 +92,7 @@ public ZonedDateTime getMottattDato() {
9292
public Søker getSøker() {
9393
return søker;
9494
}
95-
95+
9696
@Override
9797
public Versjon getVersjon() {
9898
return versjon;
@@ -122,7 +122,7 @@ private List<Feil> getValiderAngittFosterbarn() {
122122
}
123123
return feil;
124124
}
125-
125+
126126
public static Builder builder() {
127127
return new Builder();
128128
}

soknad-omsorgspenger/src/main/java/no/nav/k9/søknad/omsorgspenger/OmsorgspengerSøknad.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class OmsorgspengerSøknad implements Innsending {
3939
@JsonProperty(value = "mottattDato", required = true)
4040
@Valid
4141
@NotNull
42-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX", timezone = "UTC")
42+
@JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "UTC")
4343
public final ZonedDateTime mottattDato;
4444

4545
@JsonProperty(value = "søker", required = true)

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ private static final ObjectMapper createObjectMapper() {
6262
final ObjectMapper objectMapper = new ObjectMapper()
6363
.registerModule(new Jdk8Module())
6464
.registerModule(new JavaTimeModule())
65-
.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE)
66-
.setTimeZone(TimeZone.getTimeZone("Europe/Oslo"))
65+
.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE)
66+
.setTimeZone(TimeZone.getTimeZone("UTC"))
6767
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
6868
.disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
6969
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)

soknad/src/test/java/no/nav/k9/søknad/JsonUtilsTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44

5+
import java.time.ZonedDateTime;
6+
57
import org.assertj.core.api.Assertions;
68
import org.junit.jupiter.api.Test;
9+
import org.junit.jupiter.params.ParameterizedTest;
10+
import org.junit.jupiter.params.provider.ValueSource;
711

812
import com.fasterxml.jackson.databind.node.ObjectNode;
913

@@ -48,6 +52,21 @@ public void ukjentePropertiesSkalGiException() {
4852
}
4953

5054

55+
@ParameterizedTest
56+
@ValueSource(strings = {
57+
"\"2024-08-14T10:05:56.111111111Z\"",
58+
"\"2024-08-14T10:05:56.111111Z\"",
59+
"\"2024-08-14T10:05:56.111Z\"",
60+
"\"2024-08-14T10:05:56Z\""})
61+
public void skal_kunne_deserialisere_zoneddatetime(String dato) {
62+
deserialiserZonedDatetime(dato);
63+
}
64+
65+
private static ZonedDateTime deserialiserZonedDatetime(String s) {
66+
return JsonUtils.fromString(s, ZonedDateTime.class);
67+
}
68+
69+
5170
private static class Testdata {
5271

5372
private String felt;

0 commit comments

Comments
 (0)