1
1
package no.nav.hjelpemidler
2
2
3
- import com.beust.klaxon.Json
4
- import com.beust.klaxon.Klaxon
3
+ import com.fasterxml.jackson.databind.ObjectMapper
4
+ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
5
+ import com.fasterxml.jackson.module.kotlin.readValue
5
6
import io.ktor.application.call
6
7
import io.ktor.http.HttpStatusCode
7
8
import io.ktor.request.header
@@ -15,14 +16,19 @@ import no.nav.helse.rapids_rivers.RapidApplication
15
16
import no.nav.helse.rapids_rivers.RapidsConnection
16
17
import no.nav.hjelpemidler.configuration.Configuration
17
18
import no.nav.hjelpemidler.metrics.SensuMetrics
19
+ import no.nav.hjelpemidler.model.Statusinfo
18
20
import java.net.InetAddress
19
21
import java.time.LocalDateTime
20
22
import java.util.UUID
21
23
22
24
private val logg = KotlinLogging .logger {}
23
25
private val sikkerlogg = KotlinLogging .logger(" tjenestekall" )
26
+ private val mapper = ObjectMapper ().registerModule(JavaTimeModule ())
24
27
28
+ // Unngå "inappropriate blocking method call" for objectmapper.writeValueAsString
29
+ @Suppress(" BlockingMethodInNonBlockingContext" )
25
30
fun main () {
31
+
26
32
var rapidApp: RapidsConnection ? = null
27
33
rapidApp = RapidApplication .Builder (
28
34
RapidApplication .RapidApplicationConfig (
@@ -65,8 +71,8 @@ fun main() {
65
71
// Check for valid json request
66
72
val ordrelinje: Statusinfo ?
67
73
try {
68
- ordrelinje = Klaxon ().parse< Statusinfo > (rawJson)
69
- sikkerlogg.info(" Parsing incoming json request successful: ${Klaxon ().toJsonString (ordrelinje)} " )
74
+ ordrelinje = mapper.readValue (rawJson)
75
+ sikkerlogg.info(" Parsing incoming json request successful: ${mapper.writeValueAsString (ordrelinje)} " )
70
76
SensuMetrics ().meldingFraOebs()
71
77
} catch (e: Exception ) {
72
78
// Deal with invalid json in request
@@ -101,7 +107,7 @@ fun main() {
101
107
102
108
// Publish the received json to our rapid
103
109
try {
104
- rapidApp!! .publish(ordrelinje.fnrBruker, Klaxon ().toJsonString (melding))
110
+ rapidApp!! .publish(ordrelinje.fnrBruker, mapper.writeValueAsString (melding))
105
111
SensuMetrics ().meldingTilRapidSuksess()
106
112
} catch (e: Exception ) {
107
113
SensuMetrics ().meldingTilRapidFeilet()
@@ -128,44 +134,3 @@ data class Message(
128
134
val fnrBruker : String ,
129
135
val data : Statusinfo ,
130
136
)
131
-
132
- data class Statusinfo (
133
- @Json(name = " System" )
134
- val mottakendeSystem : String ,
135
- @Json(name = " IncidentNummer" )
136
- val serviceforespørsel : Int ,
137
- @Json(name = " IncidentStatus" )
138
- val serviceforespørselstatus : String ,
139
- @Json(name = " IncidentType" )
140
- val serviceforespørseltype : String ,
141
- @Json(name = " IncidentSoknadType" )
142
- val søknadstype : String ,
143
- @Json(name = " IncidentVedtakDato" )
144
- val vedtaksdato : String ,
145
- @Json(name = " IncidentSoknad" )
146
- val søknad : String ,
147
- @Json(name = " IncidentResultat" )
148
- val resultat : String ,
149
- @Json(name = " IncidentRef" )
150
- val saksblokkOgSaksnummer : String ,
151
- @Json(name = " OrdreNumber" )
152
- val ordrenummer : Int ,
153
- @Json(name = " LineNumber" )
154
- val ordrelinjenummer : Int ,
155
- @Json(name = " ShipmentNumber" )
156
- val delordrelinjenummer : Int ,
157
- @Json(name = " Description" )
158
- val artikkelbeskrivelse : String ,
159
- @Json(name = " CategoryDescription" )
160
- val produktgruppe : String ,
161
- @Json(name = " OrderedItem" )
162
- val artikkel : Int ,
163
- @Json(name = " User_ItemType" )
164
- val hjelpemiddeltype : String ,
165
- @Json(name = " Quantity" )
166
- val antall : Int ,
167
- @Json(name = " AccountNumber" )
168
- val fnrBruker : String ,
169
- @Json(name = " LastUpdateDate" )
170
- val sistOppdatert : String ,
171
- )
0 commit comments