Skip to content

Commit 96caf90

Browse files
FINERACT-2491: Refactor SavingsEnumerations to use switch expression
1 parent 8a61e30 commit 96caf90

File tree

2 files changed

+17
-28
lines changed

2 files changed

+17
-28
lines changed

fineract-core/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsEnumerations.java

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -59,33 +59,22 @@ private SavingsEnumerations() {
5959
public static final String INTEREST_CALCULATION_DAYS_IN_YEAR = "interestCalculationDaysInYearType";
6060
public static final String RECURRING_FREQUENCY_TYPE = "recurringFrequencyType";
6161

62-
public static EnumOptionData savingEnumueration(final String typeName, final int id) {
63-
if (typeName.equals(INTEREST_COMPOUNDING_PERIOD_TYPE)) {
64-
return compoundingInterestPeriodType(id);
65-
} else if (typeName.equals(INTEREST_POSTING_PERIOD_TYPE)) {
66-
return interestPostingPeriodType(id);
67-
} else if (typeName.equals(INTEREST_CALCULATION_TYPE)) {
68-
return interestCalculationType(id);
69-
} else if (typeName.equals(MIN_DEPOSIT_TERM_TYPE)) {
70-
return depositTermFrequencyType(id);
71-
} else if (typeName.equals(MAX_DEPOSIT_TERM_TYPE)) {
72-
return depositTermFrequencyType(id);
73-
} else if (typeName.equals(IN_MULTIPLES_OF_DEPOSIT_TERM_TYPE)) {
74-
return inMultiplesOfDepositTermFrequencyType(id);
75-
} else if (typeName.equals(DEPOSIT_PERIOD_FREQUNCY_TYPE)) {
76-
return depositPeriodFrequency(id);
77-
} else if (typeName.equals(LOCKIN_PERIOD_FREQUNCY_TYPE)) {
78-
return lockinPeriodFrequencyType(id);
79-
} else if (typeName.equals(ACCOUNTING_RULE_TYPE)) {
80-
return AccountingEnumerations.accountingRuleType(id);
81-
} else if (typeName.equals(PRE_CLOSURE_PENAL_INTEREST_TYPE)) {
82-
return preClosurePenaltyInterestOnType(id);
83-
} else if (typeName.equals(INTEREST_CALCULATION_DAYS_IN_YEAR)) {
84-
return interestCalculationDaysInYearType(id);
85-
} else if (typeName.equals(RECURRING_FREQUENCY_TYPE)) {
86-
return depositPeriodFrequency(id);
87-
}
88-
return null;
62+
public static EnumOptionData savingEnumeration(final String typeName, final int id) {
63+
return switch (typeName) {
64+
case INTEREST_COMPOUNDING_PERIOD_TYPE -> compoundingInterestPeriodType(id);
65+
case INTEREST_POSTING_PERIOD_TYPE -> interestPostingPeriodType(id);
66+
case INTEREST_CALCULATION_TYPE -> interestCalculationType(id);
67+
case MIN_DEPOSIT_TERM_TYPE -> depositTermFrequencyType(id);
68+
case MAX_DEPOSIT_TERM_TYPE -> depositTermFrequencyType(id);
69+
case IN_MULTIPLES_OF_DEPOSIT_TERM_TYPE -> inMultiplesOfDepositTermFrequencyType(id);
70+
case DEPOSIT_PERIOD_FREQUNCY_TYPE -> depositPeriodFrequency(id);
71+
case LOCKIN_PERIOD_FREQUNCY_TYPE -> lockinPeriodFrequencyType(id);
72+
case ACCOUNTING_RULE_TYPE -> AccountingEnumerations.accountingRuleType(id);
73+
case PRE_CLOSURE_PENAL_INTEREST_TYPE -> preClosurePenaltyInterestOnType(id);
74+
case INTEREST_CALCULATION_DAYS_IN_YEAR -> interestCalculationDaysInYearType(id);
75+
case RECURRING_FREQUENCY_TYPE -> depositPeriodFrequency(id);
76+
default -> null;
77+
};
8978
}
9079

9180
public static EnumOptionData lockinPeriodFrequencyType(final int id) {

fineract-provider/src/main/java/org/apache/fineract/commands/service/AuditReadPlatformServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ private void updateEnumerations(Map<String, Object> commandAsJsonMap, JsonObject
393393
commandAsJsonMap.remove(typeName);
394394

395395
final Integer enumTypeId = auditObject.get(typeName).getAsInt();
396-
final String code = SavingsEnumerations.savingEnumueration(typeName, enumTypeId).getValue();
396+
final String code = SavingsEnumerations.savingEnumeration(typeName, enumTypeId).getValue();
397397
if (code != null) {
398398
commandAsJsonMap.put(typeName, code);
399399
}

0 commit comments

Comments
 (0)