Clover Coverage Report - KS Contract Documentation Generator 0.0.1-SNAPSHOT
Coverage timestamp: Wed Dec 31 1969 19:00:00 EST
../../../../../img/srcFileCovDistChart0.png 0% of files have more coverage
40   109   10   5.71
4   76   0.25   7
7     1.43  
1    
 
  HtmlWriter       Line # 31 40 0% 10 51 0% 0.0
 
No Tests
 
1    /*
2    * Copyright 2011 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.osedu.org/licenses/ECL-2.0
9    *
10    * Unless required by applicable law or agreed to in writing, software
11    * distributed under the License is distributed on an "AS IS" BASIS,
12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13    * See the License for the specific language governing permissions and
14    * limitations under the License.
15    */
16    package org.kuali.student.contract.writer;
17   
18    import java.io.ByteArrayOutputStream;
19    import java.io.File;
20    import java.io.FileNotFoundException;
21    import java.io.FileOutputStream;
22    import java.io.PrintStream;
23    import java.util.List;
24   
25    import org.kuali.student.contract.exception.DictionaryExecutionException;
26   
27    /**
28    *
29    * @author nwright
30    */
 
31    public class HtmlWriter extends XmlWriter {
32   
33    private String directory;
34    private String fileName;
35    private String title;
36    private ByteArrayOutputStream body;
37   
 
38  0 toggle public HtmlWriter(String directory, String fileName, String title) {
39  0 super();
40  0 this.body = new ByteArrayOutputStream(1000);
41  0 this.setOut(new PrintStream(body));
42  0 this.setIndent(0);
43  0 this.directory = directory;
44  0 this.fileName = fileName;
45  0 this.title = title;
46    }
47   
 
48  0 toggle public ByteArrayOutputStream getBody() {
49  0 return body;
50    }
51   
 
52  0 toggle public String getDirectory() {
53  0 return directory;
54    }
55   
 
56  0 toggle public String getFileName() {
57  0 return fileName;
58    }
59   
 
60  0 toggle public void writeHeader() {
61  0 indentPrintln("<html>");
62  0 indentPrintln("<head>");
63  0 this.writeTag("title", title);
64  0 indentPrintln("</head>");
65  0 indentPrintln("<body bgcolor=\"#ffffff\" topmargin=0 marginheight=0>");
66    }
67   
 
68  0 toggle public void writeHeaderBodyAndFooterOutToFile() {
69   
70  0 File dir = new File(this.directory);
71    //System.out.println ("Writing java class: " + fileName + " to " + dir.getAbsolutePath ());
72   
73  0 if (!dir.exists()) {
74  0 if (!dir.mkdirs()) {
75  0 throw new DictionaryExecutionException("Could not create directory "
76    + this.directory);
77    }
78    }
79  0 try {
80  0 PrintStream out = new PrintStream(new FileOutputStream(this.directory + "/" + fileName, false));
81  0 this.setOut(out);
82    } catch (FileNotFoundException ex) {
83  0 throw new DictionaryExecutionException(ex);
84    }
85  0 writeHeader();
86  0 indentPrintln(body.toString());
87  0 indentPrintln("</body>");
88  0 decrementIndent();
89  0 indentPrintln("</html>");
90    }
91   
 
92  0 toggle public void writeTable(List<String> headers, List<List<String>> rows) {
93  0 this.indentPrintln("<table>");
94  0 incrementIndent();
95  0 this.indentPrintln("<tr>");
96  0 for (String header : headers) {
97  0 this.writeTag("th", header);
98    }
99  0 this.indentPrintln("</tr>");
100  0 for (List<String> row : rows) {
101  0 this.indentPrintln("<tr>");
102  0 for (String cell : row) {
103  0 this.writeTag("td", cell);
104    }
105  0 this.indentPrintln("</tr>");
106    }
107  0 this.indentPrintln("</table>");
108    }
109    }