-
Notifications
You must be signed in to change notification settings - Fork 18
/
StatisticsTask.java
46 lines (33 loc) · 1.27 KB
/
StatisticsTask.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package sk.styk.martin.bakalarka.execute.tasks;
import sk.styk.martin.bakalarka.statistics.processors.StatisticsProcessor;
import sk.styk.martin.bakalarka.utils.files.FileFinder;
import java.io.File;
import java.util.List;
/**
* code that handle 'analyze use case'
* <p/>
* Created by Martin Styk on 20.02.2016.
*/
public class StatisticsTask implements Task {
private String inputDirectory;
private String outDirectory;
public Task setInputDirectory(String inputDirectory) {
if (inputDirectory == null || inputDirectory.isEmpty())
throw new IllegalArgumentException("input");
this.inputDirectory = inputDirectory;
return this;
}
public Task setOutputDirectory(String outDirectory) {
if (outDirectory == null || outDirectory.isEmpty())
throw new IllegalArgumentException("outDirectory");
this.outDirectory = outDirectory;
return this;
}
public void execute() {
FileFinder ff = new FileFinder(new File(inputDirectory));
List<File> jsons = ff.getJsonFilesInDirectories();
StatisticsProcessor statisticsProcessor = new StatisticsProcessor(jsons);
statisticsProcessor.setOutputFile(new File(outDirectory));
statisticsProcessor.processFiles();
}
}