These are the default values, from jdbc.properties, only added for
clarity and to make it obvious that they need to be changed e.g. for
FINERACT-762.
The different formats and naming conventions are a little bit of a mess,
but changing them now leads to backwards incompatibility, so for now
let's leave as is; possible clean up later in FINERACT-889.
We can use environment variables instead of system properties.
We originally had to use system properties and could not use environment
variables, because these used to read by Tomcat, but since the switch
to Hikari in FINERACT-796 these are read by Spring Boot instead of
Tomcat, so we can now use system properties.
This both "looks nicer" and is useful e.g. for FINERACT-881.
Also adds a new assertion for a clearer failure message than the
confusing low-level technical ArrayIndexOutOfBoundsException for
whenever this test will be re-activated later.
Adds a new assertion for a hopefully clearer failure message than the
confusing low-level technical ArrayIndexOutOfBoundsException we
regularly hit on Travis CI.
Similar to https://github.com/apache/fineract/pull/764
see https://jira.spring.io/browse/DATAJPA-622
Even though we don't use Hibernate, copying this annotation from the
original class in Spring Data seems prudent - just in case. It should
not cause any harm or side effects on OpenJPA.
Use Hikari instead of Tomcat Connection Pool
- Created hikari connection pool bean
- Configured connection parameters to match hikari
- Removed tomcat-jdbc and dbcp
- Remove unused classes
- Add Hikari to logback
- update hikaridatasource bean
closes https://issues.apache.org/jira/browse/FINERACT-796
remove hikaricp import from gradle files
more specific bean config
- Set up datasource properties
- Cleanup unused classes
- Add hikari to logback
FINERACT-736: Api Docs were updated to include rates documentation
FINERACT-735: Integration test were created for rates creation, retrieval and update
Missing permission READ_RATE
instead of the NoSuchElementException from Optional.get(), we're now
throwing an UnsupportedOperationException which includes the details of
the missing object. (This kind of detailed exception was already thrown
in two existing places in the same code after a null check, but it never
reached there, because the Optional.get() failed earlier. Another
option would have been to return null for an absent Optional, but this
is better.)
The other unrelated changes are automatic clean up actions (in Eclipse).
As per the great analysis by Manthan Surkar (@thesmallstar) in the
original PR https://github.com/apache/fineract/pull/723, the cause of
the FINERACT-808 bug was that "the backend would treat "UPDATE" and
similar strings as SQL injection".
The root cause of that was that (IMHO..) how Fineract does SQL injection
is more of a workaround (blacklisting some keywords and some heuristic
checks) then how this really should be done (by using JDBC Prepared
statements with arguments for all external data, instead inlined SQL).
This also lays the foundation for more like this in FINERACT-854.
* Allow customizing Tenants DB JDBC uid/pwd/driver (FINERACT-806)
Added Java system properties for username and password to docker-compose
Modified sever.xml to get username and password
* Fixes for customizing Tenants DB JDBC uid/pwd/driver (FINERACT-806)
* Use random MYSQL_ROOT_PASSWORD in docker-compose.yml (FINERACT-806)
This provides future non-regression testing that the the customized
MySQL password is actually really used, and it doesn't just work because
"mysql" is still hard-coded anywhere.
Co-authored-by: Yemdjih Kaze Nasser <kaze.nasser@outlook.com>
This speeds up e.g. "podman-compose build" for me from 5m to 4m.
BEFORE:
real 5m29.884s
user 4m17.643s
sys 2m57.567s
AFTER:
real 4m19.458s
user 3m13.815s
sys 2m 3.095s
* Update AbstractPersistableCustom.java
Made AbstractPersistableCustom serializable to solve org.apache.openjpa.persistence.InvalidStateException
* Update AbstractPersistableCustom.java
removed space