java/sql-dk/src/info/globalcode/sql/dk/formatting/XhtmlFormatter.java
branchv_0
changeset 142 da1e38386d84
parent 138 b765713c60e9
child 152 7a3382823fc3
equal deleted inserted replaced
141:ecd17aad1178 142:da1e38386d84
    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 }