Skip to content

Commit

Permalink
Jsonmapping støtte for bisys (#190)
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 authored Jul 31, 2024
1 parent 41afd32 commit 7489c2f
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import com.fasterxml.jackson.module.kotlin.treeToValue
import no.nav.bidrag.domene.enums.grunnlag.Grunnlagstype
import no.nav.bidrag.domene.enums.rolle.Rolletype
import no.nav.bidrag.transport.felles.commonObjectmapper
import no.nav.bidrag.transport.felles.commonObjectmapperLegacy

inline fun <reified T : List<GrunnlagInnhold>> BaseGrunnlag.innholdTilObjektListe(): T =
try {
Expand All @@ -20,6 +21,13 @@ inline fun <reified T : GrunnlagInnhold> BaseGrunnlag.innholdTilObjekt(): T =
commonObjectmapper.readValue(commonObjectmapper.writeValueAsString(innhold))
}

inline fun <reified T : GrunnlagInnhold> BaseGrunnlag.innholdTilObjektLegacy(): T =
try {
commonObjectmapperLegacy.treeToValue(innhold)
} catch (e: Exception) {
commonObjectmapperLegacy.readValue(commonObjectmapperLegacy.writeValueAsString(innhold))
}

inline fun <reified T : GrunnlagInnhold> List<BaseGrunnlag>.innholdTilObjekt(): List<T> = map(BaseGrunnlag::innholdTilObjekt)

inline fun <reified T : List<GrunnlagInnhold>> List<BaseGrunnlag>.innholdTilObjektListe(): List<T> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import no.nav.bidrag.domene.enums.vedtak.Stønadstype
import no.nav.bidrag.domene.tid.Datoperiode
import no.nav.bidrag.transport.behandling.felles.grunnlag.VirkningstidspunktGrunnlag
import no.nav.bidrag.transport.behandling.felles.grunnlag.filtrerBasertPåEgenReferanse
import no.nav.bidrag.transport.behandling.felles.grunnlag.innholdTilObjekt
import no.nav.bidrag.transport.behandling.felles.grunnlag.innholdTilObjektLegacy
import java.time.YearMonth

val VedtakDto.saksnummer get() = stønadsendringListe.firstOrNull()?.sak?.verdi ?: engangsbeløpListe.firstOrNull()?.sak?.verdi
Expand Down Expand Up @@ -39,7 +39,7 @@ val VedtakDto.virkningstidspunkt get() =
.filtrerBasertPåEgenReferanse(
Grunnlagstype.VIRKNINGSTIDSPUNKT,
).firstOrNull()
?.innholdTilObjekt<VirkningstidspunktGrunnlag>()
?.innholdTilObjektLegacy<VirkningstidspunktGrunnlag>()
?.virkningstidspunkt

val VedtakDto.særbidragsperiode get() =
Expand All @@ -60,7 +60,7 @@ val VedtakDto.erDirekteAvslag get(): Boolean {
.filtrerBasertPåEgenReferanse(
Grunnlagstype.VIRKNINGSTIDSPUNKT,
).firstOrNull()
?.innholdTilObjekt<VirkningstidspunktGrunnlag>()
?.innholdTilObjektLegacy<VirkningstidspunktGrunnlag>()
return virkningstidspunkt?.avslag != null ||
engangsbeløpListe
.firstOrNull()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
package no.nav.bidrag.transport.felles

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.json.JsonMapper

val commonObjectmapper =
JsonMapper.builder()
JsonMapper
.builder()
.findAndAddModules()
.configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.build()

// Bisys bruker eldre versjon av jackson og støtter derfor ikke JsonMapper
val commonObjectmapperLegacy =
ObjectMapper()
.findAndRegisterModules()
.configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)

0 comments on commit 7489c2f

Please sign in to comment.