Skip to content

Commit

Permalink
Merge branch 'feature/PEK-648_cti-to-enum' into sandbox
Browse files Browse the repository at this point in the history
  • Loading branch information
espengjostol committed Mar 11, 2025
2 parents 55c5006 + c256306 commit 5f2d709
Show file tree
Hide file tree
Showing 13 changed files with 223 additions and 452 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package no.nav.pensjon.simulator.core.domain.regler.beregning

import no.nav.pensjon.simulator.core.domain.regler.beregning2011.AfpPrivatBeregning
import no.nav.pensjon.simulator.core.domain.regler.beregning2011.AldersberegningKapittel19
import no.nav.pensjon.simulator.core.domain.regler.beregning2011.AldersberegningKapittel20
import no.nav.pensjon.simulator.core.domain.regler.beregning2011.Beregning2011
import no.nav.pensjon.simulator.core.domain.regler.beregning2011.Uforetrygdberegning
import java.lang.reflect.InvocationTargetException
import no.nav.pensjon.simulator.core.domain.reglerextend.beregning2011.copy

class BeregningRelasjon {

Expand All @@ -23,44 +26,25 @@ class BeregningRelasjon {

constructor()

constructor(beregningRelasjon: BeregningRelasjon) {
if (beregningRelasjon.beregning != null) {
beregning = Beregning(beregningRelasjon.beregning)
//beregning!!.beregningsrelasjon = this
}
constructor(source: BeregningRelasjon) {
beregning = source.beregning?.let(::Beregning)
//beregning!!.beregningsrelasjon = this

beregning2011 = createBeregning2011UsingCopyConstructor(beregningRelasjon.beregning2011)
beregning2011 = source.beregning2011?.let(::copy)

//if (beregning2011 != null) {
// beregning2011!!.beregningsrelasjon = this
//}

bruk = beregningRelasjon.bruk
bruk = source.bruk
}

private fun createBeregning2011UsingCopyConstructor(beregning2011: Beregning2011?): Beregning2011? {
if (beregning2011 == null) return null

val clazz = beregning2011.javaClass

return try {
if (beregning2011 is Uforetrygdberegning) {
val constructor = clazz.getConstructor(clazz, Boolean::class.javaPrimitiveType)
constructor.newInstance(beregning2011, true)
} else {
val constructor = clazz.getConstructor(clazz)
constructor.newInstance(beregning2011)
}
} catch (e: NoSuchMethodException) {
throw RuntimeException(e)
} catch (e: IllegalArgumentException) {
throw RuntimeException(e)
} catch (e: InstantiationException) {
throw RuntimeException(e)
} catch (e: IllegalAccessException) {
throw RuntimeException(e)
} catch (e: InvocationTargetException) {
throw RuntimeException(e)
private fun copy(source: Beregning2011): Beregning2011? =
when (source) {
is AfpPrivatBeregning -> AfpPrivatBeregning(source)
is AldersberegningKapittel19 -> AldersberegningKapittel19(source)
is AldersberegningKapittel20 -> source.copy()
is Uforetrygdberegning -> source.copy()
else -> null
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import no.nav.pensjon.simulator.core.domain.regler.enum.BeregningsmetodeEnum
import no.nav.pensjon.simulator.core.domain.regler.enum.BeregningtypeEnum
import no.nav.pensjon.simulator.core.domain.regler.enum.ResultattypeEnum

// 2025-03-10
@JsonSubTypes(
JsonSubTypes.Type(value = Uforetrygdberegning::class),
JsonSubTypes.Type(value = AfpPrivatBeregning::class),
Expand All @@ -18,17 +19,16 @@ import no.nav.pensjon.simulator.core.domain.regler.enum.ResultattypeEnum
)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class Beregning2011 {

var gjelderPerson: PenPerson? = null
open var grunnbelop = 0
var tt_anv = 0
var resultatTypeEnum: ResultattypeEnum? = null
var beregningsMetodeEnum: BeregningsmetodeEnum? = null
var beregningTypeEnum: BeregningtypeEnum? = null
var delberegning2011Liste: MutableList<BeregningRelasjon> = mutableListOf() // SIMDOM-EDIT Mutable
var merknadListe: MutableList<Merknad> = mutableListOf()
var delberegning2011Liste: List<BeregningRelasjon> = mutableListOf()
var merknadListe: List<Merknad> = mutableListOf()

val delberegningsListe: MutableList<BeregningRelasjon>
val delberegningsListe: List<BeregningRelasjon>
get() = delberegning2011Liste

/**
Expand Down Expand Up @@ -61,14 +61,10 @@ abstract class Beregning2011 {
}

if (kopierDelberegning2011Liste) {
for (r in source.delberegningsListe) {
delberegningsListe.add(BeregningRelasjon(r))
}
delberegning2011Liste = source.delberegning2011Liste.map(::BeregningRelasjon)
}

for (m in source.merknadListe) {
merknadListe.add(Merknad(m))
}
merknadListe = source.merknadListe.map(::Merknad)

if (source.beregningGjelderTypeEnum != null) {
this.beregningGjelderTypeEnum = source.beregningGjelderTypeEnum
Expand Down
Original file line number Diff line number Diff line change
@@ -1,38 +1,14 @@
package no.nav.pensjon.simulator.core.domain.regler.beregning2011

import java.io.Serializable
import java.util.*

class FremskrivingsDetaljer : Serializable, IFremskriving {
// 2025-03-11
class FremskrivingsDetaljer : IFremskriving {
override var justeringTomDato: Date? = null
override var justeringsfaktor: Double = 0.0
override var teller: Double = 0.0
override var nevner: Double = 0.0
var arskull: Int = 0
override var justeringsfaktor = 0.0
override var teller = 0.0
override var nevner = 0.0
var arskull = 0

constructor()

constructor(frem: FremskrivingsDetaljer) : this() {
if (frem.justeringTomDato != null) {
justeringTomDato = frem.justeringTomDato!!.clone() as Date
}
justeringsfaktor = frem.justeringsfaktor
teller = frem.teller
nevner = frem.nevner
arskull = frem.arskull
}

constructor(
justeringTomDato: Date? = null,
justeringsfaktor: Double = 0.0,
teller: Double = 0.0,
nevner: Double = 0.0,
arskull: Int = 0
) {
this.justeringTomDato = justeringTomDato
this.justeringsfaktor = justeringsfaktor
this.teller = teller
this.nevner = nevner
this.arskull = arskull
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,11 @@ package no.nav.pensjon.simulator.core.domain.regler.beregning2011

import java.util.*

// 2025-03-10
@Deprecated("Slettes. Ikke produsert av pensjon-regler.")
class GReguleringDetaljer : IGRegulering {
override var justeringTomDato: Date? = null
override var justeringsfaktor: Double = 0.0
override var forrigeG: Int = 0
override var gjeldendeG: Int = 0

constructor(greg: GReguleringDetaljer) : this() {
if (greg.justeringTomDato != null) {
justeringTomDato = greg.justeringTomDato!!.clone() as Date
}
justeringsfaktor = greg.justeringsfaktor
forrigeG = greg.forrigeG
gjeldendeG = greg.gjeldendeG
}

constructor(
justeringTomDato: Date? = null,
justeringsfaktor: Double = 0.0,
forrigeG: Int = 0,
gjeldendeG: Int = 0
) {
this.justeringTomDato = justeringTomDato
this.justeringsfaktor = justeringsfaktor
this.forrigeG = forrigeG
this.gjeldendeG = gjeldendeG
}

override var justeringsfaktor = 0.0
override var forrigeG = 0
override var gjeldendeG = 0
}
Original file line number Diff line number Diff line change
@@ -1,38 +1,12 @@
package no.nav.pensjon.simulator.core.domain.regler.beregning2011

import no.nav.pensjon.simulator.core.domain.regler.enum.JusteringsTypeEnum
import java.io.Serializable
import java.lang.reflect.InvocationTargetException

// 2025-03-10
class JusteringsInformasjon : Serializable {
class JusteringsInformasjon {
var totalJusteringsfaktor: Double = 0.0
var justeringsTypeEnum: JusteringsTypeEnum? = null
var elementer: MutableList<IJustering> = mutableListOf()

constructor()

constructor(source: JusteringsInformasjon) : this() {
totalJusteringsfaktor = source.totalJusteringsfaktor
justeringsTypeEnum = source.justeringsTypeEnum

for (element in source.elementer) {
val clazz = element.javaClass
try {
val constructor = clazz.getConstructor(clazz)
elementer.add(constructor.newInstance(element) as IJustering)
} catch (e: InvocationTargetException) {
//Vil kastes hvis copy constructor f.eks. ledet til nullpointerexception.
val cause = e.cause
if (cause is RuntimeException) {
throw cause
} else {
throw RuntimeException(e)
}
} catch (e: Exception) {
//Vil kastes hvis f.eks. copy constructor ikke finnes for komponenten.
throw RuntimeException(e)
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package no.nav.pensjon.simulator.core.domain.regler.beregning2011

import java.io.Serializable

class JustertGarantipensjonsniva : Serializable {
// 2025-03-11
class JustertGarantipensjonsniva {
var garantipensjonsniva: Garantipensjonsniva? = null
var justeringsInformasjon: JusteringsInformasjon? = null
var belop = 0.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,18 @@
package no.nav.pensjon.simulator.core.domain.regler.beregning2011

import java.io.Serializable
import no.nav.pensjon.simulator.core.domain.reglerextend.beregning2011.copy

class JustertMinstePensjonsniva : Serializable {
// 2025-03-11
class JustertMinstePensjonsniva {
var minstePensjonsniva: MinstePensjonsniva? = null
var justeringsInformasjon: JusteringsInformasjon? = null
var belop: Double = 0.0
var belop = 0.0

constructor() : super() {}
constructor()

constructor(fmpn: JustertMinstePensjonsniva) : super() {
belop = fmpn.belop
if (fmpn.minstePensjonsniva != null) {
minstePensjonsniva = MinstePensjonsniva(fmpn.minstePensjonsniva!!)
}
if (fmpn.justeringsInformasjon != null) {
justeringsInformasjon = JusteringsInformasjon(fmpn.justeringsInformasjon!!)
}
}

constructor(mpn: MinstePensjonsniva?) {
if (mpn != null) {
minstePensjonsniva = MinstePensjonsniva(mpn)
}
}

constructor(
minstePensjonsniva: MinstePensjonsniva? = null,
justeringsInformasjon: JusteringsInformasjon? = null,
belop: Double = 0.0
) {
this.minstePensjonsniva = minstePensjonsniva
this.justeringsInformasjon = justeringsInformasjon
this.belop = belop
constructor(source: JustertMinstePensjonsniva) : super() {
belop = source.belop
minstePensjonsniva = source.minstePensjonsniva?.let(::MinstePensjonsniva)
justeringsInformasjon = source.justeringsInformasjon?.copy()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,11 @@ package no.nav.pensjon.simulator.core.domain.regler.beregning2011

import java.util.*

// 2025-03-11
class LonnsvekstDetaljer : ILonnsvekst {

override var justeringTomDato: Date? = null
override var justeringsfaktor: Double = 0.0
override var lonnsvekst: Double = 0.0
override var justeringsfaktor = 0.0
override var lonnsvekst = 0.0

constructor()

constructor(lvd: LonnsvekstDetaljer) : this() {
if (lvd.justeringTomDato != null) {
justeringTomDato = lvd.justeringTomDato!!.clone() as Date
}
justeringsfaktor = lvd.justeringsfaktor
lonnsvekst = lvd.lonnsvekst
}

constructor(
justeringTomDato: Date? = null,
justeringsfaktor: Double = 0.0,
lonnsvekst: Double = 0.0) {
this.justeringTomDato = justeringTomDato
this.justeringsfaktor = justeringsfaktor
this.lonnsvekst = lonnsvekst
}

}
Loading

0 comments on commit 5f2d709

Please sign in to comment.