44 |
44 |
45 private static final Logger log = Logger.getLogger(XhtmlFormatter.class.getName()); |
45 private static final Logger log = Logger.getLogger(XhtmlFormatter.class.getName()); |
46 public static final String NAME = "xhtml"; // bash-completion:formatter |
46 public static final String NAME = "xhtml"; // bash-completion:formatter |
47 private static final String DOCTYPE = "html PUBLIC \"-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN\" \"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd\""; |
47 private static final String DOCTYPE = "html PUBLIC \"-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN\" \"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd\""; |
48 private static final String CSS_FILE = "info/globalcode/sql/dk/formatter/XhtmlFormatter.css"; |
48 private static final String CSS_FILE = "info/globalcode/sql/dk/formatter/XhtmlFormatter.css"; |
|
49 private int statementCounter = 0; |
49 private int resultSetCounter = 0; |
50 private int resultSetCounter = 0; |
50 private int updatesResultCounter = 0; |
51 private int updatesResultCounter = 0; |
51 |
52 |
52 public XhtmlFormatter(FormatterContext formatterContext) { |
53 public XhtmlFormatter(FormatterContext formatterContext) { |
53 super(addDefaults(formatterContext)); |
54 super(addDefaults(formatterContext)); |
113 } |
114 } |
114 |
115 |
115 @Override |
116 @Override |
116 public void writeQuery(String sql) { |
117 public void writeQuery(String sql) { |
117 super.writeQuery(sql); |
118 super.writeQuery(sql); |
118 printTextElement(qname("h3"), null, "SQL:"); |
|
119 printTextElement(qname("pre"), null, sql); |
119 printTextElement(qname("pre"), null, sql); |
120 } |
120 } |
121 |
121 |
122 @Override |
122 @Override |
123 public void writeParameters(List<? extends Parameter> parameters) { |
123 public void writeParameters(List<? extends Parameter> parameters) { |
197 } |
197 } |
198 printEndElement(); |
198 printEndElement(); |
199 } |
199 } |
200 |
200 |
201 @Override |
201 @Override |
202 public void writeColumnsHeader(ColumnsHeader header) { |
202 public void writeStartResultSet(ColumnsHeader header) { |
203 super.writeColumnsHeader(header); |
203 super.writeStartResultSet(header); |
204 printTextElement(qname("h3"), null, "Data:"); |
204 resultSetCounter++; |
|
205 printEmptyElement(qname("hr"), null); |
|
206 printTextElement(qname("h3"), null, "Result set #" + resultSetCounter); |
205 printStartElement(qname("table")); |
207 printStartElement(qname("table")); |
206 printStartElement(qname("thead")); |
208 printStartElement(qname("thead")); |
207 printStartElement(qname("tr")); |
209 printStartElement(qname("tr")); |
208 for (ColumnDescriptor cd : header.getColumnDescriptors()) { |
210 for (ColumnDescriptor cd : header.getColumnDescriptors()) { |
209 // TODO: type |
211 // TODO: type |
214 |
216 |
215 printStartElement(qname("tbody")); |
217 printStartElement(qname("tbody")); |
216 } |
218 } |
217 |
219 |
218 @Override |
220 @Override |
|
221 public void writeEndResultSet() { |
|
222 super.writeEndResultSet(); |
|
223 printEndElement(); |
|
224 printEndElement(); |
|
225 printTextElement(qname("p"), null, "Record count: " + getCurrentRowCount()); |
|
226 } |
|
227 |
|
228 @Override |
219 public void writeStartRow() { |
229 public void writeStartRow() { |
220 super.writeStartRow(); |
230 super.writeStartRow(); |
221 printStartElement(qname("tr")); |
231 printStartElement(qname("tr")); |
222 } |
232 } |
223 |
233 |
232 super.writeEndRow(); |
242 super.writeEndRow(); |
233 printEndElement(); |
243 printEndElement(); |
234 } |
244 } |
235 |
245 |
236 @Override |
246 @Override |
237 public void writeStartResultSet() { |
247 public void writeStartStatement() { |
238 super.writeStartResultSet(); |
248 super.writeStartStatement(); |
239 resultSetCounter++; |
249 statementCounter++; |
240 printEmptyElement(qname("hr"), null); |
250 printEmptyElement(qname("hr"), null); |
241 printTextElement(qname("h2"), null, "Result set #" + resultSetCounter); |
251 printTextElement(qname("h2"), null, "SQL statement #" + statementCounter); |
242 } |
252 resultSetCounter = 0; |
243 |
253 updatesResultCounter = 0; |
244 @Override |
254 } |
245 public void writeEndResultSet() { |
255 |
246 super.writeEndResultSet(); |
256 @Override |
247 printEndElement(); |
257 public void writeUpdatesResult(int updatedRowsCount) { |
248 printEndElement(); |
258 super.writeUpdatesResult(updatedRowsCount); |
249 |
|
250 printTextElement(qname("p"), null, "Record count: " + getCurrentRowCount()); |
|
251 } |
|
252 |
|
253 @Override |
|
254 public void writeStartUpdatesResult() { |
|
255 super.writeStartUpdatesResult(); |
|
256 updatesResultCounter++; |
259 updatesResultCounter++; |
257 printEmptyElement(qname("hr"), null); |
260 printEmptyElement(qname("hr"), null); |
258 printTextElement(qname("h2"), null, "Updates result #" + updatesResultCounter); |
261 printTextElement(qname("h3"), null, "Updates result #" + updatesResultCounter); |
259 } |
|
260 |
|
261 @Override |
|
262 public void writeUpdatedRowsCount(int updatedRowsCount) { |
|
263 super.writeUpdatedRowsCount(updatedRowsCount); |
|
264 printTextElement(qname("p"), null, "Updated rows: " + updatedRowsCount); |
262 printTextElement(qname("p"), null, "Updated rows: " + updatedRowsCount); |
265 } |
263 } |
266 } |
264 } |