Skip to content

Commit

Permalink
Refaktorer, samler typer relatert til Steg
Browse files Browse the repository at this point in the history
  • Loading branch information
matiasvinjevoll committed Oct 4, 2024
1 parent 64a54cd commit da1be17
Show file tree
Hide file tree
Showing 11 changed files with 45 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import no.nav.aap.brev.prosessering.steg.HentInnholdSteg
import no.nav.aap.brev.prosessering.steg.JournalførBrevSteg
import no.nav.aap.brev.prosessering.steg.StarterSteg
import no.nav.aap.brev.prosessering.steg.Steg
import no.nav.aap.brev.prosessering.steg.StegResultat
import no.nav.aap.brev.prosessering.steg.StegUtfører
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

Expand All @@ -36,17 +34,17 @@ class ProsesserStegService(

val bestilling = brevbestillingRepository.hent(referanse)

prosesserTilStop(
kontekst = StegUtfører.Kontekst(referanse),
prosesserTilStopp(
kontekst = Steg.Kontekst(referanse),
stegene = flyt.fraStatus(bestilling.prosesseringStatus),
)
}

private fun prosesserTilStop(kontekst: StegUtfører.Kontekst, stegene: List<Steg>) {
private fun prosesserTilStopp(kontekst: Steg.Kontekst, stegene: List<Steg>) {
stegene.forEach { steg ->
val stegResultat = steg.konstruer(connection).utfør(kontekst)

if (stegResultat == StegResultat.STOPP) {
if (stegResultat == Steg.Resultat.STOPP) {
return
}

Expand All @@ -55,7 +53,6 @@ class ProsesserStegService(
connection.markerSavepoint()
}
}

}

class ProsesseringFlyt private constructor(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class DistribuerJournalpostSteg() : StegUtfører {
class DistribuerJournalpostSteg() : Steg.Utfører {
private val log = LoggerFactory.getLogger(DistribuerJournalpostSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("DistribuerJournalpostSteg")
return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return DistribuerJournalpostSteg()
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class FerdigSteg() : StegUtfører {
class FerdigSteg() : Steg.Utfører {
private val log = LoggerFactory.getLogger(FerdigSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("Prosessering er ferdig.")
return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return FerdigSteg()
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class FerdigstillBrevSteg() : StegUtfører {
class FerdigstillBrevSteg() : Steg.Utfører {
private val log = LoggerFactory.getLogger(FerdigstillBrevSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("FerdigstillBrevSteg")
return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return FerdigstillBrevSteg()
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class HentFaktagrunnlagSteg() : StegUtfører {
class HentFaktagrunnlagSteg() : Steg.Utfører {
private val log = LoggerFactory.getLogger(HentFaktagrunnlagSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("HentFaktagrunnlagSteg")
return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return HentFaktagrunnlagSteg()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,27 @@ import no.nav.aap.brev.BrevbestillingRepository
import no.nav.aap.brev.BrevbestillingRepositoryImpl
import no.nav.aap.brev.innhold.BrevinnholdGateway
import no.nav.aap.brev.innhold.SanityBrevinnholdGateway
import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class HentInnholdSteg(
private val brevinnholdGateway: BrevinnholdGateway,
private val brevbestillingRepository: BrevbestillingRepository
) : StegUtfører {
) : Steg.Utfører {
private val log = LoggerFactory.getLogger(HentInnholdSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("Henter brevinnhold for bestillingsreferanse=${kontekst.referanse}")

val bestilling = brevbestillingRepository.hent(kontekst.referanse)
val brev = brevinnholdGateway.hentBrevmal(bestilling.brevtype, bestilling.språk)

brevbestillingRepository.oppdaterBrev(bestilling.referanse, brev)

return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return HentInnholdSteg(
brevinnholdGateway = SanityBrevinnholdGateway(),
brevbestillingRepository = BrevbestillingRepositoryImpl(connection),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class JournalførBrevSteg() : StegUtfører {
class JournalførBrevSteg() : Steg.Utfører {
private val log = LoggerFactory.getLogger(JournalførBrevSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("JournalførBrevSteg")
return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return JournalførBrevSteg()
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.prosessering.steg.StegUtfører.Kontekst
import no.nav.aap.komponenter.dbconnect.DBConnection
import org.slf4j.LoggerFactory

class StarterSteg() : StegUtfører {
class StarterSteg() : Steg.Utfører {
private val log = LoggerFactory.getLogger(StarterSteg::class.java)
override fun utfør(kontekst: Kontekst): StegResultat {
override fun utfør(kontekst: Steg.Kontekst): Steg.Resultat {
log.info("Prosessering har startet.")
return StegResultat.FULLFØRT
return Steg.Resultat.FULLFØRT
}

companion object : Steg {
override fun konstruer(connection: DBConnection): StegUtfører {
override fun konstruer(connection: DBConnection): Steg.Utfører {
return StarterSteg()
}
}
Expand Down
14 changes: 13 additions & 1 deletion app/src/main/kotlin/no/nav/aap/brev/prosessering/steg/Steg.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
package no.nav.aap.brev.prosessering.steg

import no.nav.aap.brev.domene.BrevbestillingReferanse
import no.nav.aap.komponenter.dbconnect.DBConnection

sealed interface Steg {
fun konstruer(connection: DBConnection): StegUtfører

fun konstruer(connection: DBConnection): Utfører

sealed interface Utfører {
fun utfør(kontekst: Kontekst): Resultat
}

data class Kontekst(val referanse: BrevbestillingReferanse)

enum class Resultat {
FULLFØRT, STOPP
}
}

This file was deleted.

This file was deleted.

0 comments on commit da1be17

Please sign in to comment.