/* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ package graphical; import java.io.File; import java.io.FileWriter; public class HTMLResult { private FileWriter m_aOut; /** * ls is the current line separator (carridge return) */ private String ls; public HTMLResult( String _sOutputPath, String _sHTMLFilename ) { FileHelper.makeDirectories("", _sOutputPath); String sFilename = FileHelper.appendPath(_sOutputPath, _sHTMLFilename); try { File outputFile = new File(sFilename); m_aOut = new FileWriter(outputFile.toString()); ls = System.getProperty("line.separator"); } catch (java.io.IOException e) { e.printStackTrace(); GlobalLogWriter.println("ERROR: Can't create HTML Outputter"); } } private void writeln(String _sStr) { try { m_aOut.write( _sStr ); m_aOut.write ( ls ); } catch (java.io.IOException e) { } } private void flush() { try { m_aOut.flush(); } catch (java.io.IOException e) { } } /** * create the HTML header */ public void header(String _sTitle) { writeln( ""); writeln( "" ); writeln( "" + _sTitle + ""); writeln( ""); writeln( ""); writeln( ""); writeln( ""); flush(); } private final static String TEST_TABLETITLE = "Document"; private final static String VISUAL_STATUS_TABLETITLE = "Visual status"; private final static String VISUAL_STATUS_MESSAGE_TABLETITLE = "Message"; private final static String FIRSTGFX_TABLETITLE = "Original print file as jpeg"; public void indexSection(String _sOfficeInfo) { writeln( "

Results for " + _sOfficeInfo + "

"); writeln( "

This result was created at: " + DateHelper.getDateTimeForHumanreadableLog()); writeln( "

Legend:
"); writeln( stronghtml(FIRSTGFX_TABLETITLE) + " contains the output printed via 'ghostscript' as a jpeg picture.
"); writeln( ""); writeln( ""); writeln( tableHeaderCell(TEST_TABLETITLE)); writeln( tableHeaderCell("")); writeln( tableHeaderCell(VISUAL_STATUS_TABLETITLE)); writeln( tableHeaderCell(VISUAL_STATUS_MESSAGE_TABLETITLE)); writeln( ""); flush(); } /** * Returns the given _sHREF & _sPathInfo as a HTML String * _sPathInfo * @param _sHREF * @param _sPathInfo * @return */ private String getHREF(String _sHREF, String _sPathInfo) { StringBuffer a = new StringBuffer(); a.append(""); a.append(_sPathInfo); a.append(""); return a.toString(); } /** * Returns the given _sValue as a HTML Table cell with _sValue as content * @param _sValue * @return */ private String tableDataCell(String _sValue) { StringBuffer a = new StringBuffer(); a.append(""); return a.toString(); } /** * Returns the given _sValue as a HTML Table header cell with _sValue as content * @param _sValue * @return */ private String tableHeaderCell(String _sValue) { StringBuffer a = new StringBuffer(); a.append(""); return a.toString(); } public void indexLine(String _sHTMLFile, String _sHTMLName, String _sStatusRunThrough, String _sStatusMessage) { writeln( ""); writeln(tableDataCell( getHREF(_sHTMLFile, _sHTMLName) ) ); writeln(tableDataCell( "" ) ); writeln( tableDataCell(_sStatusRunThrough) ); writeln( tableDataCell(_sStatusMessage) ); writeln( ""); flush(); } public void close() { writeln( "
"); a.append(_sValue); a.append(""); a.append(_sValue); a.append("
"); writeln( ""); try { m_aOut.close(); } catch (java.io.IOException e) { } } private String stronghtml(String _sValue) { StringBuffer a = new StringBuffer(); a.append(""); a.append(_sValue); a.append(""); return a.toString(); } }