Skip to content
This repository was archived by the owner on Jan 14, 2025. It is now read-only.

Commit 00cbd28

Browse files
committed
Legger til støtte for printsinstruksjoner
1 parent 5edd774 commit 00cbd28

File tree

4 files changed

+52
-4
lines changed

4 files changed

+52
-4
lines changed

src/main/java/no/difi/sdp/client2/domain/fysisk_post/FysiskPost.java

+12
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,16 @@
1919
import no.difi.sdp.client2.domain.ForretningsMeldingType;
2020
import no.difi.sdp.client2.domain.TekniskMottaker;
2121

22+
import java.util.List;
23+
2224
public class FysiskPost extends ForretningsMelding {
2325

2426
private KonvoluttAdresse mottaker;
2527
private Posttype posttype;
2628
private Utskriftsfarge utskriftsfarge;
2729
private Returhaandtering returhaandtering;
2830
private KonvoluttAdresse returadresse;
31+
private List<Printinstruksjon> printinstruksjoner;
2932

3033
public FysiskPost() {
3134
super(ForretningsMeldingType.PRINT);
@@ -61,6 +64,10 @@ public TekniskMottaker getUtskriftsleverandoer() {
6164
return null;
6265
}
6366

67+
public List<Printinstruksjon> getPrintinstruksjoner() {
68+
return printinstruksjoner;
69+
}
70+
6471
public static FysiskPost.Builder builder() {
6572
return new Builder();
6673
}
@@ -100,6 +107,11 @@ public Builder retur(Returhaandtering haandtering, KonvoluttAdresse returadresse
100107
return this;
101108
}
102109

110+
public Builder printinstruksjoner(List<Printinstruksjon> printinstruksjoner) {
111+
fysiskPost.printinstruksjoner = printinstruksjoner;
112+
return this;
113+
}
114+
103115
public FysiskPost build() {
104116
if (built) throw new IllegalStateException("Can't build twice");
105117
built = true;

src/main/java/no/difi/sdp/client2/domain/fysisk_post/FysiskPostSerializer.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
/**
22
* Copyright (C) Posten Norge AS
3-
*
3+
* <p>
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
66
* You may obtain a copy of the License at
7-
*
8-
* http://www.apache.org/licenses/LICENSE-2.0
9-
*
7+
* <p>
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
* <p>
1010
* Unless required by applicable law or agreed to in writing, software
1111
* distributed under the License is distributed on an "AS IS" BASIS,
1212
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,6 +20,8 @@
2020
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
2121

2222
import java.io.IOException;
23+
import java.util.Map;
24+
import java.util.stream.Collectors;
2325

2426
public class FysiskPostSerializer extends StdSerializer<FysiskPost> {
2527
public FysiskPostSerializer() {
@@ -42,6 +44,13 @@ public void serialize(FysiskPost value, JsonGenerator gen, SerializerProvider pr
4244

4345
gen.writeEndObject();
4446

47+
Map<String, String> printinstruksjoner = value.getPrintinstruksjoner()
48+
.stream()
49+
.collect(Collectors.toMap(Printinstruksjon::getNavn, Printinstruksjon::getVerdi));
50+
51+
gen.writeObjectField("printinstruksjoner", printinstruksjoner);
52+
53+
4554
gen.writeEndObject();
4655
}
4756
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package no.difi.sdp.client2.domain.fysisk_post;
2+
3+
public class Printinstruksjon {
4+
private final String navn;
5+
private final String verdi;
6+
7+
public Printinstruksjon(String navn, String verdi) {
8+
this.navn = navn;
9+
this.verdi = verdi;
10+
}
11+
12+
public String getNavn() {
13+
return navn;
14+
}
15+
16+
public String getVerdi() {
17+
return verdi;
18+
}
19+
}

src/test/java/no/difi/sdp/client2/ObjectMother.java

+8
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import no.difi.sdp.client2.domain.MetadataDokument;
2828
import no.difi.sdp.client2.domain.Mottaker;
2929
import no.difi.sdp.client2.domain.Noekkelpar;
30+
import no.difi.sdp.client2.domain.fysisk_post.Printinstruksjon;
3031
import no.digipost.api.representations.Organisasjonsnummer;
3132
import no.difi.sdp.client2.domain.Sertifikat;
3233
import no.difi.sdp.client2.domain.digital_post.DigitalPost;
@@ -44,8 +45,11 @@
4445
import java.io.ByteArrayInputStream;
4546
import java.io.InputStream;
4647
import java.io.StringWriter;
48+
import java.lang.reflect.Array;
4749
import java.util.ArrayList;
50+
import java.util.Collections;
4851
import java.util.Date;
52+
import java.util.List;
4953
import java.util.UUID;
5054

5155

@@ -113,11 +117,15 @@ public static FysiskPost fysiskPost() {
113117
, "Oslo"
114118
).build();
115119

120+
List<Printinstruksjon> list = new ArrayList<>();
121+
list.add(new Printinstruksjon("key", "value"));
122+
list.add(new Printinstruksjon("key2", "value2"));
116123
return FysiskPost.builder()
117124
.adresse(konvoluttAdresse)
118125
.retur(Returhaandtering.DIREKTE_RETUR, konvoluttAdresse)
119126
.sendesMed(Posttype.A_PRIORITERT)
120127
.utskrift(Utskriftsfarge.FARGE)
128+
.printinstruksjoner(list)
121129
.build();
122130
}
123131

0 commit comments

Comments
 (0)