[jira] [Commented] (FINERACT-839) NPE when creating a Loan for a client
[ https://issues.apache.org/jira/browse/FINERACT-839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17022775#comment-17022775 ] Adam Saghy commented on FINERACT-839: - I dont have the proper insight to decide on that. From my experience NULL, FALSE, TRUE has different meanings, so i am not sure on this. If there is someone, who can clarify from business side then it would be really good. > 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 >Assignee: Adam Saghy >Priority: Blocker > Fix For: 1.4.0 > > Time Spent: 40m > Remaining Estimate: 0h > > 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)
[jira] [Commented] (FINERACT-839) NPE when creating a Loan for a client
[ https://issues.apache.org/jira/browse/FINERACT-839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17022313#comment-17022313 ] Michael Vorburger commented on FINERACT-839: It seems to me that a much better fix would be to change it to return false instead of null (and remove the {{@FindBugsSuppressWarnings("NP_BOOLEAN_RETURN_NULL")}} again, as it's there for a good reason): {code:java} if (isInterestRecalculationEnabled()) { return this.interestRecalculationData.isCompoundingToBePostedAsTransaction(); } return false; {code} but then all also find all callers of this method (Find References) and if they do a null check change that. > 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 >Assignee: Adam Saghy >Priority: Blocker > Fix For: 1.4.0 > > Time Spent: 40m > Remaining Estimate: 0h > > 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)
[jira] [Commented] (FINERACT-839) NPE when creating a Loan for a client
[ https://issues.apache.org/jira/browse/FINERACT-839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17021961#comment-17021961 ] Adam Saghy commented on FINERACT-839: - Raise PR: [https://github.com/apache/fineract/pull/696] > 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 >Priority: Blocker > Time Spent: 10m > Remaining Estimate: 0h > > 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)
[jira] [Commented] (FINERACT-839) NPE when creating a Loan for a client
[ https://issues.apache.org/jira/browse/FINERACT-839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17021945#comment-17021945 ] Awasum Yannick commented on FINERACT-839: - Will you like to send a PR fixing this issue? We will be happy to merge it. [~adamsaghy] > 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 >Priority: Blocker > > 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)