88import no .nav .dolly .mapper .MappingStrategy ;
99import org .springframework .stereotype .Component ;
1010
11+ import static org .apache .commons .lang3 .StringUtils .isBlank ;
12+
1113@ Component
1214public class InstdataKdiMappingStrategy implements MappingStrategy {
1315
1416 private static final String IDENT = "ident" ;
15- private static final String MILJOE = "miljoe " ;
17+ private static final String INNMELDELSE_HENDELSE_ID = "innmeldelse_hendelse_id " ;
1618
1719 @ Override
1820 public void register (MapperFactory factory ) {
@@ -21,15 +23,22 @@ public void register(MapperFactory factory) {
2123 @ Override
2224 public void mapAtoB (RsInstdataKdi kilde , InstdataKdiDTO dest , MappingContext context ) {
2325
24- var miljoe = (String ) context .getProperty (MILJOE );
26+ var miljoe = (String ) context .getProperty ("miljoe" );
2527 dest .setEnvironment (miljoe );
26-
27- dest .getData ().setInnsettelse (mapperFacade .mapAsList (kilde .getData ().getInnsettelse (), InstdataKdiDTO .Innsettelse .class , context ));
28- dest .getData ().setAvbruddStart (mapperFacade .mapAsList (kilde .getData ().getAvbruddStart (), InstdataKdiDTO .AvbruddStart .class , context ));
29- dest .getData ().setAvbruddSlutt (mapperFacade .mapAsList (kilde .getData ().getAvbruddSlutt (), InstdataKdiDTO .AvbruddSlutt .class , context ));
30- dest .getData ().setForventetLoeslatelse (mapperFacade .mapAsList (kilde .getData ().getForventetLoeslatelse (), InstdataKdiDTO .ForventetLoeslatelse .class , context ));
31- dest .getData ().setLoeslatelse (mapperFacade .mapAsList (kilde .getData ().getForventetLoeslatelse (), InstdataKdiDTO .Loeslatelse .class , context ));
32- dest .getData ().setAnnullering (mapperFacade .mapAsList (kilde .getData ().getAnnullering (), InstdataKdiDTO .Annullering .class , context ));
28+ dest .setData (new InstdataKdiDTO .Data ());
29+
30+ var innmeldingHendelseId = kilde .getInnsettelse ().stream ()
31+ .map (RsInstdataKdi .Hendelse ::getHendelseId )
32+ .max (String ::compareTo )
33+ .orElse (null );
34+ context .setProperty (INNMELDELSE_HENDELSE_ID , innmeldingHendelseId );
35+
36+ dest .getData ().setInnsettelse (mapperFacade .mapAsList (kilde .getInnsettelse (), InstdataKdiDTO .Innsettelse .class , context ));
37+ dest .getData ().setAvbruddStart (mapperFacade .mapAsList (kilde .getAvbruddStart (), InstdataKdiDTO .AvbruddStart .class , context ));
38+ dest .getData ().setAvbruddSlutt (mapperFacade .mapAsList (kilde .getAvbruddSlutt (), InstdataKdiDTO .AvbruddSlutt .class , context ));
39+ dest .getData ().setForventetLoeslatelse (mapperFacade .mapAsList (kilde .getForventetLoeslatelse (), InstdataKdiDTO .ForventetLoeslatelse .class , context ));
40+ dest .getData ().setLoeslatelse (mapperFacade .mapAsList (kilde .getForventetLoeslatelse (), InstdataKdiDTO .Loeslatelse .class , context ));
41+ dest .getData ().setAnnullering (mapperFacade .mapAsList (kilde .getAnnullering (), InstdataKdiDTO .Annullering .class , context ));
3342 }
3443 })
3544 .register ();
@@ -40,10 +49,6 @@ public void mapAtoB(RsInstdataKdi kilde, InstdataKdiDTO dest, MappingContext con
4049 public void mapAtoB (RsInstdataKdi .Innsettelse kilde , InstdataKdiDTO .Innsettelse dest , MappingContext context ) {
4150
4251 dest .setNorskident ((String ) context .getProperty (IDENT ));
43-
44- var miljoe = (String ) context .getProperty (MILJOE );
45- dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
46- dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
4752 }
4853 })
4954 .byDefault ()
@@ -55,10 +60,6 @@ public void mapAtoB(RsInstdataKdi.Innsettelse kilde, InstdataKdiDTO.Innsettelse
5560 public void mapAtoB (RsInstdataKdi .AvbruddStart kilde , InstdataKdiDTO .AvbruddStart dest , MappingContext context ) {
5661
5762 dest .setNorskident ((String ) context .getProperty (IDENT ));
58-
59- var miljoe = (String ) context .getProperty (MILJOE );
60- dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
61- dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
6263 }
6364 })
6465 .byDefault ()
@@ -70,10 +71,6 @@ public void mapAtoB(RsInstdataKdi.AvbruddStart kilde, InstdataKdiDTO.AvbruddStar
7071 public void mapAtoB (RsInstdataKdi .AvbruddSlutt kilde , InstdataKdiDTO .AvbruddSlutt dest , MappingContext context ) {
7172
7273 dest .setNorskident ((String ) context .getProperty (IDENT ));
73-
74- var miljoe = (String ) context .getProperty (MILJOE );
75- dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
76- dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
7774 }
7875 })
7976 .byDefault ()
@@ -85,10 +82,9 @@ public void mapAtoB(RsInstdataKdi.AvbruddSlutt kilde, InstdataKdiDTO.AvbruddSlut
8582 public void mapAtoB (RsInstdataKdi .ForventetLoeslatelse kilde , InstdataKdiDTO .ForventetLoeslatelse dest , MappingContext context ) {
8683
8784 dest .setNorskident ((String ) context .getProperty (IDENT ));
88-
89- var miljoe = (String ) context .getProperty (MILJOE );
90- dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
91- dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
85+ if (isBlank (kilde .getInnmeldingHendelseId ())) {
86+ dest .setInnmeldingHendelseId ((String ) context .getProperty (INNMELDELSE_HENDELSE_ID ));
87+ }
9288 }
9389 })
9490 .byDefault ()
@@ -100,10 +96,6 @@ public void mapAtoB(RsInstdataKdi.ForventetLoeslatelse kilde, InstdataKdiDTO.For
10096 public void mapAtoB (RsInstdataKdi .Loeslatelse kilde , InstdataKdiDTO .Loeslatelse dest , MappingContext context ) {
10197
10298 dest .setNorskident ((String ) context .getProperty (IDENT ));
103-
104- var miljoe = (String ) context .getProperty (MILJOE );
105- dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
106- dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
10799 }
108100 })
109101 .byDefault ()
@@ -115,10 +107,6 @@ public void mapAtoB(RsInstdataKdi.Loeslatelse kilde, InstdataKdiDTO.Loeslatelse
115107 public void mapAtoB (RsInstdataKdi .Annullering kilde , InstdataKdiDTO .Annullering dest , MappingContext context ) {
116108
117109 dest .setNorskident ((String ) context .getProperty (IDENT ));
118-
119- var miljoe = (String ) context .getProperty (MILJOE );
120- dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
121- dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
122110 }
123111 })
124112 .byDefault ()
0 commit comments