Skip to content

Commit 367830c

Browse files
authored
Task/remove moshi (#161)
* R! Fjernet bruk av moshi til fordel for jackson json bibliotek. * Mappe exception riktig. * Bruke jackson mot basen og les som strøm.
1 parent c9754cb commit 367830c

16 files changed

+47
-434
lines changed

dp-inntekt-api/build.gradle.kts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,6 @@ dependencies {
4949
implementation("io.ktor:ktor-client-apache:${libs.versions.ktor.get()}")
5050

5151
implementation(libs.bundles.jackson)
52-
53-
implementation("com.squareup.moshi:moshi:$moshiVersion")
54-
implementation("com.squareup.moshi:moshi-adapters:$moshiVersion")
55-
implementation("com.squareup.moshi:moshi-kotlin:$moshiVersion")
56-
5752
implementation("org.apache.kafka:kafka-clients:3.6.1")
5853

5954
implementation(libs.kotlin.logging)

dp-inntekt-api/src/main/kotlin/no/nav/dagpenger/inntekt/InntektApi.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package no.nav.dagpenger.inntekt
22

3+
import com.fasterxml.jackson.core.JsonParseException
4+
import com.fasterxml.jackson.databind.exc.MismatchedInputException
35
import com.natpryce.konfig.Configuration
4-
import com.squareup.moshi.JsonDataException
5-
import com.squareup.moshi.JsonEncodingException
66
import de.huxhorn.sulky.ulid.ULID
77
import io.ktor.http.ContentType
88
import io.ktor.http.HttpHeaders
@@ -143,7 +143,7 @@ internal fun Application.inntektApi(
143143
)
144144
call.respond(statusCode, error)
145145
}
146-
exception<JsonEncodingException> { call, cause ->
146+
exception<JsonParseException> { call, cause ->
147147
LOGGER.warn("Request was malformed", cause)
148148
val error =
149149
Problem(
@@ -153,7 +153,7 @@ internal fun Application.inntektApi(
153153
)
154154
call.respond(HttpStatusCode.BadRequest, error)
155155
}
156-
exception<JsonDataException> { call, cause ->
156+
exception<MismatchedInputException> { call, cause ->
157157
LOGGER.warn("Request does not match expected json", cause)
158158
val error =
159159
Problem(

dp-inntekt-api/src/main/kotlin/no/nav/dagpenger/inntekt/MoshiAdapters.kt

Lines changed: 0 additions & 99 deletions
This file was deleted.

dp-inntekt-api/src/main/kotlin/no/nav/dagpenger/inntekt/db/KronetilleggUttrekk.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import kotliquery.queryOf
44
import kotliquery.sessionOf
55
import kotliquery.using
66
import no.nav.dagpenger.events.inntekt.v1.InntektKlasse
7+
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentResponse
78
import no.nav.dagpenger.inntekt.klassifiserer.klassifiserOgMapInntekt
89
import no.nav.dagpenger.inntekt.mapping.mapToSpesifisertInntekt
910
import no.nav.dagpenger.inntekt.opptjeningsperiode.Opptjeningsperiode
11+
import no.nav.dagpenger.inntekt.serder.jacksonObjectMapper
1012
import java.time.LocalDate
1113
import javax.sql.DataSource
1214

@@ -54,7 +56,7 @@ internal class KronetilleggUttrekk(private val dataSource: DataSource) {
5456
inntekt =
5557
StoredInntekt(
5658
inntektId = InntektId(inntektId.id),
57-
inntekt = PostgresInntektStore.adapter.fromJson(it.string("inntekt"))!!,
59+
inntekt = jacksonObjectMapper.readValue(it.string("inntekt"), InntektkomponentResponse::class.java)!!,
5860
manueltRedigert = it.boolean("manuelt_redigert"),
5961
),
6062
vedtakId = it.int("kontekstid"),

dp-inntekt-api/src/main/kotlin/no/nav/dagpenger/inntekt/db/PostgresInntektStore.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package no.nav.dagpenger.inntekt.db
22

3-
import com.squareup.moshi.JsonAdapter
3+
import com.fasterxml.jackson.module.kotlin.readValue
44
import de.huxhorn.sulky.ulid.ULID
55
import io.prometheus.client.Summary
66
import kotliquery.queryOf
@@ -12,8 +12,8 @@ import no.nav.dagpenger.inntekt.HealthCheck
1212
import no.nav.dagpenger.inntekt.HealthStatus
1313
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentResponse
1414
import no.nav.dagpenger.inntekt.mapping.mapToSpesifisertInntekt
15-
import no.nav.dagpenger.inntekt.moshiInstance
1615
import no.nav.dagpenger.inntekt.opptjeningsperiode.Opptjeningsperiode
16+
import no.nav.dagpenger.inntekt.serder.jacksonObjectMapper
1717
import org.intellij.lang.annotations.Language
1818
import org.postgresql.util.PGobject
1919
import org.postgresql.util.PSQLException
@@ -24,8 +24,6 @@ import javax.sql.DataSource
2424
@Suppress("ktlint:standard:max-line-length")
2525
internal class PostgresInntektStore(private val dataSource: DataSource) : InntektStore, HealthCheck {
2626
companion object {
27-
internal val adapter: JsonAdapter<InntektkomponentResponse> =
28-
moshiInstance.adapter(InntektkomponentResponse::class.java)
2927
private val ulidGenerator = ULID()
3028
private val LOGGER = KotlinLogging.logger {}
3129
private val markerInntektTimer =
@@ -121,7 +119,7 @@ internal class PostgresInntektStore(private val dataSource: DataSource) : Inntek
121119
).map { row ->
122120
StoredInntekt(
123121
inntektId = InntektId(row.string("id")),
124-
inntekt = adapter.fromJson(row.string("inntekt"))!!,
122+
inntekt = row.binaryStream("inntekt").use { jacksonObjectMapper.readValue<InntektkomponentResponse>(it) },
125123
manueltRedigert = row.boolean("manuelt_redigert"),
126124
timestamp = row.zonedDateTime("timestamp").toLocalDateTime(),
127125
)
@@ -151,7 +149,7 @@ internal class PostgresInntektStore(private val dataSource: DataSource) : Inntek
151149
).map { row ->
152150
StoredInntekt(
153151
inntektId = InntektId(row.string("id")),
154-
inntekt = adapter.fromJson(row.string("inntekt"))!!,
152+
inntekt = row.binaryStream("inntekt").use { jacksonObjectMapper.readValue<InntektkomponentResponse>(it) },
155153
manueltRedigert = row.boolean("manuelt_redigert"),
156154
timestamp = row.zonedDateTime("timestamp").toLocalDateTime(),
157155
) to row.localDate("beregningsdato")
@@ -180,7 +178,7 @@ internal class PostgresInntektStore(private val dataSource: DataSource) : Inntek
180178
"data" to
181179
PGobject().apply {
182180
type = "jsonb"
183-
value = adapter.toJson(command.inntekt)
181+
value = jacksonObjectMapper.writeValueAsString(command.inntekt)
184182
},
185183
when (command.manueltRedigert) {
186184
null -> "manuelt" to false

0 commit comments

Comments
 (0)