Adam Saghy created FINERACT-839:
-----------------------------------
Summary: NPE when creating a Loan for a client
Key: FINERACT-839
URL: https://issues.apache.org/jira/browse/FINERACT-839
Project: Apache Fineract
Issue Type: Bug
Components: Client
Affects Versions: 1.4.0
Reporter: Adam Saghy
Getting a NullPointerException during the creation of a Loan for a client.
The problem seems to come when the
*LoanProductData.isInterestRecalculationEnabled* is *false* and calling the
*LoadProductData.isCompoundingToBePostedAsTransaction()* method where it would
call the *interestRecalculationData* which is *null*.
*It seems reasonable to be null as the interest recalculation is not enabled.*
There was a commit:
{code:java}
commit af0dd7e5f3856eb0fc5b7441c8ec51941e1764d1 Author: Awasum Yannick Date:
10/12/2019, 17:37 use SpotBugs & fix over 300 high priority rule violations
(FINERACT-702) This PR also serves as a base solution for upcoming FINERACT-712
and FINERACT-696. It includes using Objects.equals() to prevent NPEs, and
adding gradle check to run SpotBugs on Travis CI. PS: SpotBugs is the successor
to (and same code as) FindBugs.{code}
which changed the business logic but my theory is that it might be a mistake.
Before the commit:
{code:java}
if (isInterestRecalculationEnabled()) {
return this.interestRecalculationData.isCompoundingToBePostedAsTransaction();
}
return null;
{code}
After the commit:
{code:java}
if (isInterestRecalculationEnabled()) {
return this.interestRecalculationData.isCompoundingToBePostedAsTransaction();
}
return
!this.interestRecalculationData.isCompoundingToBePostedAsTransaction();{code}
The NPE is coming for the below line:
{code:java}
return
!this.interestRecalculationData.isCompoundingToBePostedAsTransaction();{code}
Could you please validate my theory?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)