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)