Skip to content

Commit 0495d19

Browse files
authored
Merge pull request #3040 from Opetushallitus/eperuste-validation-logging
TOR-2205: Lisää flägi ja lokitus ammatillisten E-peruste laajuusvalidaatiolle
2 parents cc9c80e + 397ad83 commit 0495d19

File tree

8 files changed

+27
-9
lines changed

8 files changed

+27
-9
lines changed

src/main/resources/reference.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,7 @@ validaatiot = {
236236
perusopetukseenValmistavaOpetusKokonaislaajuusYksikköTunneissaAlkaa = "2024-01-01"
237237
jotpaAsianumeroVaatimusAlkaa = "2024-01-01"
238238
ohitaValidaatiovirheetKäyttäjällä = []
239+
ammatillinenEPerusteValidaatio = true
239240
}
240241

241242
elaketurvakeskus = {

src/main/scala/fi/oph/koski/config/KoskiApplication.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class KoskiApplication(
102102
lazy val ytrHistoryRepository = YtrOpiskeluoikeusHistoryRepository(masterDatabase.db)
103103
lazy val virta = TimedProxy[AuxiliaryOpiskeluoikeusRepository](VirtaOpiskeluoikeusRepository(virtaClient, oppilaitosRepository, koodistoViitePalvelu, organisaatioRepository, virtaAccessChecker, Some(validator)))
104104
lazy val henkilöCache = new KoskiHenkilöCache(masterDatabase.db)
105-
lazy val ePerusteetValidator = new EPerusteisiinPerustuvaValidator(ePerusteet, tutkintoRepository, koodistoViitePalvelu)
105+
lazy val ePerusteetValidator = new EPerusteisiinPerustuvaValidator(ePerusteet, tutkintoRepository, koodistoViitePalvelu, config)
106106
lazy val ePerusteetChangeValidator = new EPerusteetOpiskeluoikeusChangeValidator(ePerusteet, tutkintoRepository, koodistoViitePalvelu)
107107
lazy val ePerusteetFiller = new EPerusteetFiller(ePerusteet, tutkintoRepository, koodistoViitePalvelu)
108108
lazy val ePerusteetLops2019Validator = new EPerusteetLops2019Validator(config, ePerusteet)

src/main/scala/fi/oph/koski/eperusteetvalidation/EPerusteisiinPerustuvaValidator.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fi.oph.koski.eperusteetvalidation
22

3+
import com.typesafe.config.Config
34
import fi.oph.koski.eperusteet.{EPerusteRakenne, EPerusteetRepository}
45
import fi.oph.koski.http.{HttpStatus, KoskiErrorCategory}
56
import fi.oph.koski.koodisto.KoodistoViitePalvelu
@@ -13,9 +14,10 @@ import java.time.LocalDate
1314
class EPerusteisiinPerustuvaValidator(
1415
ePerusteet: EPerusteetRepository,
1516
tutkintoRepository: TutkintoRepository,
16-
koodistoViitePalvelu: KoodistoViitePalvelu
17+
koodistoViitePalvelu: KoodistoViitePalvelu,
18+
config: Config
1719
) extends EPerusteetValidationUtils(tutkintoRepository, koodistoViitePalvelu) with Logging {
18-
private val tutkintorakenneValidator: TutkintoRakenneValidator = TutkintoRakenneValidator(tutkintoRepository, koodistoViitePalvelu)
20+
private val tutkintorakenneValidator: TutkintoRakenneValidator = TutkintoRakenneValidator(tutkintoRepository, koodistoViitePalvelu, config)
1921

2022
def validateTutkintorakenne(opiskeluoikeus: KoskeenTallennettavaOpiskeluoikeus): HttpStatus = HttpStatus.fold(
2123
opiskeluoikeus.suoritukset.map(

src/main/scala/fi/oph/koski/eperusteetvalidation/TutkintoRakenneValidator.scala

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fi.oph.koski.eperusteetvalidation
22

3+
import com.typesafe.config.Config
34
import fi.oph.koski.http.{HttpStatus, KoskiErrorCategory}
45
import fi.oph.koski.koodisto.KoodistoViitePalvelu
56
import fi.oph.koski.log.Logging
@@ -10,7 +11,7 @@ import fi.oph.koski.tutkinto.{Koulutustyyppi, _}
1011

1112
import java.time.LocalDate
1213

13-
case class TutkintoRakenneValidator(tutkintoRepository: TutkintoRepository, koodistoViitePalvelu: KoodistoViitePalvelu)
14+
case class TutkintoRakenneValidator(tutkintoRepository: TutkintoRepository, koodistoViitePalvelu: KoodistoViitePalvelu, config: Config)
1415
extends EPerusteetValidationUtils(tutkintoRepository, koodistoViitePalvelu) with Logging {
1516

1617
def validate(suoritus: PäätasonSuoritus, alkamispäiväLäsnä: Option[LocalDate], vaadittuPerusteenVoimassaolopäivä: LocalDate): HttpStatus = {
@@ -359,7 +360,17 @@ case class TutkintoRakenneValidator(tutkintoRepository: TutkintoRepository, kood
359360
case _ => HttpStatus.ok // mm. paikalliset tutkinnon osat
360361
}
361362
))
362-
HttpStatus.fold(List(osaStatus) ++ osaAlueStatuses)
363+
val result = HttpStatus.fold(List(osaStatus) ++ osaAlueStatuses)
364+
365+
val validaatioPäällä = config.getBoolean("validaatiot.ammatillinenEPerusteValidaatio")
366+
if (validaatioPäällä) {
367+
result
368+
} else {
369+
if (result.isError) {
370+
logger.warn(s"Ammatillisen suoritusken E-peruste validaatio poissa päältä mutta epäonnistuisi virheillä: ${result.errorString.getOrElse("")}")
371+
}
372+
HttpStatus.ok
373+
}
363374
}
364375

365376
private def validateLukio2019Diaarinumero(s: LukionPäätasonSuoritus2019) = {

src/test/scala/fi/oph/koski/api/misc/OpiskeluoikeusValidationSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ class OpiskeluoikeusValidationSpec extends AnyFreeSpec with Matchers with Opiske
9393
new EPerusteisiinPerustuvaValidator(
9494
KoskiApplicationForTests.ePerusteet,
9595
KoskiApplicationForTests.tutkintoRepository,
96-
KoskiApplicationForTests.koodistoViitePalvelu
96+
KoskiApplicationForTests.koodistoViitePalvelu,
97+
config
9798
),
9899
new EPerusteetLops2019Validator(KoskiApplicationForTests.config, KoskiApplicationForTests.ePerusteet),
99100
new EPerusteetFiller(

src/test/scala/fi/oph/koski/api/oppijavalidation/OppijaValidationAmmatillinenSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1478,7 +1478,8 @@ class OppijaValidationAmmatillinenSpec extends TutkinnonPerusteetTest[Ammatillin
14781478
new EPerusteisiinPerustuvaValidator(
14791479
KoskiApplicationForTests.ePerusteet,
14801480
KoskiApplicationForTests.tutkintoRepository,
1481-
KoskiApplicationForTests.koodistoViitePalvelu
1481+
KoskiApplicationForTests.koodistoViitePalvelu,
1482+
config
14821483
),
14831484
new EPerusteetLops2019Validator(KoskiApplicationForTests.config, KoskiApplicationForTests.ePerusteet),
14841485
new EPerusteetFiller(

src/test/scala/fi/oph/koski/api/oppijavalidation/OppijaValidationTutkintokoulutukseenValmentavaKoulutusSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,8 @@ class OppijaValidationTutkintokoulutukseenValmentavaKoulutusSpec extends Tutkinn
888888
new EPerusteisiinPerustuvaValidator(
889889
KoskiApplicationForTests.ePerusteet,
890890
KoskiApplicationForTests.tutkintoRepository,
891-
KoskiApplicationForTests.koodistoViitePalvelu
891+
KoskiApplicationForTests.koodistoViitePalvelu,
892+
config
892893
),
893894
new EPerusteetLops2019Validator(KoskiApplicationForTests.config, KoskiApplicationForTests.ePerusteet),
894895
new EPerusteetFiller(

src/test/scala/fi/oph/koski/api/oppijavalidation/OppijaValidationVapaaSivistystyoOsaamismerkkiSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,8 @@ class OppijaValidationVapaaSivistystyoOsaamismerkkiSpec extends AnyFreeSpec with
240240
new EPerusteisiinPerustuvaValidator(
241241
KoskiApplicationForTests.ePerusteet,
242242
KoskiApplicationForTests.tutkintoRepository,
243-
KoskiApplicationForTests.koodistoViitePalvelu
243+
KoskiApplicationForTests.koodistoViitePalvelu,
244+
config
244245
),
245246
new EPerusteetLops2019Validator(KoskiApplicationForTests.config, KoskiApplicationForTests.ePerusteet),
246247
new EPerusteetFiller(

0 commit comments

Comments
 (0)