[
https://issues.apache.org/jira/browse/FINERACT-827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17013775#comment-17013775
]
Michael Vorburger commented on FINERACT-827:
--------------------------------------------
For full history of what's what and how we got to this:
1. Awasum in his work on FINERACT-702 saw that SpotBugs pointed out, absolutely
correctly, that {{ShareAccountCharge}} originally had only an {{equals()}}
method but no {{hashCode()}}, which is always a clear bug (no discussion here).
Awasum thus, as a first step, removed that {{equals()}}, which was merged in
https://github.com/apache/fineract/pull/682.
2. Michael followed up on that trying to fix it correctly, together with some
other {{equals()}} / {{hashCode()}} changes, in
https://github.com/apache/fineract/pull/684, by adding both {{equals()}} /
{{hashCode()}} to {{ShareAccountCharge}}. This failed
{{ShareAccountIntegrationTests}}'s {{testCreateShareAccountWithCharges()}} in
line 487 {{Assert.assertEquals("0.0",
String.valueOf(chargeDef.get("amountOutstanding")));}} with a
{{org.junit.ComparisonFailure: expected:<[0].0> but was:<[2].0>}}. The
{{equals()}} / {{hashCode()}} was implemented using Commons Lang EqualsBuilder
and HashCodeBuilder (instead of Objects.hash() and Objects.equals(), which
should not matter...), and using all fields, not using {{getId()}} for
{{@ManyToOne}} fields {{ShareAccount}} and {{Charge}}
> ShareAccountCharge is missing hashCode() & equals() but adding it fails
> ShareAccountIntegrationTests
> ----------------------------------------------------------------------------------------------------
>
> Key: FINERACT-827
> URL: https://issues.apache.org/jira/browse/FINERACT-827
> Project: Apache Fineract
> Issue Type: Bug
> Reporter: Michael Vorburger
> Priority: Blocker
>
> During work in FINERACT-702 (specifically during
> [pull/684|https://github.com/apache/fineract/pull/684]), we've stumbled upon
> {{ShareAccountCharge}} missing required {{hashCode()}} & {{equals()}}
> methods, but found that adding them fails the
> {{ShareAccountIntegrationTests}}.
> This is likely an indication of a major bug worth further investigating.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)