119 for (int j = 0; j < inFiles.length; j++)
120 inFiles[j] = new File(args[i++]);
121 }
122
123 }
124 }
125
126 public static class Ant extends MatchingTask {
127 private Main m = new Main();
128 private List<FileSet> fileSets = new ArrayList<FileSet>();
129
130 public void setOutFile(File file) {
131 m.outFile = file;
132 }
133
134 public void addFileSet(FileSet fs) {
135 fileSets.add(fs);
136 }
137
138 public void execute() {
139 for (Iterator iter = fileSets.iterator(); iter.hasNext(); ) {
140 FileSet fs = (FileSet) iter.next();
141 FileScanner s = fs.getDirectoryScanner(getProject());
142 m.addFiles(s.getBasedir(), s.getIncludedFiles());
143 }
144 try {
145 m.run();
146 } catch (BadArgs e) {
147 throw new BuildException(e.getMessage());
148 } catch (IOException e) {
149 throw new BuildException(e);
150 }
151 }
152 }
153
154 public void addFiles(File baseDir, String[] paths) {
155 if (paths == null)
156 return;
157 List<File> files = new ArrayList<File>();
158 if (inFiles != null)
159 files.addAll(Arrays.asList(inFiles));
160 for (int i = 0; i < paths.length; i++)
167
168 if (inFiles == null || inFiles.length == 0)
169 throw new BadArgs("no input files specified");
170
171 if (outFile == null)
172 throw new BadArgs("no output file specified");
173
174 map = new TreeMap<>();
175
176 for (int i = 0; i < inFiles.length; i++)
177 read(inFiles[i]);
178
179 PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outFile)));
180 out.println("<?xml version='1.0' encoding='ISO-8859-1' ?>");
181 out.println("<!DOCTYPE map");
182 out.println(" PUBLIC \"-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN\"");
183 out.println(" \"http://java.sun.com/products/javahelp/map_1_0.dtd\">");
184 out.println("<map version=\"1.0\">");
185
186 int maxLen = 0;
187 for (Iterator iter = map.entrySet().iterator(); iter.hasNext(); ) {
188 Map.Entry e = (Map.Entry) (iter.next());
189 String target = (String) (e.getKey());
190 String url = (String) (e.getValue());
191 maxLen = Math.max(maxLen, target.length());
192 }
193
194 for (Iterator iter = map.entrySet().iterator(); iter.hasNext(); ) {
195 Map.Entry e = (Map.Entry) (iter.next());
196 String target = (String) (e.getKey());
197 String url = (String) (e.getValue());
198 out.print(" <mapID target=\"" + target + "\" ");
199 for (int i = target.length(); i < maxLen; i++)
200 out.print(' ');
201 out.println(" url=\"" + url + "\" />");
202 }
203
204 out.println("</map>");
205 out.close();
206 }
207
208 private void read(File f) throws IOException {
209 Reader in = new BufferedReader(new FileReader(f));
210 currFile = f;
211 read(in);
212 in.close();
213 }
214
215 private void read(Reader in) throws IOException {
216 this.in = in;
217 line = 1;
|
119 for (int j = 0; j < inFiles.length; j++)
120 inFiles[j] = new File(args[i++]);
121 }
122
123 }
124 }
125
126 public static class Ant extends MatchingTask {
127 private Main m = new Main();
128 private List<FileSet> fileSets = new ArrayList<FileSet>();
129
130 public void setOutFile(File file) {
131 m.outFile = file;
132 }
133
134 public void addFileSet(FileSet fs) {
135 fileSets.add(fs);
136 }
137
138 public void execute() {
139 for (Iterator<FileSet> iter = fileSets.iterator(); iter.hasNext(); ) {
140 FileSet fs = iter.next();
141 FileScanner s = fs.getDirectoryScanner(getProject());
142 m.addFiles(s.getBasedir(), s.getIncludedFiles());
143 }
144 try {
145 m.run();
146 } catch (BadArgs e) {
147 throw new BuildException(e.getMessage());
148 } catch (IOException e) {
149 throw new BuildException(e);
150 }
151 }
152 }
153
154 public void addFiles(File baseDir, String[] paths) {
155 if (paths == null)
156 return;
157 List<File> files = new ArrayList<File>();
158 if (inFiles != null)
159 files.addAll(Arrays.asList(inFiles));
160 for (int i = 0; i < paths.length; i++)
167
168 if (inFiles == null || inFiles.length == 0)
169 throw new BadArgs("no input files specified");
170
171 if (outFile == null)
172 throw new BadArgs("no output file specified");
173
174 map = new TreeMap<>();
175
176 for (int i = 0; i < inFiles.length; i++)
177 read(inFiles[i]);
178
179 PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outFile)));
180 out.println("<?xml version='1.0' encoding='ISO-8859-1' ?>");
181 out.println("<!DOCTYPE map");
182 out.println(" PUBLIC \"-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN\"");
183 out.println(" \"http://java.sun.com/products/javahelp/map_1_0.dtd\">");
184 out.println("<map version=\"1.0\">");
185
186 int maxLen = 0;
187 for (Iterator<Map.Entry<String, String>> iter = map.entrySet().iterator(); iter.hasNext(); ) {
188 Map.Entry<String, String> e = iter.next();
189 String target = e.getKey();
190 String url = e.getValue();
191 maxLen = Math.max(maxLen, target.length());
192 }
193
194 for (Iterator<Map.Entry<String, String>> iter = map.entrySet().iterator(); iter.hasNext(); ) {
195 Map.Entry<String, String> e = iter.next();
196 String target = e.getKey();
197 String url = e.getValue();
198 out.print(" <mapID target=\"" + target + "\" ");
199 for (int i = target.length(); i < maxLen; i++)
200 out.print(' ');
201 out.println(" url=\"" + url + "\" />");
202 }
203
204 out.println("</map>");
205 out.close();
206 }
207
208 private void read(File f) throws IOException {
209 Reader in = new BufferedReader(new FileReader(f));
210 currFile = f;
211 read(in);
212 in.close();
213 }
214
215 private void read(Reader in) throws IOException {
216 this.in = in;
217 line = 1;
|