SpotBugs didn't like the original version, and the initial changes made
for SpotBugs satisfied SpotBugs, but the class was still pretty weird.
This change makes it follow the regular standard builder pattern.
@awasum changed this in the SpotBugs related work, but this seems both
wrong, and, for me, makes this test now fail instead of pass (even
though for him it passed on the original PR...).
Probably related to https://issues.apache.org/jira/browse/FINERACT-820;
note that my current local time as I'm testing this is Sunday, and it
WORKS with; I'm now confused when FINERACT-820 affects us and when not.
Or perhaps this has nothing at all to do with that.
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.
Remove necessary resetting of 2 select default global configurations in FlexibleSavingsInterestPostingIntegrationTest.
Fixes issue where global configurations were affecting state between integration tests. This caused LoanReschedulingWithinCenterTest to fail on the first day of the month only because the "skip-repayment-on-first-day-of-month" configuration was modified but never reset by GlobalConfigurationTest.
Also updated other integration tests to reset and verify default global configurations.
FINERACT-722
FINERACT-803: treat existing username in update, to same user, as valid
FINERACT-803: skip username uniqueness validation for updates
FINERACT-803: add integration test for username uniqueness validation
FINERACT-803: change the validation error message to show the errant username
FINERACT-803: restore username uniqueness validation for updates
FINERACT-803: apply minor code clean up suggestions
In Docker, set JAVA_OPTS instead of FINERACT_TENANTS_URL.
Because ARG/ENV in the Dockerfile can't (easily) be changed at run-time.
At first I tried to override the ENTRYPOINT with a script which sets
JAVA_OPTS based on FINERACT_TENANTS_URL and then delegates to the original
/app-entrypoint.sh; that didn't immediately work, so this seems simpler.
Including make default tenant JDBC hostname & port configurable at Docker container run instead of build time.
This was an idea I had when wondering if the problem we hit
during the Gradle upgrade was just that Tomcat took longer to
boot Fineract (it turned out that that wasn't the cause).
I'm not sure if gradle-tomcat-plugin already does the equivalent
(but suspect it does not), but given that integrationTests work,
not entirely clear how much value this really adds.
Given that it doesn't really hurt either, perhaps we can add it anyway.