From 5ad63752c9080aacaf67102047fa712ac323379b Mon Sep 17 00:00:00 2001 From: zeyad2003 Date: Mon, 1 Apr 2024 03:03:39 +0200 Subject: [PATCH] FINERACT-2056: (chore) introduce builder pattern and remove redundant methods & constructors. - used @Getter & @Builder annotations on the above of GroupSavingsIndividualMonitoringAccountData. - removed the getters and getInstance() methods from the implementation. - change GSIMReadPlatformServiceImpl to make use of the new implementation. --- ...avingsIndividualMonitoringAccountData.java | 80 +------------------ .../service/GSIMReadPlatformServiceImpl.java | 11 ++- 2 files changed, 11 insertions(+), 80 deletions(-) diff --git a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java index c7d861cce..0a22d4e79 100644 --- a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java +++ b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/GroupSavingsIndividualMonitoringAccountData.java @@ -20,7 +20,11 @@ package org.apache.fineract.portfolio.savings.data; import java.math.BigDecimal; +import lombok.Builder; +import lombok.Getter; +@Getter +@Builder public final class GroupSavingsIndividualMonitoringAccountData { private final BigDecimal gsimId; @@ -42,80 +46,4 @@ public final class GroupSavingsIndividualMonitoringAccountData { private final Long childAccountsCount; private final String savingsStatus; - - private GroupSavingsIndividualMonitoringAccountData(final BigDecimal glimId, final BigDecimal groupId, final BigDecimal clientId, - final String accountNumber, final BigDecimal childAccountId, final String childAccountNumber, final BigDecimal childDeposit, - final BigDecimal parentDeposit, final Long childAccountsCount, final String savingsStatus) { - this.gsimId = glimId; - this.groupId = groupId; - this.clientId = clientId; - this.accountNumber = accountNumber; - this.childAccountId = childAccountId; - this.childAccountNumber = childAccountNumber; - this.childDeposit = childDeposit; - this.parentDeposit = parentDeposit; - this.childAccountsCount = childAccountsCount; - this.savingsStatus = savingsStatus; - } - - public static GroupSavingsIndividualMonitoringAccountData getInstance(final BigDecimal glimId, final BigDecimal groupId, - final String accountNumber, final String childAccountNumber, final BigDecimal childDeposit, final BigDecimal parentDeposit, - final Long childAccountsCount, final String savingsStatus) { - return new GroupSavingsIndividualMonitoringAccountData(glimId, groupId, null, accountNumber, null, childAccountNumber, childDeposit, - parentDeposit, childAccountsCount, savingsStatus); - } - - public static GroupSavingsIndividualMonitoringAccountData getInstance1(final BigDecimal glimId, final BigDecimal groupId, - final String accountNumber, final BigDecimal parentDeposit, final String savingsStatus) { - return new GroupSavingsIndividualMonitoringAccountData(glimId, groupId, null, accountNumber, null, null, null, parentDeposit, null, - savingsStatus); - } - - public static GroupSavingsIndividualMonitoringAccountData getInstance2(final BigDecimal glimId, final BigDecimal groupId, - final BigDecimal clientId, final String accountNumber, final BigDecimal childAccountId, final String childAccountNumber, - final BigDecimal childDeposit, final BigDecimal parentDeposit, final Long childAccountsCount, final String savingsStatus) { - return new GroupSavingsIndividualMonitoringAccountData(glimId, groupId, clientId, accountNumber, childAccountId, childAccountNumber, - childDeposit, parentDeposit, childAccountsCount, savingsStatus); - } - - public BigDecimal getGsimId() { - return gsimId; - } - - public BigDecimal getGroupId() { - return groupId; - } - - public BigDecimal getClientId() { - return clientId; - } - - public String getAccountNumber() { - return accountNumber; - } - - public BigDecimal getChildAccountId() { - return childAccountId; - } - - public String getChildAccountNumber() { - return childAccountNumber; - } - - public BigDecimal getChildDeposit() { - return childDeposit; - } - - public BigDecimal getParentDeposit() { - return parentDeposit; - } - - public Long getChildAccountsCount() { - return childAccountsCount; - } - - public String getSavingsStatus() { - return savingsStatus; - } - } diff --git a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java index dbb113815..7e63c0650 100644 --- a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java +++ b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/service/GSIMReadPlatformServiceImpl.java @@ -73,8 +73,11 @@ public class GSIMReadPlatformServiceImpl implements GSIMReadPlatformService { final BigDecimal parentBalance = rs.getBigDecimal("parentBalance"); final BigDecimal childBalance = rs.getBigDecimal("childBalance"); final String savingsStatus = SavingsAccountStatusType.fromInt((int) rs.getLong("savingsStatus")).toString(); - return GroupSavingsIndividualMonitoringAccountData.getInstance2(gsimId, groupId, clientId, accountNumber, childAccountId, - childAccountNumber, parentBalance, childBalance, childAccountsCount, savingsStatus); + + return GroupSavingsIndividualMonitoringAccountData.builder().gsimId(gsimId).groupId(groupId).clientId(clientId) + .accountNumber(accountNumber).childAccountId(childAccountId).childAccountNumber(childAccountNumber) + .childDeposit(parentBalance).parentDeposit(childBalance).childAccountsCount(childAccountsCount) + .savingsStatus(savingsStatus).build(); } } @@ -99,8 +102,8 @@ public class GSIMReadPlatformServiceImpl implements GSIMReadPlatformService { final String loanStatus = LoanStatus.fromInt((int) rs.getLong("savingsStatus")).toString(); - return GroupSavingsIndividualMonitoringAccountData.getInstance1(glimId, groupId, accountNumber, parentDeposit, loanStatus); - + return GroupSavingsIndividualMonitoringAccountData.builder().gsimId(glimId).groupId(groupId).accountNumber(accountNumber) + .parentDeposit(parentDeposit).savingsStatus(loanStatus).build(); } }