When a task is failing, log the thrown exception.
Manages update of a backup configuration.
Manages cases when the exception given to taskFinished doesn't have any message.
Ensures a ProgressPanel is visible when it's created.
Removes duplicate ProgressListener attributes in BackupTask and RestoreTask (already present in their parent class).
Removes duplicate assertion in decompress method.
Refactoring for readability.
Add a cancel button to ProgressPanel class.
Refactor for testability of Application.
Add an ImageIcon to the application frame.
JBackup.backup and JBackup.restore now return a Future<Void> instead of Future<Object>.
Bug fix in taskFinished to refresh the progress panel after removal of the cancel button.
Bug fix : when an error happen before the total size is computed, the progress bar should be in determinate state.
JBackup.generateName method now throws a NullPointerException with a message when the ArchiveFactory is null (reported in the progress bar).
The target directory of a configuration shows now only directories.
The source directory field allows now to select hidden and not hidden files.
Add version of the application to main frame's title.
In the Archiver.compress method, an exception is thrown when one of the files is not given as an absolute Path.
Refactoring of Archiver.compress method : encapsulates files and archive parameters in the new ArchiveParameters class.
Refactoring of file collection that was done in 2 places : JBackup.BackupTask and Archiver classes.