This is an automated email from the ASF dual-hosted git repository. adamsaghy pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push: new f5add87f2 FINERACT-2103: refactor boilerplate code under `portfolio` package using Lombok annotations. f5add87f2 is described below commit f5add87f2ab040787da1738ff8404163ab4dc8d7 Author: zeyad2003 <zeyadnase...@gmail.com> AuthorDate: Tue Jun 4 04:50:17 2024 +0300 FINERACT-2103: refactor boilerplate code under `portfolio` package using Lombok annotations. --- .../client/data/ClientFamilyMembersData.java | 124 +-------------------- .../portfolio/client/data/ClientTimelineData.java | 24 +--- .../fineract/portfolio/note/data/NoteData.java | 23 +--- .../JournalEntryReadPlatformServiceImpl.java | 2 +- ...ClientFamilyMembersReadPlatformServiceImpl.java | 11 +- .../note/service/NoteReadPlatformServiceImpl.java | 6 +- 6 files changed, 19 insertions(+), 171 deletions(-) diff --git a/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java b/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java index e53bb578d..544100686 100644 --- a/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java +++ b/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientFamilyMembersData.java @@ -22,8 +22,12 @@ package org.apache.fineract.portfolio.client.data; import java.io.Serializable; import java.time.LocalDate; import java.util.Collection; +import lombok.Builder; +import lombok.Getter; import org.apache.fineract.infrastructure.codes.data.CodeValueData; +@Getter +@Builder public final class ClientFamilyMembersData implements Serializable { private final Long id; @@ -68,124 +72,4 @@ public final class ClientFamilyMembersData implements Serializable { private final Collection<CodeValueData> maritalStatusIdOptions; private final Collection<CodeValueData> professionIdOptions; - private ClientFamilyMembersData(final Long id, final Long clientId, final String firstName, final String middleName, - final String lastName, final String qualification, final String mobileNumber, final Long age, final Boolean isDependent, - final String relationship, final Long relationshipId, final String maritalStatus, final Long maritalStatusId, - final String gender, final Long genderId, final LocalDate dateOfBirth, final String profession, final Long professionId, - final Collection<CodeValueData> relationshipIdOptions, final Collection<CodeValueData> genderIdOptions, - final Collection<CodeValueData> maritalStatusIdOptions, final Collection<CodeValueData> professionIdOptions) { - this.id = id; - this.clientId = clientId; - this.firstName = firstName; - this.middleName = middleName; - this.lastName = lastName; - this.qualification = qualification; - this.relationship = relationship; - this.relationshipId = relationshipId; - this.maritalStatus = maritalStatus; - this.maritalStatusId = maritalStatusId; - this.gender = gender; - this.genderId = genderId; - this.dateOfBirth = dateOfBirth; - this.profession = profession; - this.professionId = professionId; - this.mobileNumber = mobileNumber; - this.age = age; - this.isDependent = isDependent; - this.relationshipIdOptions = relationshipIdOptions; - this.genderIdOptions = genderIdOptions; - this.maritalStatusIdOptions = maritalStatusIdOptions; - this.professionIdOptions = professionIdOptions; - - } - - public static ClientFamilyMembersData instance(final Long id, final Long clientId, final String firstName, final String middleName, - final String lastName, final String qualification, final String mobileNumber, final Long age, final Boolean isDependent, - final String relationship, final Long relationshipId, final String maritalStatus, final Long maritalStatusId, - final String gender, final Long genderId, final LocalDate dateOfBirth, final String profession, final Long professionId) { - return new ClientFamilyMembersData(id, clientId, firstName, middleName, lastName, qualification, mobileNumber, age, isDependent, - relationship, relationshipId, maritalStatus, maritalStatusId, gender, genderId, dateOfBirth, profession, professionId, null, - null, null, null); - } - - public static ClientFamilyMembersData templateInstance(final Collection<CodeValueData> relationshipIdOptions, - final Collection<CodeValueData> genderIdOptions, final Collection<CodeValueData> maritalStatusIdOptions, - final Collection<CodeValueData> professionIdOptions) { - - return new ClientFamilyMembersData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, - null, null, relationshipIdOptions, genderIdOptions, maritalStatusIdOptions, professionIdOptions); - } - - public Long getId() { - return this.id; - } - - public Long getClientId() { - return this.clientId; - } - - public String getFirstName() { - return this.firstName; - } - - public String getMiddleName() { - return this.middleName; - } - - public String getLastName() { - return this.lastName; - } - - public String getQualification() { - return this.qualification; - } - - public Long getRelationshipId() { - return this.relationshipId; - } - - public String getRelationship() { - return this.relationship; - } - - public Long getMaritalStatusId() { - return this.maritalStatusId; - } - - public String getMaritalStatus() { - return this.maritalStatus; - } - - public Long getGenderId() { - return this.genderId; - } - - public String getGender() { - return this.gender; - } - - public LocalDate getDateOfBirth() { - return this.dateOfBirth; - } - - public Long getProfessionId() { - return this.professionId; - } - - public String getProfession() { - return this.profession; - } - - public String getMobileNumber() { - return this.mobileNumber; - } - - public Long getAge() { - return this.age; - } - - public Boolean getIsDependent() { - return this.isDependent; - } - } diff --git a/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientTimelineData.java b/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientTimelineData.java index 122e265c2..ca8c68dfb 100644 --- a/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientTimelineData.java +++ b/fineract-core/src/main/java/org/apache/fineract/portfolio/client/data/ClientTimelineData.java @@ -20,6 +20,7 @@ package org.apache.fineract.portfolio.client.data; import java.io.Serializable; import java.time.LocalDate; +import lombok.AllArgsConstructor; import lombok.Getter; /** @@ -27,6 +28,7 @@ import lombok.Getter; */ @SuppressWarnings("unused") @Getter +@AllArgsConstructor public class ClientTimelineData implements Serializable { private final LocalDate submittedOnDate; @@ -43,26 +45,4 @@ public class ClientTimelineData implements Serializable { private final String closedByUsername; private final String closedByFirstname; private final String closedByLastname; - - public ClientTimelineData(final LocalDate submittedOnDate, final String submittedByUsername, final String submittedByFirstname, - final String submittedByLastname, final LocalDate activatedOnDate, final String activatedByUsername, - final String activatedByFirstname, final String activatedByLastname, final LocalDate closedOnDate, - final String closedByUsername, final String closedByFirstname, final String closedByLastname) { - this.submittedOnDate = submittedOnDate; - this.submittedByUsername = submittedByUsername; - this.submittedByFirstname = submittedByFirstname; - this.submittedByLastname = submittedByLastname; - - this.activatedOnDate = activatedOnDate; - this.activatedByUsername = activatedByUsername; - this.activatedByFirstname = activatedByFirstname; - this.activatedByLastname = activatedByLastname; - - this.closedOnDate = closedOnDate; - this.closedByUsername = closedByUsername; - this.closedByFirstname = closedByFirstname; - this.closedByLastname = closedByLastname; - - } - } diff --git a/fineract-core/src/main/java/org/apache/fineract/portfolio/note/data/NoteData.java b/fineract-core/src/main/java/org/apache/fineract/portfolio/note/data/NoteData.java index e7f395354..091e76792 100644 --- a/fineract-core/src/main/java/org/apache/fineract/portfolio/note/data/NoteData.java +++ b/fineract-core/src/main/java/org/apache/fineract/portfolio/note/data/NoteData.java @@ -19,6 +19,7 @@ package org.apache.fineract.portfolio.note.data; import java.time.OffsetDateTime; +import lombok.Builder; import lombok.Getter; import org.apache.fineract.infrastructure.core.data.EnumOptionData; @@ -26,6 +27,7 @@ import org.apache.fineract.infrastructure.core.data.EnumOptionData; * Immutable data object represent note or case information about a client, loan or loan transaction. */ @Getter +@Builder public class NoteData { private final Long id; @@ -43,25 +45,4 @@ public class NoteData { private final Long updatedById; private final String updatedByUsername; private final OffsetDateTime updatedOn; - - public NoteData(final Long id, final Long clientId, final Long groupId, final Long loanId, final Long transactionId, - final Long depositAccountId, final Long savingAccountId, final EnumOptionData noteType, final String note, - final OffsetDateTime createdDate, final Long createdById, final String createdByUsername, final OffsetDateTime lastModifiedDate, - final Long lastModifiedById, final String updatedByUsername) { - this.id = id; - this.clientId = clientId; - this.groupId = groupId; - this.loanId = loanId; - this.loanTransactionId = transactionId; - this.depositAccountId = depositAccountId; - this.savingAccountId = savingAccountId; - this.noteType = noteType; - this.note = note; - this.createdOn = createdDate; - this.createdById = createdById; - this.createdByUsername = createdByUsername; - this.updatedOn = lastModifiedDate; - this.updatedById = lastModifiedById; - this.updatedByUsername = updatedByUsername; - } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java index dc19626f9..021822d0e 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/accounting/journalentry/service/JournalEntryReadPlatformServiceImpl.java @@ -198,7 +198,7 @@ public class JournalEntryReadPlatformServiceImpl implements JournalEntryReadPlat final Long noteId = JdbcSupport.getLong(rs, "noteId"); if (noteId != null) { final String note = rs.getString("transactionNote"); - noteData = new NoteData(noteId, null, null, null, null, null, null, null, note, null, null, null, null, null, null); + noteData = NoteData.builder().id(noteId).note(note).build(); } Long transaction = null; if (entityType != null && transactionId != null) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java index d046b8ba9..cd0d5ca3e 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/client/service/ClientFamilyMembersReadPlatformServiceImpl.java @@ -83,10 +83,10 @@ public class ClientFamilyMembersReadPlatformServiceImpl implements ClientFamilyM final String profession = rs.getString("profession"); final long professionId = rs.getLong("professionId"); - return ClientFamilyMembersData.instance(id, clientId, firstName, middleName, lastName, qualification, mobileNumber, age, - isDependent, relationship, relationshipId, maritalStatus, maritalStatusId, gender, genderId, dateOfBirth, profession, - professionId); - + return ClientFamilyMembersData.builder().id(id).clientId(clientId).firstName(firstName).middleName(middleName) + .lastName(lastName).qualification(qualification).mobileNumber(mobileNumber).age(age).isDependent(isDependent) + .relationship(relationship).relationshipId(relationshipId).maritalStatus(maritalStatus).maritalStatusId(maritalStatusId) + .gender(gender).genderId(genderId).dateOfBirth(dateOfBirth).profession(profession).professionId(professionId).build(); } } @@ -126,7 +126,8 @@ public class ClientFamilyMembersReadPlatformServiceImpl implements ClientFamilyM final List<CodeValueData> professionOptions = new ArrayList<>( this.codeValueReadPlatformService.retrieveCodeValuesByCode("PROFESSION")); - return ClientFamilyMembersData.templateInstance(relationshipOptions, genderOptions, maritalStatusOptions, professionOptions); + return ClientFamilyMembersData.builder().relationshipIdOptions(relationshipOptions).genderIdOptions(genderOptions) + .maritalStatusIdOptions(maritalStatusOptions).professionIdOptions(professionOptions).build(); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java index 99217482f..5f178abdb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java @@ -74,8 +74,10 @@ public class NoteReadPlatformServiceImpl implements NoteReadPlatformService { final String updatedByUsername = rs.getString("modifiedBy"); final OffsetDateTime createdDate = createdDateUtc != null ? createdDateUtc : createdDateLocal; final OffsetDateTime lastModifiedDate = lastModifiedDateUtc != null ? lastModifiedDateUtc : lastModifiedDateLocal; - return new NoteData(id, clientId, groupId, loanId, transactionId, null, null, noteType, note, createdDate, createdById, - createdByUsername, lastModifiedDate, lastModifiedById, updatedByUsername); + + return NoteData.builder().id(id).clientId(clientId).groupId(groupId).loanId(loanId).loanTransactionId(transactionId) + .noteType(noteType).note(note).createdOn(createdDate).createdById(createdById).createdByUsername(createdByUsername) + .updatedOn(lastModifiedDate).updatedById(lastModifiedById).updatedByUsername(updatedByUsername).build(); } }