1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.forgerock.doc.maven.utils;
18
19 import org.apache.commons.io.FileUtils;
20
21 import java.io.File;
22 import java.io.IOException;
23 import java.net.URL;
24
25
26
27
28 public final class BootstrapCopier {
29
30
31
32
33 private final String[] bootstrapLogoResources = {
34 "/logos/hero-bg-01.png",
35 "/logos/left-shape-4.png",
36 "/logos/Icon_External_Link.png",
37 "/logos/forgerock-header-logo.png",
38 "/logos/FR_logo_horiz_FC_rev.png"
39 };
40
41
42
43
44 private final String[] bootstrapSwfResources = {
45 "/swf/ZeroClipboard.swf"
46 };
47
48
49
50
51 private String[] outputDirectories;
52
53
54
55
56
57
58 public BootstrapCopier(final String[] outputDirectories) {
59 this.outputDirectories = outputDirectories;
60 }
61
62
63
64
65
66
67 public void copy() throws IOException {
68 addBootstrapLogos();
69 addBootstrapSwf();
70 }
71
72
73
74
75
76
77 private void addBootstrapLogos() throws IOException {
78 addBootstrapResources(bootstrapLogoResources);
79 }
80
81 private void addBootstrapSwf() throws IOException {
82 addBootstrapResources(bootstrapSwfResources);
83 }
84
85
86
87
88
89
90
91 private void addBootstrapResources(final String[] resources) throws IOException {
92
93 for (String resource : resources) {
94 URL resourceUrl = getClass().getResource(resource);
95
96
97
98
99
100
101 if (resourceUrl != null) {
102 for (final String outputDirectory : outputDirectories) {
103 final File styleSheetFile = FileUtils.getFile(outputDirectory, "includes", resource);
104 FileUtils.copyURLToFile(resourceUrl, styleSheetFile);
105
106 }
107 } else {
108 System.err.println("WARNING: Resource " + resource + " "
109 + "cannot be " + "found!");
110 }
111 }
112 }
113 }