@@ -14,7 +14,7 @@ class Behovsakkumulator(rapidsConnection: RapidsConnection) : River.PacketListen
14
14
private val log = LoggerFactory .getLogger(this ::class .java)
15
15
private val sikkerLog = LoggerFactory .getLogger(" tjenestekall" )
16
16
17
- private val behovUtenLøsning = mutableMapOf<String , Pair < MessageContext , JsonMessage > >()
17
+ private val behovUtenLøsning = mutableMapOf<String , JsonMessage >()
18
18
19
19
init {
20
20
River (rapidsConnection).apply {
@@ -39,14 +39,14 @@ class Behovsakkumulator(rapidsConnection: RapidsConnection) : River.PacketListen
39
39
loggBehov(sikkerLog, packet)
40
40
41
41
val id = packet.behovId()
42
- val resultat = behovUtenLøsning[id]?.let { context to it.second. kombinerLøsninger(packet) } ? : (context to packet)
43
-
44
- if (resultat.second. erKomplett()) {
45
- resultat.second [" @final" ] = true
46
- resultat.second [" @besvart" ] = LocalDateTime .now().toString()
47
- loggLøstBehov(log, resultat.second )
48
- loggLøstBehov(sikkerLog, resultat.second )
49
- resultat.first. publish(resultat.second .toJson())
42
+ val resultat = behovUtenLøsning[id]?.kombinerLøsninger(packet) ? : packet
43
+
44
+ if (resultat.erKomplett()) {
45
+ resultat[" @final" ] = true
46
+ resultat[" @besvart" ] = LocalDateTime .now().toString()
47
+ loggLøstBehov(log, resultat)
48
+ loggLøstBehov(sikkerLog, resultat)
49
+ context. publish(resultat.toJson())
50
50
behovUtenLøsning.remove(id)
51
51
} else {
52
52
fjernGamleBehovUtenSvar(context)
@@ -57,27 +57,27 @@ class Behovsakkumulator(rapidsConnection: RapidsConnection) : River.PacketListen
57
57
private fun fjernGamleBehovUtenSvar (context : MessageContext ) {
58
58
val grense = LocalDateTime .now().minusMinutes(30 )
59
59
behovUtenLøsning
60
- .filterValues { (_, packet) -> packet[" @opprettet" ].asLocalDateTime().isBefore(grense) }
61
- .forEach { (key, value ) ->
62
- val forventninger = value.second [" @behov" ].map(JsonNode ::asText)
63
- val løsninger = value.second [" @løsning" ].feltnavn()
60
+ .filterValues { packet -> packet[" @opprettet" ].asLocalDateTime().isBefore(grense) }
61
+ .forEach { (key, packet ) ->
62
+ val forventninger = packet [" @behov" ].map(JsonNode ::asText)
63
+ val løsninger = packet [" @løsning" ].feltnavn()
64
64
val mangler = forventninger.filter { it !in løsninger }
65
65
66
- loggFjerneGammeltBehov(log, value.second , mangler)
67
- loggFjerneGammeltBehov(sikkerLog, value.second , mangler)
66
+ loggFjerneGammeltBehov(log, packet , mangler)
67
+ loggFjerneGammeltBehov(sikkerLog, packet , mangler)
68
68
behovUtenLøsning.remove(key)
69
69
70
- val behovId = value.second .behovId()
70
+ val behovId = packet .behovId()
71
71
context.publish(behovId, JsonMessage .newMessage(mapOf (
72
72
" @event_name" to " behov_uten_fullstendig_løsning" ,
73
73
" @id" to UUID .randomUUID(),
74
74
" @opprettet" to LocalDateTime .now(),
75
75
" behov_id" to behovId,
76
- " behov_opprettet" to value.second [" @opprettet" ].asLocalDateTime(),
76
+ " behov_opprettet" to packet [" @opprettet" ].asLocalDateTime(),
77
77
" forventet" to forventninger,
78
78
" løsninger" to løsninger,
79
79
" mangler" to mangler,
80
- " ufullstendig_behov" to value.second .toJson()
80
+ " ufullstendig_behov" to packet .toJson()
81
81
)).toJson().also {
82
82
sikkerLog.info(" sender event=behov_uten_fullstendig_løsning:\n\t $it " )
83
83
})
0 commit comments