Skip to content

Commit

Permalink
Fix: KodeverkDeserialiserer som både håndterer object og string
Browse files Browse the repository at this point in the history
  • Loading branch information
baskevold committed Feb 12, 2024
1 parent 4a6ab19 commit 9499416
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,10 @@ data class BehandlingProsessEventDto(
val aksjonspunktTilstander: List<AksjonspunktTilstandDto> = emptyList(),
val nyeKrav: Boolean? = null,
val fraEndringsdialog: Boolean? = null,

@JsonDeserialize(using = KodeverkDeserializer::class)
val søknadsårsaker : List<String> = emptyList(),
@JsonDeserialize(using = KodeverkDeserializer::class)
val behandlingsårsaker: List<String> = emptyList()
) {

Expand All @@ -118,7 +121,8 @@ data class BehandlingProsessEventDto(
fagsakPeriode=$fagsakPeriode,
aksjonspunktTilstander=$aksjonspunktTilstander,
nyeKrav=$nyeKrav
fraEndringsdialog=$fraEndringsdialog
fraEndringsdialog=$fraEndringsdialog,
søknadsårsaker=$søknadsårsaker
)"""
.trimMargin()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package no.nav.k9.los.integrasjon.kafka.dto

import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.DeserializationContext
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.deser.std.StdDeserializer
import com.fasterxml.jackson.databind.node.JsonNodeType
import java.io.IOException

class KodeverkDeserializer : StdDeserializer<List<String>>(KodeverkDeserializer::class.java) {

@Throws(IOException::class)
override fun deserialize(p: JsonParser, ctxt: DeserializationContext): List<String> {
val oc = p.codec
val node = oc.readTree<JsonNode>(p)

if (node.isNull) return emptyList()

return if (node.nodeType == JsonNodeType.ARRAY) {
node.map { element ->
parseElement(element)
}
} else {
listOf(parseElement(node))
}
}

fun parseElement(node: JsonNode): String {
if (node.nodeType == JsonNodeType.OBJECT) {
return node["kode"].asText()
}
return node.asText()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ import no.nav.k9.kodeverk.behandling.BehandlingStatus
import no.nav.k9.kodeverk.behandling.BehandlingÅrsakType
import no.nav.k9.kodeverk.behandling.FagsakYtelseType
import no.nav.k9.kodeverk.behandling.aksjonspunkt.*
import no.nav.k9.kodeverk.produksjonsstyring.UtvidetSøknadÅrsak
import no.nav.k9.kodeverk.uttak.SøknadÅrsak
import no.nav.k9.los.integrasjon.kafka.dto.BehandlingProsessEventDto
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveDto
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveFeltverdiDto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.k9.los.tjenester.saksbehandler.saksliste

import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.locations.*
import io.ktor.server.response.*
Expand All @@ -9,8 +8,6 @@ import no.nav.k9.los.domene.modell.OppgaveKø
import no.nav.k9.los.domene.repository.OppgaveKøRepository
import no.nav.k9.los.integrasjon.abac.IPepClient
import no.nav.k9.los.integrasjon.rest.RequestContextService
import no.nav.k9.los.integrasjon.rest.idToken
import no.nav.k9.los.nyoppgavestyring.ko.OppgaveKoTjeneste
import org.koin.ktor.ext.inject
import java.util.*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ class K9sakEventHandlerTest : AbstractK9LosIntegrationTest() {
"ansvarligBeslutterForTotrinn": null,
"ansvarligSaksbehandlerForTotrinn": null,
"ytelseTypeKode": "OMP",
"søknadsårsaker": [
{
"kode": "KONFLIKT_MED_ARBEIDSGIVER",
"navn": "Konflikt med arbeidsgiver"
}],
"behandlingTypeKode": "BT-002",
"opprettetBehandling": "2020-03-31T06:33:48",
"aksjonspunktKoderMedStatusListe": {}
Expand Down Expand Up @@ -96,6 +101,7 @@ class K9sakEventHandlerTest : AbstractK9LosIntegrationTest() {
"ytelseTypeKode": "PSB",
"behandlingTypeKode": "BT-002",
"opprettetBehandling": "2020-02-20T07:38:49",
"søknadsårsaker": ["KONFLIKT_MED_ARBEIDSGIVER"],
"aksjonspunktKoderMedStatusListe": {
"7030": "OPPR"
}
Expand Down

0 comments on commit 9499416

Please sign in to comment.