package Ġno . nav . oms org sd ager over for ing so kn ad . meld ing De le O ms org sd ager Ċ Ċ import Ġno . nav . hel se . d us se ld or f . ktor . core . ParameterType Ċ import Ġno . nav . hel se . d us se ld or f . ktor . core . Throw b lem Ċ import Ġno . nav . hel se . d us se ld or f . ktor . core . Validation Problem Details Ċ import Ġno . nav . hel se . d us se ld or f . ktor . core . Violation Ċ import Ġno . nav . oms org sd ager over for ing so kn ad . so kn ad Over fore D ager . er Gy ld ig N ors k Ident ifik ator Ċ Ċ val ĠMAX _ ANT ALL _ D AGER _ MAN _ KAN _ DE LE Ġ= Ġ 1 0 Ċ val ĠMIN _ ANT ALL _ D AGER _ MAN _ KAN _ DE LE Ġ= Ġ 1 Ċ val ĠMAX _ ANT ALL _ D AGER _ MAN _ KAN _ HA _ DE LT _ I _ Ã ħ R Ġ= Ġ 9 9 9 Ċ Ċ internal Ġfun ĠMel ding De le O ms org sd ager . valid er () Ġ{ ĊĠĠĠ Ġval Ġm ang ler : ĠMutable Set < Violation > Ġ= Ġmutable Set Of < Violation >() ĊĊĠĠĠ Ġif ( har Be k ref t et Op pl ys ning er Ġer Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" har Be k ref t et Op pl ys ning er ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" Op pl ys ning ene ĠmÃ¥ Ġbe k ref tes Ġfor ĠÃ¥ Ġs ende Ġinn Ġs Ã¸ kn ad .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġhar Be k ref t et Op pl ys ning er ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif ( har For st Ã¥ tt Ret tig heter Og P lik ter Ġer Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" har For st Ã¥ tt Ret tig heter Og P lik ter ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" M Ã¥ Ġha Ġfor st Ã¥ tt Ġret tig heter Ġog Ġplik ter Ġfor ĠÃ¥ Ġs ende Ġinn Ġs Ã¸ kn ad .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġhar For st Ã¥ tt Ret tig heter Og P lik ter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif ( ant all D ager B ru kt I Ã ħ r Ġ! in Ġ 0 .. MAX _ ANT ALL _ D AGER _ MAN _ KAN _ HA _ DE LT _ I _ Ã ħ R ){ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" ant all D ager B ru kt I Ã ħ r ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" ant all D ager B ru kt I Ã ħ r ĠmÃ¥ Ġv Ã¦ re Ġmel lom Ġ 0 Ġog Ġ$ MAX _ ANT ALL _ D AGER _ MAN _ KAN _ HA _ DE LT _ I _ Ã ħ R ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġant all D ager B ru kt I Ã ħ r ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif (! mot t aker Fn r . er Gy ld ig N ors k Ident ifik ator ()){ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" fn r M ott aker ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" fn r M ott aker Ġer Ġik ke Ġgy ld ig Ġn ors k Ġident ifik ator ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġmot t aker Fn r ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif ( mot t aker Nav n . isBlank ()){ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" mot t aker Nav n ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" mot t aker Nav n Ġer Ġto mt Ġeller Ġbare Ġwhitespace ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġmot t aker Nav n ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif ( ant all D ager S om Sk al Over f Ã¸ res Ġ! in ĠMIN _ ANT ALL _ D AGER _ MAN _ KAN _ DE LE .. MAX _ ANT ALL _ D AGER _ MAN _ KAN _ DE LE ){ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" ant all D ager Til Over f Ã¸ re ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" ant all D ager Til Over f Ã¸ re ĠmÃ¥ Ġv Ã¦ re Ġmel lom Ġ$ MIN _ ANT ALL _ D AGER _ MAN _ KAN _ DE LE Ġog Ġ$ MAX _ ANT ALL _ D AGER _ MAN _ KAN _ DE LE ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġant all D ager S om Sk al Over f Ã¸ res ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif ( er Yr kes aktiv Ġer Ġfalse ){ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" er Yr kes aktiv ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" er Yr kes aktiv ĠmÃ¥ Ġv Ã¦ re Ġs att Ġtil Ġtrue ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġer Yr kes aktiv ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġm ang ler . addAll ( bar n . valid er ()) ĊĠĠĠ Ġm ang ler . addAll ( null S je kk ( ar be ider IN orge , Ġ" ar be ider IN orge ")) ĊĠĠĠ Ġm ang ler . addAll ( null S je kk ( er Yr kes aktiv , Ġ" er Yr kes aktiv ")) ĊĊĠĠĠ Ġif Ġ( m ang ler . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠThrow b lem ( Validation Problem Details ( m ang ler )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠList < B arn Ut vide t >. valid er (): ĠMutable Set < Violation > Ġ{ ĊĠĠĠ Ġval Ġm ang ler : ĠMutable Set < Violation > Ġ= Ġmutable Set Of < Violation >() ĊĊĠĠĠ ĠforEach Indexed Ġ{ Ġindex , Ġb arn Ut vide t Ġ-> ĊĊĠĠĠĠĠĠĠ Ġm ang ler . addAll ( null S je kk ( bar n Ut vide t . al ene Om O ms org en , Ġ" al ene Om O ms org en ")) ĊĠĠĠĠĠĠĠ Ġm ang ler . addAll ( null S je kk ( bar n Ut vide t . ut vide t Ret t , Ġ" ut vide t Ret t ")) ĊĊĠĠĠĠĠĠĠ Ġif ( bar n Ut vide t . ident it ets nummer . isNull OrEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" bar n [$ index ]. ident it ets nummer ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" ident it ets nummer Ġer Ġtom Ġeller Ġnull ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġb arn Ut vide t . ident it ets nummer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġident it ets nummer Ġ= Ġb arn Ut vide t . ident it ets nummer ĊĠĠĠĠĠĠĠ Ġif ( ident it ets nummer Ġ!= Ġnull Ġ&& Ġ! ident it ets nummer . er Gy ld ig N ors k Ident ifik ator ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġ" bar n [$ index ]. ident it ets nummer ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ" ident it ets nummer Ġer Ġik ke Ġgy ld ig Ġn ors k Ġident ifik ator ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġb arn Ut vide t . ident it ets nummer ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġm ang ler Ċ } Ċ Ċ private Ġfun Ġnull S je kk ( ver di : ĠBoolean ?, Ġnav n : ĠString ): ĠMutable Set < Violation >{ ĊĠĠĠ Ġval Ġm ang ler : ĠMutable Set < Violation > Ġ= Ġmutable Set Of < Violation >() ĊĊĠĠĠ Ġif ( ver di Ġer Ġnull ){ ĊĠĠĠĠĠĠĠ Ġm ang ler . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVi olation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Name Ġ= Ġnav n , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameter Type Ġ= ĠParameter Type . ENTITY , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġ"$ nav n Ġkan Ġik ke Ġv Ã¦ re Ġnull ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalid Value Ġ= Ġver di ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġm ang ler Ċ } Ċ Ċ private Ġin fix Ġfun ĠBoolean ?. er ( for vent et Ver di : ĠBoolean ?): ĠBoolean Ġ= Ġthis Ġ== Ġfor vent et Ver di