44import ma .glasnost .orika .MapperFactory ;
55import ma .glasnost .orika .MappingContext ;
66import no .nav .dolly .bestilling .instdata .domain .InstdataKdiDTO ;
7- import no .nav .dolly .bestilling .instdata .domain .InstdataKdiResponse ;
87import no .nav .dolly .domain .resultset .inst .RsInstdataKdi ;
98import no .nav .dolly .mapper .MappingStrategy ;
109import org .springframework .stereotype .Component ;
1110
12- import java .time .LocalDateTime ;
13- import java .util .Collection ;
14- import java .util .List ;
15- import java .util .stream .Stream ;
16-
1711@ Component
1812public class InstdataKdiMappingStrategy implements MappingStrategy {
1913
2014 private static final String IDENT = "ident" ;
21- private static final String TIMESTAMP = "timestamp " ;
15+ private static final String MILJOE = "miljoe " ;
2216
2317 @ Override
2418 public void register (MapperFactory factory ) {
@@ -27,25 +21,9 @@ public void register(MapperFactory factory) {
2721 @ Override
2822 public void mapAtoB (RsInstdataKdi kilde , InstdataKdiDTO dest , MappingContext context ) {
2923
30- var instdataKdiResponse = (InstdataKdiResponse ) context .getProperty ("instKdiData" );
31-
32- var kdidata = instdataKdiResponse .getInstdataKdi ().getData ();
33- var maksId = Stream .of (List .of (kdidata .getInnsettelse (),
34- kdidata .getAvbruddStart (),
35- kdidata .getAvbruddSlutt (),
36- kdidata .getLoeslatelse (),
37- kdidata .getForventetLoeslatelse ()))
38- .flatMap (Collection ::stream )
39- .flatMap (Collection ::stream )
40- .map (InstdataKdiDTO .Hendelse ::getHendelseId )
41- .max (String ::compareTo )
42- .orElse ("0" );
43-
44- context .setProperty ("maksId" , maksId );
45- context .setProperty (IDENT , instdataKdiResponse .getIdent ());
46- context .setProperty (TIMESTAMP , LocalDateTime .now ());
47-
48- dest .setEnvironment (instdataKdiResponse .getEnvironment ());
24+ var miljoe = (String ) context .getProperty (MILJOE );
25+ dest .setEnvironment (miljoe );
26+
4927 dest .getData ().setInnsettelse (mapperFacade .mapAsList (kilde .getData ().getInnsettelse (), InstdataKdiDTO .Innsettelse .class , context ));
5028 dest .getData ().setAvbruddStart (mapperFacade .mapAsList (kilde .getData ().getAvbruddStart (), InstdataKdiDTO .AvbruddStart .class , context ));
5129 dest .getData ().setAvbruddSlutt (mapperFacade .mapAsList (kilde .getData ().getAvbruddSlutt (), InstdataKdiDTO .AvbruddSlutt .class , context ));
@@ -62,7 +40,10 @@ public void mapAtoB(RsInstdataKdi kilde, InstdataKdiDTO dest, MappingContext con
6240 public void mapAtoB (RsInstdataKdi .Innsettelse kilde , InstdataKdiDTO .Innsettelse dest , MappingContext context ) {
6341
6442 dest .setNorskident ((String ) context .getProperty (IDENT ));
65- dest .setPubliseringstidspunkt ((LocalDateTime ) context .getProperty (TIMESTAMP ));
43+
44+ var miljoe = (String ) context .getProperty (MILJOE );
45+ dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
46+ dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
6647 }
6748 })
6849 .byDefault ()
@@ -74,7 +55,10 @@ public void mapAtoB(RsInstdataKdi.Innsettelse kilde, InstdataKdiDTO.Innsettelse
7455 public void mapAtoB (RsInstdataKdi .AvbruddStart kilde , InstdataKdiDTO .AvbruddStart dest , MappingContext context ) {
7556
7657 dest .setNorskident ((String ) context .getProperty (IDENT ));
77- dest .setPubliseringstidspunkt ((LocalDateTime ) context .getProperty (TIMESTAMP ));
58+
59+ var miljoe = (String ) context .getProperty (MILJOE );
60+ dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
61+ dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
7862 }
7963 })
8064 .byDefault ()
@@ -86,7 +70,10 @@ public void mapAtoB(RsInstdataKdi.AvbruddStart kilde, InstdataKdiDTO.AvbruddStar
8670 public void mapAtoB (RsInstdataKdi .AvbruddSlutt kilde , InstdataKdiDTO .AvbruddSlutt dest , MappingContext context ) {
8771
8872 dest .setNorskident ((String ) context .getProperty (IDENT ));
89- dest .setPubliseringstidspunkt ((LocalDateTime ) context .getProperty (TIMESTAMP ));
73+
74+ var miljoe = (String ) context .getProperty (MILJOE );
75+ dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
76+ dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
9077 }
9178 })
9279 .byDefault ()
@@ -98,7 +85,10 @@ public void mapAtoB(RsInstdataKdi.AvbruddSlutt kilde, InstdataKdiDTO.AvbruddSlut
9885 public void mapAtoB (RsInstdataKdi .ForventetLoeslatelse kilde , InstdataKdiDTO .ForventetLoeslatelse dest , MappingContext context ) {
9986
10087 dest .setNorskident ((String ) context .getProperty (IDENT ));
101- dest .setPubliseringstidspunkt ((LocalDateTime ) context .getProperty (TIMESTAMP ));
88+
89+ var miljoe = (String ) context .getProperty (MILJOE );
90+ dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
91+ dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
10292 }
10393 })
10494 .byDefault ()
@@ -110,7 +100,10 @@ public void mapAtoB(RsInstdataKdi.ForventetLoeslatelse kilde, InstdataKdiDTO.For
110100 public void mapAtoB (RsInstdataKdi .Loeslatelse kilde , InstdataKdiDTO .Loeslatelse dest , MappingContext context ) {
111101
112102 dest .setNorskident ((String ) context .getProperty (IDENT ));
113- dest .setPubliseringstidspunkt ((LocalDateTime ) context .getProperty (TIMESTAMP ));
103+
104+ var miljoe = (String ) context .getProperty (MILJOE );
105+ dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
106+ dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
114107 }
115108 })
116109 .byDefault ()
@@ -122,33 +115,13 @@ public void mapAtoB(RsInstdataKdi.Loeslatelse kilde, InstdataKdiDTO.Loeslatelse
122115 public void mapAtoB (RsInstdataKdi .Annullering kilde , InstdataKdiDTO .Annullering dest , MappingContext context ) {
123116
124117 dest .setNorskident ((String ) context .getProperty (IDENT ));
125- dest .setPubliseringstidspunkt ((LocalDateTime ) context .getProperty (TIMESTAMP ));
118+
119+ var miljoe = (String ) context .getProperty (MILJOE );
120+ dest .setHendelseId (kilde .getVersion ().get (miljoe ).getHendelseId ());
121+ dest .setPubliseringstidspunkt (kilde .getVersion ().get (miljoe ).getPubliseringstidspunkt ());
126122 }
127123 })
128124 .byDefault ()
129125 .register ();
130126 }
131-
132- private static Long getBestillingId (String maksId , Long bestillingId ) {
133-
134- return maksId .length () == 30 ? Long .parseLong (maksId .substring (2 , 21 )) : bestillingId ;
135- }
136-
137- private static Long getLoepenummer (String maksId ) {
138-
139- return maksId .length () == 30 ? Long .parseLong (maksId .substring (20 )) : 0L ;
140- }
141-
142- private static String getMaxHendelseId (List <InstdataKdiDTO .Hendelse > response ) {
143-
144- return response .stream ()
145- .map (InstdataKdiDTO .Hendelse ::getHendelseId )
146- .max (String ::compareTo )
147- .orElse ("0" );
148- }
149-
150- private static String makeHendelseId (Long bestillingId , Integer eksisterendeLoepenr , Integer offsetLoepenr ) {
151-
152- return "0x%0d18%0d10" .formatted (bestillingId , eksisterendeLoepenr + offsetLoepenr );
153- }
154- }
127+ }
0 commit comments