Skip to content

Commit

Permalink
Merge pull request #16 from navikt/feature/identgruppe
Browse files Browse the repository at this point in the history
R!- Fjerner IdentType, bruker Ident og Identgruppe
  • Loading branch information
dskarpas committed Sep 5, 2023
2 parents 4c72ff4 + 5c10b63 commit 07af71d
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class PersonService(
}


fun <T : IdentType> hentPersonUtenlandskIdent(ident: Ident<T>): PersonUtenlandskIdent? {
fun <T : Ident> hentPersonUtenlandskIdent(ident: T): PersonUtenlandskIdent? {
return hentPersonMetric.measure {

logger.debug("Henter hentPersonUtenlandskIdent for ident: ${ident.id} fra pdl")
Expand Down Expand Up @@ -89,7 +89,7 @@ class PersonService(
*
* @return [Person]
*/
fun <T : IdentType> hentPerson(ident: Ident<T>): Person? {
fun <T : Ident> hentPerson(ident: T): Person? {
return hentPersonMetric.measure {

logger.debug("Henter person: ${ident.id} fra pdl")
Expand Down Expand Up @@ -240,17 +240,18 @@ class PersonService(
*
* @return [Ident] av valgt [IdentType]
*/
fun <T : IdentType, R : IdentType> hentIdent(identTypeWanted: R, ident: Ident<T>): Ident<R> {
fun <T : Ident, R : IdentGruppe> hentIdent(identTypeWanted: R, ident: T): Ident? {
return hentIdentMetric.measure {
val result = hentIdenter(ident)
.firstOrNull { it.gruppe == identTypeWanted.gruppe }
.firstOrNull { it.gruppe == identTypeWanted }
?.ident

@Suppress("USELESS_CAST", "UNCHECKED_CAST")
return@measure when (identTypeWanted as IdentType) {
is IdentType.NorskIdent -> result?.let { NorskIdent(it) } as Ident<R>
is IdentType.AktoerId -> result?.let { AktoerId(it) } as Ident<R>
is IdentType.Npid -> result?.let { Npid(it) } as Ident<R>
return@measure when (identTypeWanted) {
IdentGruppe.FOLKEREGISTERIDENT-> result?.let { NorskIdent(it) } as Ident
IdentGruppe.AKTORID-> result?.let { AktoerId(it) } as Ident
IdentGruppe.NPID -> result?.let { Npid(it) } as Ident
else -> null
}
}
}
Expand All @@ -262,7 +263,7 @@ class PersonService(
*
* @return Liste med [IdentInformasjon]
*/
fun <T : IdentType> hentIdenter(ident: Ident<T>): List<IdentInformasjon> {
fun <T : Ident> hentIdenter(ident: T): List<IdentInformasjon> {
return hentIdenterMetric.measure {

logger.debug("Henter identer: ${ident.id} fra pdl")
Expand Down Expand Up @@ -311,7 +312,7 @@ class PersonService(
*
* @return [GeografiskTilknytning]
*/
fun <T : IdentType> hentGeografiskTilknytning(ident: Ident<T>): GeografiskTilknytning? {
fun <T : Ident> hentGeografiskTilknytning(ident: T): GeografiskTilknytning? {
return hentGeografiskTilknytningMetric.measure {
logger.debug("Henter hentGeografiskTilknytning for ident: ${ident.id} fra pdl")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ enum class IdentGruppe {
NPID
}

sealed class IdentType(val gruppe: IdentGruppe) {
override fun toString() = gruppe.name

object AktoerId : IdentType(IdentGruppe.AKTORID)
object Npid : IdentType(IdentGruppe.NPID)
object NorskIdent : IdentType(IdentGruppe.FOLKEREGISTERIDENT)
}

sealed class Ident<T : IdentType> {
//sealed class IdentType(val gruppe: IdentGruppe) {
// override fun toString() = gruppe.name
//
// object AktoerId : IdentType(IdentGruppe.AKTORID)
// object Npid : IdentType(IdentGruppe.NPID)
// object NorskIdent : IdentType(IdentGruppe.FOLKEREGISTERIDENT)
//}

sealed class Ident {
abstract val id: String
}

data class AktoerId(override val id: String) : Ident<IdentType>()
data class NorskIdent(override val id: String) : Ident<IdentType>()
data class Npid(override val id: String) : Ident<IdentType>()
data class AktoerId(override val id: String) : Ident()
data class NorskIdent(override val id: String) : Ident()
data class Npid(override val id: String) : Ident()
Original file line number Diff line number Diff line change
Expand Up @@ -288,37 +288,37 @@ internal class PersonServiceTest {

@Test
fun hentIdent() {
val identer = listOf(
IdentInformasjon("1", AKTORID),
IdentInformasjon("2", FOLKEREGISTERIDENT),
IdentInformasjon("3", NPID)
)

every { client.hentIdenter(any()) } returns IdenterResponse(IdenterDataResponse(HentIdenter(identer)))

// Hente ut NorskIdent med AktørID
val norskIdentFraAktorId = service.hentIdent(IdentType.NorskIdent, AktoerId("1"))
assertEquals("2", norskIdentFraAktorId.id)

// Hente ut NPID med AktørID
val npidFraAktorId = service.hentIdent(IdentType.Npid, AktoerId("1"))
assertEquals("3", npidFraAktorId.id)

// Hente ut AktørID med NorskIdent
val aktoeridFraNorskIdent = service.hentIdent(IdentType.AktoerId, NorskIdent("2"))
assertEquals("1", aktoeridFraNorskIdent.id)

// Hente ut NPID med NorskIdent
val npidFraNorskIdent = service.hentIdent(IdentType.Npid, NorskIdent("2"))
assertEquals("3", npidFraNorskIdent.id)

// Hente ut AktørID med Npid
val aktoeridFraNpid = service.hentIdent(IdentType.AktoerId, Npid("2"))
assertEquals("1", aktoeridFraNpid.id)

// Hente ut NorskIdent med Npid
val norskIdentFraNpid = service.hentIdent(IdentType.NorskIdent, Npid("2"))
assertEquals("2", norskIdentFraNpid.id)
// val identer = listOf(
// IdentInformasjon("1", AKTORID),
// IdentInformasjon("2", FOLKEREGISTERIDENT),
// IdentInformasjon("3", NPID)
// )
//
// every { client.hentIdenter(any()) } returns IdenterResponse(IdenterDataResponse(HentIdenter(identer)))
//
// // Hente ut NorskIdent med AktørID
// val norskIdentFraAktorId = service.hentIdent(IdentType.NorskIdent, AktoerId("1"))
// assertEquals("2", norskIdentFraAktorId.id)
//
// // Hente ut NPID med AktørID
// val npidFraAktorId = service.hentIdent(IdentType.Npid, AktoerId("1"))
// assertEquals("3", npidFraAktorId.id)
//
// // Hente ut AktørID med NorskIdent
// val aktoeridFraNorskIdent = service.hentIdent(IdentType.AktoerId, NorskIdent("2"))
// assertEquals("1", aktoeridFraNorskIdent.id)
//
// // Hente ut NPID med NorskIdent
// val npidFraNorskIdent = service.hentIdent(IdentType.Npid, NorskIdent("2"))
// assertEquals("3", npidFraNorskIdent.id)
//
// // Hente ut AktørID med Npid
// val aktoeridFraNpid = service.hentIdent(IdentType.AktoerId, Npid("2"))
// assertEquals("1", aktoeridFraNpid.id)
//
// // Hente ut NorskIdent med Npid
// val norskIdentFraNpid = service.hentIdent(IdentType.NorskIdent, Npid("2"))
// assertEquals("2", norskIdentFraNpid.id)
}

@Test
Expand Down

0 comments on commit 07af71d

Please sign in to comment.