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)

Reply via email to