From 49cb202127fbfb7b02324c00a9b9035546d82c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20N=2E=20Wed=C3=B8e?= Date: Tue, 23 Jul 2024 11:07:56 +0200 Subject: [PATCH 1/4] Added TimeUnitType to kodeverk. --- .../no/nav/klage/kodeverk/TimeUnitType.kt | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/kotlin/no/nav/klage/kodeverk/TimeUnitType.kt diff --git a/src/main/kotlin/no/nav/klage/kodeverk/TimeUnitType.kt b/src/main/kotlin/no/nav/klage/kodeverk/TimeUnitType.kt new file mode 100644 index 0000000..6bd6f9b --- /dev/null +++ b/src/main/kotlin/no/nav/klage/kodeverk/TimeUnitType.kt @@ -0,0 +1,38 @@ +package no.nav.klage.kodeverk + +import jakarta.persistence.AttributeConverter +import jakarta.persistence.Converter + +enum class TimeUnitType(override val id: String, override val navn: String, override val beskrivelse: String) : Kode { + + WEEKS("1", "WEEKS", "WEEKS"), + MONTHS("2", "MONTHS", "MONTHS"), + ; + + override fun toString(): String { + return "Type(id=$id, " + + "navn=$navn)" + } + + companion object { + fun of(id: String): TimeUnitType { + return entries.firstOrNull { it.id == id } + ?: throw IllegalArgumentException("No TimeUnitType with id $id exists") + } + + fun fromNavn(navn: String): TimeUnitType { + return entries.firstOrNull { it.navn == navn } + ?: throw IllegalArgumentException("No TimeUnitType with navn $navn exists") + } + } +} + +@Converter +class TimeUnitTypeConverter : AttributeConverter { + + override fun convertToDatabaseColumn(entity: TimeUnitType?): String? = + entity?.id + + override fun convertToEntityAttribute(id: String?): TimeUnitType? = + id?.let { TimeUnitType.of(it) } +} \ No newline at end of file From e191d9565febad9b6af86857a6ceb50b43255128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20N=2E=20Wed=C3=B8e?= Date: Tue, 23 Jul 2024 11:09:24 +0200 Subject: [PATCH 2/4] Use entries in stead of values() --- src/main/kotlin/no/nav/klage/kodeverk/Utfall.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Utfall.kt b/src/main/kotlin/no/nav/klage/kodeverk/Utfall.kt index b90d960..fed69a5 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Utfall.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Utfall.kt @@ -25,7 +25,7 @@ enum class Utfall(override val id: String, override val navn: String, override v companion object { fun of(id: String): Utfall { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Utfall with id $id exists") } } From 1ae6a1ddb50a5bcf6a857daf83aeda2bb5376dba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20N=2E=20Wed=C3=B8e?= Date: Tue, 23 Jul 2024 11:09:53 +0200 Subject: [PATCH 3/4] Use entries in stead of values() --- src/main/kotlin/no/nav/klage/kodeverk/Brevmottakertype.kt | 4 ++-- src/main/kotlin/no/nav/klage/kodeverk/DokumentType.kt | 6 +++--- src/main/kotlin/no/nav/klage/kodeverk/Fagsystem.kt | 4 ++-- .../kotlin/no/nav/klage/kodeverk/MedunderskriverFlyt.kt | 4 ++-- src/main/kotlin/no/nav/klage/kodeverk/PartIdType.kt | 2 +- src/main/kotlin/no/nav/klage/kodeverk/ROLState.kt | 4 ++-- src/main/kotlin/no/nav/klage/kodeverk/Source.kt | 2 +- src/main/kotlin/no/nav/klage/kodeverk/Tema.kt | 4 ++-- src/main/kotlin/no/nav/klage/kodeverk/Type.kt | 4 ++-- src/main/kotlin/no/nav/klage/kodeverk/Ytelse.kt | 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Brevmottakertype.kt b/src/main/kotlin/no/nav/klage/kodeverk/Brevmottakertype.kt index f10af4b..ed108c9 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Brevmottakertype.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Brevmottakertype.kt @@ -17,12 +17,12 @@ enum class Brevmottakertype(override val id: String, override val navn: String, companion object { fun of(id: String): Brevmottakertype { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Bremottakertype with id $id exists") } fun fromNavn(navn: String): Brevmottakertype { - return values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No Bremottakertype with navn $navn exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/DokumentType.kt b/src/main/kotlin/no/nav/klage/kodeverk/DokumentType.kt index caa0c82..f1928d1 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/DokumentType.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/DokumentType.kt @@ -29,17 +29,17 @@ enum class DokumentType( companion object { fun of(id: String): DokumentType { - return DokumentType.values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No DokumentType with id $id exists") } fun fromNavn(navn: String): DokumentType { - return DokumentType.values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No DokumentType with navn $navn exists") } fun fromBeskrivelse(beskrivelse: String): DokumentType { - return DokumentType.values().firstOrNull { it.beskrivelse == beskrivelse } + return entries.firstOrNull { it.beskrivelse == beskrivelse } ?: throw IllegalArgumentException("No DokumentType with beskrivelse $beskrivelse exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Fagsystem.kt b/src/main/kotlin/no/nav/klage/kodeverk/Fagsystem.kt index 287e9f1..9201578 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Fagsystem.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Fagsystem.kt @@ -41,12 +41,12 @@ enum class Fagsystem( companion object { fun of(id: String): Fagsystem { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Fagsystem with id $id exists") } fun fromNavn(navn: String): Fagsystem { - return values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No Fagsystem with navn $navn exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/MedunderskriverFlyt.kt b/src/main/kotlin/no/nav/klage/kodeverk/MedunderskriverFlyt.kt index 309f1a5..5374ca2 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/MedunderskriverFlyt.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/MedunderskriverFlyt.kt @@ -17,12 +17,12 @@ enum class MedunderskriverFlyt(override val id: String, override val navn: Strin companion object { fun of(id: String): MedunderskriverFlyt { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Medunderskriverflyt with id $id exists") } fun fromNavn(navn: String?): MedunderskriverFlyt { - return values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No Medunderskriverflyt with navn $navn exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/PartIdType.kt b/src/main/kotlin/no/nav/klage/kodeverk/PartIdType.kt index 56dbd49..197a361 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/PartIdType.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/PartIdType.kt @@ -14,7 +14,7 @@ enum class PartIdType(override val id: String, override val navn: String, overri companion object { fun of(id: String): PartIdType { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No PartIdType with id $id exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/ROLState.kt b/src/main/kotlin/no/nav/klage/kodeverk/ROLState.kt index 4a45a10..4c33624 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/ROLState.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/ROLState.kt @@ -8,12 +8,12 @@ enum class ROLState(override val id: String, override val navn: String, override companion object { fun of(id: String): ROLState { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No ROLState with id $id exists") } fun fromNavn(navn: String?): ROLState { - return values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No ROLState with navn $navn exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Source.kt b/src/main/kotlin/no/nav/klage/kodeverk/Source.kt index 47dadb2..164c237 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Source.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Source.kt @@ -9,7 +9,7 @@ enum class Source(override val id: String, override val navn: String, override v companion object { fun of(id: String): Source { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Source with id $id exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Tema.kt b/src/main/kotlin/no/nav/klage/kodeverk/Tema.kt index ee17aed..f5d0502 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Tema.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Tema.kt @@ -75,12 +75,12 @@ enum class Tema(override val id: String, override val navn: String, override val companion object { fun of(id: String): Tema { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Tema with id $id exists") } fun fromNavn(navn: String?): Tema { - return values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No Tema with navn $navn exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Type.kt b/src/main/kotlin/no/nav/klage/kodeverk/Type.kt index 22241b1..819aeba 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Type.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Type.kt @@ -17,12 +17,12 @@ enum class Type(override val id: String, override val navn: String, override val companion object { fun of(id: String): Type { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Type with id $id exists") } fun fromNavn(navn: String): Type { - return values().firstOrNull { it.navn == navn } + return entries.firstOrNull { it.navn == navn } ?: throw IllegalArgumentException("No Type with navn $navn exists") } } diff --git a/src/main/kotlin/no/nav/klage/kodeverk/Ytelse.kt b/src/main/kotlin/no/nav/klage/kodeverk/Ytelse.kt index e17f5c5..76e31ca 100644 --- a/src/main/kotlin/no/nav/klage/kodeverk/Ytelse.kt +++ b/src/main/kotlin/no/nav/klage/kodeverk/Ytelse.kt @@ -70,7 +70,7 @@ enum class Ytelse(override val id: String, override val navn: String, override v companion object { fun of(id: String): Ytelse { - return values().firstOrNull { it.id == id } + return entries.firstOrNull { it.id == id } ?: throw IllegalArgumentException("No Ytelse with id $id exists") } } From 91b4aef513c06f76187c2ccf137c53e19c46c3ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20N=2E=20Wed=C3=B8e?= Date: Tue, 23 Jul 2024 11:14:59 +0200 Subject: [PATCH 4/4] Added test for ny class. --- .../no/nav/klage/kodeverk/KodeverkTest.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/test/kotlin/no/nav/klage/kodeverk/KodeverkTest.kt b/src/test/kotlin/no/nav/klage/kodeverk/KodeverkTest.kt index 9abc27a..10def8c 100644 --- a/src/test/kotlin/no/nav/klage/kodeverk/KodeverkTest.kt +++ b/src/test/kotlin/no/nav/klage/kodeverk/KodeverkTest.kt @@ -285,4 +285,25 @@ internal class KodeverkTest { it.value.size > 1 }).isEmpty() } + + @Test + fun `TimeUnitType has no duplicate values`() { + assertThat(TimeUnitType.entries.groupBy { + it.id + }.filter { + it.value.size > 1 + }).isEmpty() + + assertThat(TimeUnitType.entries.groupBy { + it.navn + }.filter { + it.value.size > 1 + }).isEmpty() + + assertThat(TimeUnitType.entries.groupBy { + it.beskrivelse + }.filter { + it.value.size > 1 + }).isEmpty() + } } \ No newline at end of file