• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ljacqu / FileDuplicateFinder / 5656643335

25 Jul 2023 12:15PM UTC coverage: 23.453% (-0.08%) from 23.532%
5656643335

push

github

ljacqu
Set up dependabot to update GitHub actions

111 of 603 branches covered (18.41%)

Branch coverage included in aggregate %.

374 of 1465 relevant lines covered (25.53%)

1.3 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/ch/jalu/fileduplicatefinder/FileUtilsRunner.java
1
package ch.jalu.fileduplicatefinder;
2

3
import ch.jalu.fileduplicatefinder.config.FileUtilConfiguration;
4
import ch.jalu.fileduplicatefinder.config.FileUtilSettings;
5
import ch.jalu.fileduplicatefinder.duplicatefinder.FileDuplicateRunner;
6
import ch.jalu.fileduplicatefinder.duplicatefinder.FolderPairDuplicatesCounter;
7
import ch.jalu.fileduplicatefinder.filecount.FileCountRunner;
8
import ch.jalu.fileduplicatefinder.folderdiff.FolderDiffRunner;
9
import ch.jalu.fileduplicatefinder.hashing.FileHasherFactory;
10
import ch.jalu.fileduplicatefinder.duplicatefinder.output.ConsoleResultOutputter;
11
import ch.jalu.fileduplicatefinder.rename.FileRenameRunner;
12
import ch.jalu.fileduplicatefinder.tree.FileTreeRunner;
13

14
import javax.annotation.Nullable;
15
import java.nio.file.Files;
16
import java.nio.file.Path;
17
import java.nio.file.Paths;
18
import java.util.Scanner;
19

20
/**
21
 * Entry class with main method. Delegates to the appropriate task runner.
22
 */
23
public class FileUtilsRunner {
24

25
    private FileUtilsRunner() {
26
    }
27

28
    public static void main(String... args) {
29
        try (Scanner scanner = new Scanner(System.in)) {
×
30
            FileUtilConfiguration configuration = createConfiguration(scanner, args);
×
31
            if (configuration == null) {
×
32
                return;
×
33
            }
34

35
            String task = configuration.getValueOrPrompt(FileUtilSettings.TASK);
×
36
            switch (task) {
×
37
                case FileRenameRunner.ID_REGEX:
38
                    new FileRenameRunner(scanner, configuration).runRegexRename();
×
39
                    break;
×
40
                case FileRenameRunner.ID_DATE:
41
                    new FileRenameRunner(scanner, configuration).runDateRename();
×
42
                    break;
×
43
                case FileDuplicateRunner.ID:
44
                    createFileDuplicateRunner(configuration).run();
×
45
                    break;
×
46
                case FileCountRunner.ID:
47
                    new FileCountRunner(scanner, configuration).run();
×
48
                    break;
×
49
                case FolderDiffRunner.ID:
50
                    new FolderDiffRunner(configuration, new FileHasherFactory()).run();
×
51
                    break;
×
52
                case FileTreeRunner.ID:
53
                    new FileTreeRunner(scanner, configuration).run();
×
54
                    break;
×
55
                default:
56
                    String taskList = FileRenameRunner.ID_REGEX
×
57
                        + ", " + FileRenameRunner.ID_DATE
58
                        + ", " + FileDuplicateRunner.ID
59
                        + ", " + FileCountRunner.ID
60
                        + ", " + FolderDiffRunner.ID
61
                        + ", " + FileTreeRunner.ID;
62
                    System.err.println("Unknown task '" + task + "'. Possible tasks: " + taskList);
×
63
            }
64
        } catch (ExitRunnerException ignore) {
×
65
            // Nothing to do
66
        }
×
67
    }
×
68

69
    private static FileDuplicateRunner createFileDuplicateRunner(FileUtilConfiguration configuration) {
70
        return new FileDuplicateRunner(configuration, new FileHasherFactory(), new FolderPairDuplicatesCounter(),
×
71
            new ConsoleResultOutputter(configuration));
72
    }
73

74
    @Nullable
75
    private static FileUtilConfiguration createConfiguration(Scanner scanner, String... args) {
76
        Path userConfig = null;
×
77
        if (args != null && args.length > 0) {
×
78
            userConfig = Paths.get(args[0]);
×
79
            if (!Files.exists(userConfig)) {
×
80
                System.err.println("Supplied config file '" + userConfig.getFileName().toString() + "' does not exist");
×
81
                return null;
×
82
            }
83
        }
84
        return new FileUtilConfiguration(scanner, userConfig);
×
85
    }
86
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc