1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.forgerock.maven.plugins.xcite.utils;
18
19 import org.codehaus.plexus.util.DirectoryScanner;
20
21 import java.io.BufferedReader;
22 import java.io.File;
23 import java.io.FileReader;
24 import java.io.IOException;
25 import java.util.ArrayList;
26
27
28
29
30 public final class FileUtils {
31
32
33
34
35
36
37
38
39 public static ArrayList<String> getStrings(final File file)
40 throws IOException {
41
42 ArrayList<String> lines = new ArrayList<String>();
43 if (file == null) {
44 return lines;
45 }
46
47 BufferedReader br = new BufferedReader(new FileReader(file));
48 String line;
49 while ((line = br.readLine()) != null) {
50 lines.add(line);
51 }
52 br.close();
53
54 return lines;
55 }
56
57
58
59
60
61
62 private static String[] imageFiles = {"**/*.bmp",
63 "**/*.eps",
64 "**/*.gif",
65 "**/*.jpeg",
66 "**/*.jpg",
67 "**/*.png",
68 "**/*.svg",
69 "**/*.tiff"};
70
71
72
73
74
75
76
77
78
79
80
81
82
83 public static String[] getIncludedFiles(File baseDirectory,
84 String[] includes,
85 String[] excludes) {
86 DirectoryScanner scanner = new DirectoryScanner();
87 scanner.setBasedir(baseDirectory);
88 scanner.setIncludes(includes);
89
90
91 String[] defaultExcludes = new String[imageFiles.length
92 + DirectoryScanner.DEFAULTEXCLUDES.length];
93 System.arraycopy(imageFiles, 0, defaultExcludes, 0, imageFiles.length);
94 System.arraycopy(DirectoryScanner.DEFAULTEXCLUDES, 0,
95 defaultExcludes, imageFiles.length, DirectoryScanner.DEFAULTEXCLUDES.length);
96
97 if (excludes == null) {
98 excludes = defaultExcludes;
99 } else {
100 String[] full = new String[excludes.length + defaultExcludes.length];
101 System.arraycopy(excludes, 0, full, 0, excludes.length);
102 System.arraycopy(defaultExcludes, 0, full, excludes.length, defaultExcludes.length);
103 excludes = full;
104 }
105
106 scanner.setExcludes(excludes);
107
108 scanner.scan();
109 return scanner.getIncludedFiles();
110 }
111
112
113
114
115 private FileUtils() {
116
117 }
118 }