diff --git a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiArviointi.kt b/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiArviointi.kt deleted file mode 100644 index bcad9f901..000000000 --- a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiArviointi.kt +++ /dev/null @@ -1,65 +0,0 @@ -package fi.oph.kitu.generated.model - -import com.fasterxml.jackson.annotation.JsonCreator -import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.annotation.JsonValue - -/** - * - * @param arviointinumero - * @param pvm - * @param tutkintokieli ISO 639-3 - koodattu kieli, jota kielitutkinnossa testataan. - * @param taso Arvioitava taso. PT = perustaso. Vastaa CEFR A1/A2 KT = keskitaso. Vastaa CEFR B1/B2 YT = Ylin taso. Vastaa CEFR C1/C2 - * @param arvioijaOid Arvioijan OID-tunniste - */ -data class YkiArviointi( - @get:JsonProperty("arviointinumero") val arviointinumero: kotlin.String? = null, - @get:JsonProperty("pvm") val pvm: kotlin.String? = null, - @get:JsonProperty("tutkintokieli") val tutkintokieli: YkiArviointi.Tutkintokieli? = null, - @get:JsonProperty("taso") val taso: YkiArviointi.Taso? = null, - @get:JsonProperty("arvioijaOid") val arvioijaOid: kotlin.String? = null, -) { - /** - * ISO 639-3 - koodattu kieli, jota kielitutkinnossa testataan. - * Values: DEU,ENG,FIN,FRA,ITA,RUS,SME,SPA,SWE - */ - enum class Tutkintokieli( - @get:JsonValue val value: kotlin.String, - ) { - DEU("DEU"), - ENG("ENG"), - FIN("FIN"), - FRA("FRA"), - ITA("ITA"), - RUS("RUS"), - SME("SME"), - SPA("SPA"), - SWE("SWE"), - ; - - companion object { - @JvmStatic - @JsonCreator - fun forValue(value: kotlin.String): Tutkintokieli = values().first { it -> it.value == value } - } - } - - /** - * Arvioitava taso. PT = perustaso. Vastaa CEFR A1/A2 KT = keskitaso. Vastaa CEFR B1/B2 YT = Ylin taso. Vastaa CEFR C1/C2 - * Values: PT,KT,YT - */ - enum class Taso( - @get:JsonValue val value: kotlin.String, - ) { - PT("PT"), - KT("KT"), - YT("YT"), - ; - - companion object { - @JvmStatic - @JsonCreator - fun forValue(value: kotlin.String): Taso = values().first { it -> it.value == value } - } - } -} diff --git a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiJarjestaja.kt b/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiJarjestaja.kt deleted file mode 100644 index 56ab4caab..000000000 --- a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiJarjestaja.kt +++ /dev/null @@ -1,13 +0,0 @@ -package fi.oph.kitu.generated.model - -import com.fasterxml.jackson.annotation.JsonProperty - -/** - * - * @param oid - * @param nimi - */ -data class YkiJarjestaja( - @get:JsonProperty("oid") val oid: kotlin.String? = null, - @get:JsonProperty("nimi") val nimi: kotlin.String? = null, -) diff --git a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiOsallistuja.kt b/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiOsallistuja.kt deleted file mode 100644 index d1aefabaf..000000000 --- a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiOsallistuja.kt +++ /dev/null @@ -1,50 +0,0 @@ -package fi.oph.kitu.generated.model - -import com.fasterxml.jackson.annotation.JsonCreator -import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.annotation.JsonValue - -/** - * - * @param oid - * @param sukunimi - * @param etunimi - * @param henkilotunnus Suomalainen henkilötunnus - * @param kansalaisuus - * @param sukupuoli N=Nainen, M=Mies, E=muu/ei ilmoiteta - * @param katuosoite Osallistujan tarpeellisten yhteystietojen katuosoite - * @param postinumero Osallistujan tarpeellisten yhteystietojen postinumero - * @param postitoimipaikka Osallistujan tarpeellisten yhteystietojen postitoimipaikka - * @param sahköpostiosoite Osallistujan tarpeellisten yhteystietojen sähköpostiosoite - */ -data class YkiOsallistuja( - @get:JsonProperty("oid") val oid: kotlin.String? = null, - @get:JsonProperty("sukunimi") val sukunimi: kotlin.String? = null, - @get:JsonProperty("etunimi") val etunimi: kotlin.String? = null, - @get:JsonProperty("henkilotunnus") val henkilotunnus: kotlin.String? = null, - @get:JsonProperty("kansalaisuus") val kansalaisuus: kotlin.String? = null, - @get:JsonProperty("sukupuoli") val sukupuoli: YkiOsallistuja.Sukupuoli? = null, - @get:JsonProperty("katuosoite") val katuosoite: kotlin.String? = null, - @get:JsonProperty("postinumero") val postinumero: kotlin.String? = null, - @get:JsonProperty("postitoimipaikka") val postitoimipaikka: kotlin.String? = null, - @get:JsonProperty("sahköpostiosoite") val sahköpostiosoite: kotlin.String? = null, -) { - /** - * N=Nainen, M=Mies, E=muu/ei ilmoiteta - * Values: N,M,E - */ - enum class Sukupuoli( - @get:JsonValue val value: kotlin.String, - ) { - N("N"), - M("M"), - E("E"), - ; - - companion object { - @JvmStatic - @JsonCreator - fun forValue(value: kotlin.String): Sukupuoli = values().first { it -> it.value == value } - } - } -} diff --git a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiSuoritus.kt b/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiSuoritus.kt deleted file mode 100644 index 591b4831a..000000000 --- a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiSuoritus.kt +++ /dev/null @@ -1,83 +0,0 @@ -package fi.oph.kitu.generated.model - -import com.fasterxml.jackson.annotation.JsonCreator -import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.annotation.JsonValue - -/** - * - * @param suorittajanOid - * @param sukunimi - * @param etunimet - * @param tutkintopaiva - * @param tutkintokieli ISO 639-3 - koodattu kieli, jota kielitutkinnossa testataan. - * @param tutkintotaso Arvioitava taso. PT = perustaso. Vastaa CEFR A1/A2 KT = keskitaso. Vastaa CEFR B1/B2 YT = Ylin taso. Vastaa CEFR C1/C2 - * @param jarjestajanOid - * @param jarjestajanNimi - * @param tekstinYmmartamisenArvosana - * @param kirjoittamisenArvosana - * @param rakenteidenJaSanastonArvosana - * @param puheenYmmartamisenArvosana - * @param puhumisenArvosana - * @param yleisarvosana - */ -data class YkiSuoritus( - @get:JsonProperty("suorittajanOid") val suorittajanOid: kotlin.String? = null, - @get:JsonProperty("sukunimi") val sukunimi: kotlin.String? = null, - @get:JsonProperty("etunimet") val etunimet: kotlin.String? = null, - @get:JsonProperty("tutkintopaiva") val tutkintopaiva: kotlin.String? = null, - @get:JsonProperty("tutkintokieli") val tutkintokieli: YkiSuoritus.Tutkintokieli? = null, - @get:JsonProperty("tutkintotaso") val tutkintotaso: YkiSuoritus.Tutkintotaso? = null, - @get:JsonProperty("jarjestajanOid") val jarjestajanOid: kotlin.String? = null, - @get:JsonProperty("jarjestajanNimi") val jarjestajanNimi: kotlin.String? = null, - @get:JsonProperty("tekstinYmmartamisenArvosana") val tekstinYmmartamisenArvosana: java.math.BigDecimal? = null, - @get:JsonProperty("kirjoittamisenArvosana") val kirjoittamisenArvosana: java.math.BigDecimal? = null, - @get:JsonProperty("rakenteidenJaSanastonArvosana") val rakenteidenJaSanastonArvosana: java.math.BigDecimal? = null, - @get:JsonProperty("puheenYmmartamisenArvosana") val puheenYmmartamisenArvosana: java.math.BigDecimal? = null, - @get:JsonProperty("puhumisenArvosana") val puhumisenArvosana: java.math.BigDecimal? = null, - @get:JsonProperty("yleisarvosana") val yleisarvosana: java.math.BigDecimal? = null, -) { - /** - * ISO 639-3 - koodattu kieli, jota kielitutkinnossa testataan. - * Values: DEU,ENG,FIN,FRA,ITA,RUS,SME,SPA,SWE - */ - enum class Tutkintokieli( - @get:JsonValue val value: kotlin.String, - ) { - DEU("DEU"), - ENG("ENG"), - FIN("FIN"), - FRA("FRA"), - ITA("ITA"), - RUS("RUS"), - SME("SME"), - SPA("SPA"), - SWE("SWE"), - ; - - companion object { - @JvmStatic - @JsonCreator - fun forValue(value: kotlin.String): Tutkintokieli = values().first { it -> it.value == value } - } - } - - /** - * Arvioitava taso. PT = perustaso. Vastaa CEFR A1/A2 KT = keskitaso. Vastaa CEFR B1/B2 YT = Ylin taso. Vastaa CEFR C1/C2 - * Values: PT,KT,YT - */ - enum class Tutkintotaso( - @get:JsonValue val value: kotlin.String, - ) { - PT("PT"), - KT("KT"), - YT("YT"), - ; - - companion object { - @JvmStatic - @JsonCreator - fun forValue(value: kotlin.String): Tutkintotaso = values().first { it -> it.value == value } - } - } -} diff --git a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiTutkintotarjonta.kt b/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiTutkintotarjonta.kt deleted file mode 100644 index 41bdd1661..000000000 --- a/server/src/main/kotlin/fi/oph/kitu/generated/model/YkiTutkintotarjonta.kt +++ /dev/null @@ -1,13 +0,0 @@ -package fi.oph.kitu.generated.model - -import com.fasterxml.jackson.annotation.JsonProperty - -/** - * - * @param kieli - * @param taso Tutkinnon taso. PT=Perustaso, KT=keskitaso, YT=ylin taso - */ -data class YkiTutkintotarjonta( - @get:JsonProperty("kieli") val kieli: kotlin.String? = null, - @get:JsonProperty("taso") val taso: kotlin.String? = null, -) diff --git a/server/src/main/kotlin/fi/oph/kitu/yki/Mappers.kt b/server/src/main/kotlin/fi/oph/kitu/yki/Mappers.kt deleted file mode 100644 index 914f8a31c..000000000 --- a/server/src/main/kotlin/fi/oph/kitu/yki/Mappers.kt +++ /dev/null @@ -1,31 +0,0 @@ -package fi.oph.kitu.yki - -import fi.oph.kitu.generated.model.YkiSuoritus - -class Mappers { - companion object { - fun toTutkintokieli(value: String): YkiSuoritus.Tutkintokieli { - when (value.uppercase()) { - "" -> throw NotImplementedError() - else -> throw NotImplementedError() - } - } - - fun toYkiSuoritus(column: List): YkiSuoritus = - YkiSuoritus( - suorittajanOid = column[0], - sukunimi = column[1], - etunimet = column[2], - tutkintopaiva = column[3], - tutkintokieli = toTutkintokieli(column[4]), - jarjestajanOid = column[5], - jarjestajanNimi = column[6], - tekstinYmmartamisenArvosana = column[7].toBigDecimal(), - kirjoittamisenArvosana = column[8].toBigDecimal(), - rakenteidenJaSanastonArvosana = column[9].toBigDecimal(), - puheenYmmartamisenArvosana = column[10].toBigDecimal(), - puhumisenArvosana = column[11].toBigDecimal(), - yleisarvosana = column[12].toBigDecimal(), - ) - } -} diff --git a/server/src/main/kotlin/fi/oph/kitu/yki/YkiRepository.kt b/server/src/main/kotlin/fi/oph/kitu/yki/YkiRepository.kt index c130da981..1143c1985 100644 --- a/server/src/main/kotlin/fi/oph/kitu/yki/YkiRepository.kt +++ b/server/src/main/kotlin/fi/oph/kitu/yki/YkiRepository.kt @@ -1,15 +1,10 @@ package fi.oph.kitu.yki -import fi.oph.kitu.generated.model.YkiSuoritus import org.springframework.stereotype.Repository @Repository class YkiRepository { - fun insertSuoritukset(suoritukset: List) { - for (suoritus in suoritukset) { - insertSuoritus(suoritus) - } - } + fun insertSuoritukset(suoritukset: List): Void = throw NotImplementedError() - fun insertSuoritus(suoritus: YkiSuoritus): Unit = throw NotImplementedError() + fun insertSuoritus(suoritus: YkiSuoritus): Void = throw NotImplementedError() } diff --git a/server/src/main/kotlin/fi/oph/kitu/yki/YkiService.kt b/server/src/main/kotlin/fi/oph/kitu/yki/YkiService.kt index bcecfe00b..42a721318 100644 --- a/server/src/main/kotlin/fi/oph/kitu/yki/YkiService.kt +++ b/server/src/main/kotlin/fi/oph/kitu/yki/YkiService.kt @@ -18,19 +18,18 @@ class YkiService( private val logger: Logger = LoggerFactory.getLogger(javaClass) fun importYkiSuoritukset(lastSeen: LocalDate? = null) { - val dto = + val suoritukset = ykiRestClient .get() .uri("suoritukset") .retrieve() - .csvBody() + .csvBody() - if (dto.isEmpty()) { + if (suoritukset.isEmpty()) { logger.error("YKI reponded with empty data.") throw RestClientException("The response is empty") } - val suoritukset = dto.map { it.toYkiSuoritus() } repository.insertSuoritukset(suoritukset) logger.info("suoritukset was added.") } diff --git a/server/src/main/kotlin/fi/oph/kitu/yki/YkiSuoritusResponse.kt b/server/src/main/kotlin/fi/oph/kitu/yki/YkiSuoritus.kt similarity index 91% rename from server/src/main/kotlin/fi/oph/kitu/yki/YkiSuoritusResponse.kt rename to server/src/main/kotlin/fi/oph/kitu/yki/YkiSuoritus.kt index 07a47458e..961172810 100644 --- a/server/src/main/kotlin/fi/oph/kitu/yki/YkiSuoritusResponse.kt +++ b/server/src/main/kotlin/fi/oph/kitu/yki/YkiSuoritus.kt @@ -2,7 +2,6 @@ package fi.oph.kitu.yki import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonPropertyOrder -import fi.oph.kitu.generated.model.YkiSuoritus @JsonPropertyOrder( "suorittajanOppijanumero", @@ -20,7 +19,7 @@ import fi.oph.kitu.generated.model.YkiSuoritus "puhuminen", "yleisarvosana", ) -class YkiSuoritusResponse( +data class YkiSuoritus( @JsonProperty("suorittajanOppijanumero") val suorittajanOppijanumero: String, @JsonProperty("sukunimi") @@ -49,6 +48,4 @@ class YkiSuoritusResponse( val puhuminen: Number, @JsonProperty("yleisarvosana") val yleisarvosana: Number, -) { - fun toYkiSuoritus(): YkiSuoritus = throw NotImplementedError() -} +) diff --git a/server/src/main/resources/static/open-api.yaml b/server/src/main/resources/static/open-api.yaml index d5d806c70..ef3bdc1b5 100644 --- a/server/src/main/resources/static/open-api.yaml +++ b/server/src/main/resources/static/open-api.yaml @@ -168,75 +168,3 @@ components: format: int64 name: type: string - - # Domain: YKI - YkiSuoritus: - type: object - properties: - suorittajanOid: - type: string - example: "1.2.246.562.24.99999999999" - pattern: "^[0-9.]+$" - sukunimi: - type: string - example: "Suorittaja" - etunimet: - type: string - example: "Sulevi" - tutkintopaiva: - type: string - example: "2022-11-12" - tutkintokieli: - type: string - description: "ISO 639-3 - koodattu kieli, jota kielitutkinnossa testataan." - example: "FIN" - enum: - - DEU - - ENG - - FIN - - FRA - - ITA - - RUS - - SME - - SPA - - SWE - tutkintotaso: - type: string - description: | - Arvioitava taso. - PT = perustaso. Vastaa CEFR A1/A2 - KT = keskitaso. Vastaa CEFR B1/B2 - YT = Ylin taso. Vastaa CEFR C1/C2 - example: "PT" - enum: - - "PT" - - "KT" - - "YT" - - jarjestajanOid: - type: string - example: "1.2.246.562.10.373218511910" - pattern: "^[0-9.]+$" - jarjestajanNimi: - type: string - example: "Helsinki University" - - # saadut taitotasoarviot - tekstinYmmartamisenArvosana: - type: number - example: 2 - kirjoittamisenArvosana: - type: number - example: 2 - rakenteidenJaSanastonArvosana: - type: number - example: 1 - puheenYmmartamisenArvosana: - type: number - example: 3 - puhumisenArvosana: - type: number - example: 2 - yleisarvosana: - type: number - example: 2