@@ -21,32 +21,35 @@ case class N52(
21
21
description : String = N52 .metaData.description
22
22
) extends NationalAggregateReport {
23
23
def + (a52 : A52 ): N52 = {
24
+ if (applicantIncomes.isEmpty) {
25
+ N52 (a52.year, a52.reportDate, a52.applicantIncomes, a52.total)
26
+ } else {
27
+ val combinedIncomes = a52.applicantIncomes.map(income => {
28
+ val newC = applicantIncomes.find(i => i.applicantIncome == income.applicantIncome).get.borrowerCharacteristics
29
+ val originalC = income.borrowerCharacteristics
24
30
25
- val combinedIncomes = a52.applicantIncomes.map(income => {
26
- val newC = applicantIncomes .find(i => i.applicantIncome == income.applicantIncome ).get.borrowerCharacteristics
27
- val originalC = income.borrowerCharacteristics
31
+ val nR = newC.find(_. isInstanceOf [ RaceBorrowerCharacteristic ]).get. asInstanceOf [ RaceBorrowerCharacteristic ]
32
+ val oR = originalC .find(_. isInstanceOf [ RaceBorrowerCharacteristic ] ).get.asInstanceOf [ RaceBorrowerCharacteristic ]
33
+ val cR = oR + nR
28
34
29
- val nR = newC.find(_.isInstanceOf [RaceBorrowerCharacteristic ]).get.asInstanceOf [RaceBorrowerCharacteristic ]
30
- val oR = originalC.find(_.isInstanceOf [RaceBorrowerCharacteristic ]).get.asInstanceOf [RaceBorrowerCharacteristic ]
31
- val cR = oR + nR
35
+ val nE = newC.find(_.isInstanceOf [EthnicityBorrowerCharacteristic ]).get.asInstanceOf [EthnicityBorrowerCharacteristic ]
36
+ val oE = originalC.find(_.isInstanceOf [EthnicityBorrowerCharacteristic ]).get.asInstanceOf [EthnicityBorrowerCharacteristic ]
37
+ val cE = oE + nE
32
38
33
- val nE = newC.find(_.isInstanceOf [EthnicityBorrowerCharacteristic ]).get.asInstanceOf [EthnicityBorrowerCharacteristic ]
34
- val oE = originalC.find(_.isInstanceOf [EthnicityBorrowerCharacteristic ]).get.asInstanceOf [EthnicityBorrowerCharacteristic ]
35
- val cE = oE + nE
39
+ val nM = newC.find(_.isInstanceOf [MinorityStatusBorrowerCharacteristic ]).get.asInstanceOf [MinorityStatusBorrowerCharacteristic ]
40
+ val oM = originalC.find(_.isInstanceOf [MinorityStatusBorrowerCharacteristic ]).get.asInstanceOf [MinorityStatusBorrowerCharacteristic ]
41
+ val cM = oM + nM
36
42
37
- val nM = newC.find(_.isInstanceOf [MinorityStatusBorrowerCharacteristic ]).get.asInstanceOf [MinorityStatusBorrowerCharacteristic ]
38
- val oM = originalC.find(_.isInstanceOf [MinorityStatusBorrowerCharacteristic ]).get.asInstanceOf [MinorityStatusBorrowerCharacteristic ]
39
- val cM = oM + nM
43
+ ApplicantIncome (income.applicantIncome, List (cR, cE, cM))
44
+ })
40
45
41
- ApplicantIncome (income.applicantIncome, List (cR, cE, cM))
42
- })
43
-
44
- val combinedDispositions = a52.total.map(disposition => {
45
- val originalDisposition = total.find(d => d.disposition == disposition.disposition).get
46
- disposition + originalDisposition
47
- })
46
+ val combinedDispositions = a52.total.map(disposition => {
47
+ val originalDisposition = total.find(d => d.disposition == disposition.disposition).get
48
+ disposition + originalDisposition
49
+ })
48
50
49
- N52 (year, reportDate, combinedIncomes, combinedDispositions, table, description)
51
+ N52 (year, reportDate, combinedIncomes, combinedDispositions, table, description)
52
+ }
50
53
}
51
54
}
52
55
0 commit comments