Open repository in Eclipse Che
This is the starting repository for the mandatory individual exercise in IT1901, fall 2026.
The repository contains a JavaFX project with a Maven setup for minimum Java 17 (tested with Java 17.0.16-tem and 21.0.8-tem), JavaFX 21, and JUnit (Jupiter) 5.12.2 and Test FX 4.0.18 for testing.
To make the project more interesting, it is the start of a file checksum calculator (look for //TODO) markers). The core logic is almost implemented (in ChecksumCalculator.java), the fxml files (in primary.fxml and secondary.fxml are almost complete, but the controller classes (in PrimaryController.java and SecondaryController.java are missing some functionality.
At the curent stage we are mainly concerned with getting the functionality done and we will brush up the UI details later.
The application starts in the main view (Overview) where there is a table and a set of buttons dealing with actions and navigation between views.
- One can use the "Load more files" button to select multiple files and add them to the table. The application should display the immmediately accessible info and asynchronously calculate MD5 and SHA256 checksums for the opened files updating the progress and the other corresponding cells when done.
- The "Copy" button should copy the details of the selected item in the clipboard.
- The "Details ..." button leads to another view with the selected file details
The secondary (Details) view displays the information about the selected item in the primary view. In addition to that it provides text inputs where the user can enter the expected hash values for either SHA256 and MD5 to check if they match the calculated values. In case of success a checkmark icon should be displayed next to the input field. In the case of a mismatch a fail icon should be shown. Finally, if there is no text in the input, the icon should be hidden.
The project is set up with automatic tests with JUnit and TestFX ad has tests implemented fo the basic functionality. Currently several tests in ChecksumCalculatorTest.java, PrimaryControllerTest.java and SecondaryControllerTest.java are failing.
See the test folder readme for details about the tests.
Project can be tried out by cd-ing into the corresponding folder and using mvn:
- compile with
mvn compile(after cd javafx-app of course) - test with
mvn test(it should fail until you complete the exercise) - run all quality checks with
mvn verify - run with
mvn javafx:run(it should open, but not work properly)