1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.renderkit.css;
21
22 import java.io.IOException;
23 import java.nio.charset.StandardCharsets;
24 import java.nio.file.Files;
25 import java.nio.file.Paths;
26 import java.util.ArrayList;
27 import java.util.List;
28
29 class CssClassUtils {
30
31
32
33
34 static List<CssItem> compareCss(final String cssFileName, final CssItem[] cssItems) throws IOException {
35
36 final List<CssItem> missing = new ArrayList<>();
37
38 final String fileContent = new String(Files.readAllBytes(Paths.get(cssFileName)), StandardCharsets.UTF_8);
39
40 for (final CssItem cssItem : cssItems) {
41 if (!containsClassName(fileContent, cssItem.getName())) {
42 missing.add(cssItem);
43 }
44 }
45
46 return missing;
47 }
48
49 private static boolean containsClassName(final String content, final String className) {
50 return content.contains("." + className + " ")
51 || content.contains("." + className + "{")
52 || content.contains("." + className + ",")
53 || content.contains("." + className + ":")
54 || content.contains("." + className + ".")
55 || content.contains("." + className + ">");
56 }
57 }