This is an automated email from the ASF dual-hosted git repository.

arnold 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 aa12de397 refactor: add lombok to provisioning module
aa12de397 is described below

commit aa12de397dc0100da7e13346e625f7a453e2e644
Author: Hemant Gupta <[email protected]>
AuthorDate: Tue Aug 30 02:52:53 2022 +0530

    refactor: add lombok to provisioning module
---
 .../data/LoanProductProvisioningEntryData.java     | 94 ++++++----------------
 .../provisioning/data/ProvisioningEntryData.java   | 34 ++------
 .../domain/LoanProductProvisioningEntry.java       | 52 ++----------
 .../provisioning/domain/ProvisioningEntry.java     | 29 ++-----
 ...ProvisioningEntriesReadPlatformServiceImpl.java | 33 +++++---
 ...triesWritePlatformServiceJpaRepositoryImpl.java | 17 ++--
 6 files changed, 77 insertions(+), 182 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/LoanProductProvisioningEntryData.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/LoanProductProvisioningEntryData.java
index 89a940438..0e1f6da4e 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/LoanProductProvisioningEntryData.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/LoanProductProvisioningEntryData.java
@@ -19,77 +19,33 @@
 package org.apache.fineract.accounting.provisioning.data;
 
 import java.math.BigDecimal;
-import lombok.Getter;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
 
