WhiteRabbit is a small application that can be used to analyse the structure and contents of a database as preparation for designing an ETL. It comes with RabbitInAHat, an application for interactive design of an ETL to the OMOP Common Data Model with the help of the the scan report generated by White Rabbit.
This is a very large pull request due to many refactorings that were needed to be able to isolate the database facing code, which contributes to modularity, simpler code, better testability and easier support for new (JDBC) databases. I do not recommend to review all code changes, but if you do want to review, start from the newly added interface StorageHandler and class Snowflake handler.
So, new in this release:
Snowflake support
integration tests for PostgreSQL, Oracle, MySQL, CSV, SAS (run with mvn verify). These tests depend on having Docker available. There is also an integration test for Snowflake, but that only runs when credentials are supplied (see README.md)
updated dependencies as far as possible without code changes
the distributable packages run with Java 1.8 and higher, but the tests can only be run with Java 17. Maven has been configured to fail if the available Java version is not 17.
One caveat: all tests that involve the GUI (Swing) fail on MacOS with UnspportedOperationException/HeadlessException.
This is a very large pull request due to many refactorings that were needed to be able to isolate the database facing code, which contributes to modularity, simpler code, better testability and easier support for new (JDBC) databases. I do not recommend to review all code changes, but if you do want to review, start from the newly added interface StorageHandler and class Snowflake handler.
So, new in this release:
mvn verify
). These tests depend on having Docker available. There is also an integration test for Snowflake, but that only runs when credentials are supplied (see README.md)One caveat: all tests that involve the GUI (Swing) fail on MacOS with UnspportedOperationException/HeadlessException.