-@Getter
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
 public class LoanProductProvisioningEntryData {
 
-    private final Long historyId;
-    private final Long officeId;
-    private final String officeName;
-    private final String currencyCode;
-    private final Long productId;
-    private final String productName;
-    private final Long categoryId;
-    private final String categoryName;
-    private final Long overdueInDays;
-    private final BigDecimal percentage;
-    private final BigDecimal balance;
-    private final BigDecimal amountreserved;
-    private final Long liablityAccount;
-    private final String liabilityAccountCode;
-    private final String liabilityAccountName;
-    private final Long expenseAccount;
-    private final String expenseAccountCode;
-    private final String expenseAccountName;
-    private final Long criteriaId;
+    private Long historyId;
+    private Long officeId;
+    private String officeName;
+    private String currencyCode;
+    private Long productId;
+    private String productName;
+    private Long categoryId;
+    private String categoryName;
+    private Long overdueInDays;
+    private BigDecimal percentage;
+    private BigDecimal balance;
+    private BigDecimal amountreserved;
+    private Long liablityAccount;
+    private String liabilityAccountCode;
+    private String liabilityAccountName;
+    private Long expenseAccount;
+    private String expenseAccountCode;
+    private String expenseAccountName;
+    private Long criteriaId;
 
-    public LoanProductProvisioningEntryData(final Long historyId, final Long 
officeId, final String currencyCode, final Long productId,
-            final Long categoryId, final Long overdueInDays, final BigDecimal 
percentage, final BigDecimal balance, Long liablityAccount,
-            Long expenseAccount, final Long criteriaId) {
-        this.historyId = historyId;
-        this.officeId = officeId;
-        this.currencyCode = currencyCode;
-        this.productId = productId;
-        this.categoryId = categoryId;
-        this.overdueInDays = overdueInDays;
-        this.percentage = percentage;
-        this.balance = balance;
-        this.liablityAccount = liablityAccount;
-        this.expenseAccount = expenseAccount;
-        this.amountreserved = null;
-        this.officeName = null;
-        this.productName = null;
-        this.categoryName = null;
-        this.liabilityAccountCode = null;
-        this.liabilityAccountName = null;
-        this.expenseAccountCode = null;
-        this.expenseAccountName = null;
-        this.criteriaId = criteriaId;
-    }
-
-    public LoanProductProvisioningEntryData(final Long historyId, final Long 
officeId, final String officeName, final String currencyCode,
-            final Long productId, final String productName, final Long 
categoryId, final String categoryName, final Long overdueInDays,
-            final BigDecimal amountreserved, Long liablityAccount, String 
liabilityAccountglCode, String liabilityAccountName,
-            Long expenseAccount, String expenseAccountglCode, String 
expenseAccountName, final Long criteriaId) {
-        this.historyId = historyId;
-        this.officeId = officeId;
-        this.currencyCode = currencyCode;
-        this.productId = productId;
-        this.categoryId = categoryId;
-        this.categoryName = categoryName;
-        this.overdueInDays = overdueInDays;
-        this.percentage = null;
-        this.balance = null;
-        this.liablityAccount = liablityAccount;
-        this.expenseAccount = expenseAccount;
-        this.officeName = officeName;
-        this.productName = productName;
-        this.amountreserved = amountreserved;
-        this.liabilityAccountCode = liabilityAccountglCode;
-        this.liabilityAccountName = liabilityAccountName;
-        this.expenseAccountCode = expenseAccountglCode;
-        this.expenseAccountName = expenseAccountName;
-        this.criteriaId = criteriaId;
-    }
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/ProvisioningEntryData.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/ProvisioningEntryData.java
index a07f7fbfd..2d90c8adc 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/ProvisioningEntryData.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/data/ProvisioningEntryData.java
@@ -21,7 +21,13 @@ package org.apache.fineract.accounting.provisioning.data;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.Collection;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
 
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
 @SuppressWarnings("unused")
 public class ProvisioningEntryData {
 
@@ -43,32 +49,4 @@ public class ProvisioningEntryData {
 
     private Collection<LoanProductProvisioningEntryData> provisioningEntries;
 
-    public ProvisioningEntryData(final Long id, final 
Collection<LoanProductProvisioningEntryData> provisioningEntries) {
-        this.provisioningEntries = provisioningEntries;
-        this.id = id;
-    }
-
-    public ProvisioningEntryData(Long id, Boolean journalEntry, Long 
createdById, String createdUser, LocalDate createdDate,
-            Long modifiedById, String modifiedUser, BigDecimal 
totalReservedAmount) {
-        this.id = id;
-        this.journalEntry = journalEntry;
-        this.createdById = createdById;
-        this.createdUser = createdUser;
-        this.modifiedById = modifiedById;
-        this.modifiedUser = modifiedUser;
-        this.createdDate = createdDate;
-        this.reservedAmount = totalReservedAmount;
-    }
-
-    public void setEntries(Collection<LoanProductProvisioningEntryData> 
provisioningEntries) {
-        this.provisioningEntries = provisioningEntries;
-    }
-
-    public Long getId() {
-        return this.id;
-    }
-
-    public LocalDate getCreatedDate() {
-        return this.createdDate;
-    }
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/LoanProductProvisioningEntry.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/LoanProductProvisioningEntry.java
index 46c0902db..5b9b1b56c 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/LoanProductProvisioningEntry.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/LoanProductProvisioningEntry.java
@@ -25,12 +25,20 @@ import javax.persistence.Entity;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.experimental.Accessors;
 import org.apache.fineract.accounting.glaccount.domain.GLAccount;
 import 
org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
 import org.apache.fineract.organisation.office.domain.Office;
 import 
org.apache.fineract.organisation.provisioning.domain.ProvisioningCategory;
 import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
 
+@Getter
+@Setter
+@NoArgsConstructor
+@Accessors(chain = true)
 @Entity
 @Table(name = "m_loanproduct_provisioning_entry")
 public class LoanProductProvisioningEntry extends AbstractPersistableCustom {
@@ -71,50 +79,6 @@ public class LoanProductProvisioningEntry extends 
AbstractPersistableCustom {
     @JoinColumn(name = "expense_account", nullable = false)
     private GLAccount expenseAccount;
 
-    protected LoanProductProvisioningEntry() {}
-
-    public LoanProductProvisioningEntry(final LoanProduct loanProduct, final 
Office office, final String currencyCode,
-            final ProvisioningCategory provisioningCategory, final Long 
overdueInDays, final BigDecimal reservedAmount,
-            final GLAccount liabilityAccount, final GLAccount expenseAccount, 
Long criteriaId) {
-        this.loanProduct = loanProduct;
-        this.office = office;
-        this.currencyCode = currencyCode;
-        this.provisioningCategory = provisioningCategory;
-        this.overdueInDays = overdueInDays;
-        this.reservedAmount = reservedAmount;
-        this.liabilityAccount = liabilityAccount;
-        this.expenseAccount = expenseAccount;
-        this.criteriaId = criteriaId;
-    }
-
-    public void setProvisioningEntry(ProvisioningEntry provisioningEntry) {
-        this.entry = provisioningEntry;
-    }
-
-    public BigDecimal getReservedAmount() {
-        return this.reservedAmount;
-    }
-
-    public void addReservedAmount(BigDecimal value) {
-        this.reservedAmount = this.reservedAmount.add(value);
-    }
-
-    public Office getOffice() {
-        return this.office;
-    }
-
-    public GLAccount getLiabilityAccount() {
-        return this.liabilityAccount;
-    }
-
-    public String getCurrencyCode() {
-        return this.currencyCode;
-    }
-
-    public GLAccount getExpenseAccount() {
-        return this.expenseAccount;
-    }
-
     // TODO Note that this domain class does equals() & hashCode() on getId()
     // for @JoinColumn attributes, which not all other classes do...
 
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/ProvisioningEntry.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/ProvisioningEntry.java
index 4c8cf0555..db298092c 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/ProvisioningEntry.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/domain/ProvisioningEntry.java
@@ -30,9 +30,17 @@ import javax.persistence.JoinColumn;
 import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.Table;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.experimental.Accessors;
 import 
org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom;
 import org.apache.fineract.useradministration.domain.AppUser;
 
+@Getter
+@Setter
+@NoArgsConstructor
+@Accessors(chain = true)
 @Entity
 @Table(name = "m_provisioning_history")
 public class ProvisioningEntry extends AbstractPersistableCustom {
@@ -57,19 +65,6 @@ public class ProvisioningEntry extends 
AbstractPersistableCustom {
     @Column(name = "lastmodified_date")
     private LocalDate lastModifiedDate;
 
-    protected ProvisioningEntry() {
-
-    }
-
-    public ProvisioningEntry(AppUser createdBy, LocalDate createdDate, AppUser 
lastModifiedBy, LocalDate lastModifiedDate,
-            Set<LoanProductProvisioningEntry> provisioningEntries) {
-        this.provisioningEntries = provisioningEntries;
-        this.createdBy = createdBy;
-        this.createdDate = createdDate;
-        this.lastModifiedBy = lastModifiedBy;
-        this.lastModifiedDate = lastModifiedDate;
-    }
-
     public void 
setProvisioningEntries(Collection<LoanProductProvisioningEntry> 
provisioningEntries) {
         if (this.provisioningEntries == null) {
             this.provisioningEntries = new HashSet<>();
@@ -81,12 +76,4 @@ public class ProvisioningEntry extends 
AbstractPersistableCustom {
         return this.provisioningEntries;
     }
 
-    public void setJournalEntryCreated(Boolean bool) {
-        this.isJournalEntryCreated = bool;
-    }
-
-    public LocalDate getCreatedDate() {
-        return this.createdDate;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
index 0cb95b182..a0faf234e 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesReadPlatformServiceImpl.java
@@ -95,8 +95,10 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
             Long criteriaId = rs.getLong("criteriaid");
             Long historyId = null;
 
-            return new LoanProductProvisioningEntryData(historyId, officeId, 
currentcyCode, productId, categoryId, overdueDays, percentage,
-                    outstandingBalance, liabilityAccountCode, 
expenseAccountCode, criteriaId);
+            return new 
LoanProductProvisioningEntryData().setHistoryId(historyId).setOfficeId(officeId).setCurrencyCode(currentcyCode)
+                    
.setProductId(productId).setCategoryId(categoryId).setOverdueInDays(overdueDays).setPercentage(percentage)
+                    
.setBalance(outstandingBalance).setLiablityAccount(liabilityAccountCode).setExpenseAccount(expenseAccountCode)
+                    .setCriteriaId(criteriaId);
         }
 
         public String schema() {
@@ -131,8 +133,9 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
             String modifieUser = rs.getString("modifieduser");
             BigDecimal totalReservedAmount = null;
             LocalDate createdLocalDate = createdDate != null ? 
createdDate.toLocalDate() : null;
-            return new ProvisioningEntryData(id, journalEntry, createdById, 
createdUser, createdLocalDate, modifiedById, modifieUser,
-                    totalReservedAmount);
+            return new 
ProvisioningEntryData().setId(id).setJournalEntry(journalEntry).setCreatedById(createdById)
+                    
.setCreatedUser(createdUser).setCreatedDate(createdLocalDate).setModifiedById(modifiedById).setModifiedUser(modifieUser)
+                    .setReservedAmount(totalReservedAmount);
         }
 
         public String getSchema() {
@@ -173,9 +176,13 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
             Long criteriaId = rs.getLong("criteriaid");
             String liabilityAccountName = rs.getString("liabilityname");
             String expenseAccountName = rs.getString("expensename");
-            return new LoanProductProvisioningEntryData(historyId, officeId, 
officeName, currentcyCode, productId, productName, categoryId,
-                    categoryName, overdueDays, amountreserved, 
liabilityAccountCode, liabilityAccountglCode, liabilityAccountName,
-                    expenseAccountCode, expenseAccountglCode, 
expenseAccountName, criteriaId);
+            return new 
LoanProductProvisioningEntryData().setHistoryId(historyId).setOfficeId(officeId).setOfficeName(officeName)
+                    
.setCurrencyCode(currentcyCode).setProductId(productId).setProductName(productName).setCategoryId(categoryId)
+                    
.setCategoryName(categoryName).setOverdueInDays(overdueDays).setAmountreserved(amountreserved)
+                    
.setLiablityAccount(liabilityAccountCode).setLiabilityAccountCode(liabilityAccountglCode)
+                    
.setLiabilityAccountName(liabilityAccountName).setExpenseAccount(expenseAccountCode)
+                    
.setExpenseAccountCode(expenseAccountglCode).setExpenseAccountName(expenseAccountName).setCriteriaId(criteriaId);
+
         }
 
         public String getSchema() {
@@ -205,8 +212,9 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
             String modifieUser = rs.getString("modifieduser");
             BigDecimal totalReservedAmount = rs.getBigDecimal("totalreserved");
             LocalDate createdLocalDate = createdDate != null ? 
createdDate.toLocalDate() : null;
-            return new ProvisioningEntryData(id, journalEntry, createdById, 
createdUser, createdLocalDate, modifiedById, modifieUser,
-                    totalReservedAmount);
+            return new 
ProvisioningEntryData().setId(id).setJournalEntry(journalEntry).setCreatedById(createdById)
+                    
.setCreatedUser(createdUser).setCreatedDate(createdLocalDate).setModifiedById(modifiedById).setModifiedUser(modifieUser)
+                    .setReservedAmount(totalReservedAmount);
         }
 
         public String getSchema() {
@@ -260,7 +268,7 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
             ProvisioningEntryDataMapper mapper1 = new 
ProvisioningEntryDataMapper();
             final String sql1 = "select " + mapper1.getSchema() + " where 
entry.id = ?";
             data = this.jdbcTemplate.queryForObject(sql1, mapper1, entryId); 
// NOSONAR
-            data.setEntries(entries);
+            data.setProvisioningEntries(entries);
         }
         return data;
     }
@@ -293,8 +301,9 @@ public class ProvisioningEntriesReadPlatformServiceImpl 
implements ProvisioningE
             String modifiedName = null;
             BigDecimal totalReservedAmount = null;
             LocalDate createdLocalDate = createdDate != null ? 
createdDate.toLocalDate() : null;
-            return new ProvisioningEntryData(id, Boolean.TRUE, createdBy, 
createdName, createdLocalDate, modifiedBy, modifiedName,
-                    totalReservedAmount);
+            return new 
ProvisioningEntryData().setId(id).setJournalEntry(Boolean.TRUE).setCreatedById(createdBy).setCreatedUser(createdName)
+                    
.setCreatedDate(createdLocalDate).setModifiedById(modifiedBy).setModifiedUser(modifiedName)
+                    .setReservedAmount(totalReservedAmount);
         }
 
         public String schema() {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl.java
index e7478cc71..a12c72c05 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/accounting/provisioning/service/ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl.java
@@ -95,9 +95,9 @@ public class 
ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl implements
                     existingEntryData.getId(), 
PortfolioProductType.PROVISIONING.getValue());
         }
         if (requestedEntry.getLoanProductProvisioningEntries() == null || 
requestedEntry.getLoanProductProvisioningEntries().size() == 0) {
-            requestedEntry.setJournalEntryCreated(Boolean.FALSE);
+            requestedEntry.setIsJournalEntryCreated(Boolean.FALSE);
         } else {
-            requestedEntry.setJournalEntryCreated(Boolean.TRUE);
+            requestedEntry.setIsJournalEntryCreated(Boolean.TRUE);
         }
 
         this.provisioningEntryRepository.saveAndFlush(requestedEntry);
@@ -150,7 +150,7 @@ public class 
ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl implements
             throw new 
ProvisioningEntryAlreadyCreatedException(existingEntry.getId(), 
existingEntry.getCreatedDate());
         }
         AppUser currentUser = this.platformSecurityContext.authenticatedUser();
-        ProvisioningEntry requestedEntry = new ProvisioningEntry(currentUser, 
date, null, null, null);
+        ProvisioningEntry requestedEntry = new 
ProvisioningEntry().setCreatedBy(currentUser).setCreatedDate(date);
         Collection<LoanProductProvisioningEntry> entries = 
generateLoanProvisioningEntry(requestedEntry, date);
         requestedEntry.setProvisioningEntries(entries);
         if (addJournalEntries) {
@@ -189,15 +189,16 @@ public class 
ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl implements
             Money money = Money.of(currency, data.getBalance());
             Money amountToReserve = money.percentageOf(data.getPercentage(), 
MoneyHelper.getRoundingMode());
             Long criteraId = data.getCriteriaId();
-            LoanProductProvisioningEntry entry = new 
LoanProductProvisioningEntry(loanProduct, office, data.getCurrencyCode(),
-                    provisioningCategory, data.getOverdueInDays(), 
amountToReserve.getAmount(), liabilityAccount, expenseAccount,
-                    criteraId);
-            entry.setProvisioningEntry(parent);
+            LoanProductProvisioningEntry entry = new 
LoanProductProvisioningEntry().setLoanProduct(loanProduct).setOffice(office)
+                    
.setCurrencyCode(data.getCurrencyCode()).setProvisioningCategory(provisioningCategory)
+                    
.setOverdueInDays(data.getOverdueInDays()).setReservedAmount(amountToReserve.getAmount())
+                    
.setLiabilityAccount(liabilityAccount).setExpenseAccount(expenseAccount).setCriteriaId(criteraId);
+            entry.setEntry(parent);
             if (!provisioningEntries.containsKey(entry.partialHashCode())) {
                 provisioningEntries.put(entry.partialHashCode(), entry);
             } else {
                 LoanProductProvisioningEntry entry1 = 
provisioningEntries.get(entry.partialHashCode());
-                entry1.addReservedAmount(entry.getReservedAmount());
+                
entry1.setReservedAmount(entry1.getReservedAmount().add(entry.getReservedAmount()));
             }
         }
         return provisioningEntries.values();

Reply via email to