| /******************************************************************************* |
| * Copyright (c) 2004, 2007 Boeing. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Boeing - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.osee.ote.ui.define.reports.html; |
| |
| import java.io.IOException; |
| import java.text.DateFormat; |
| import java.util.Date; |
| |
| /** |
| * @author Roberto E. Escobar |
| */ |
| public class HtmlTableReport { |
| private static String HTML_HEADER = |
| "<html><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><head>"; |
| private static String HTML_FOOTER = "</body></html>"; |
| |
| private String reportTitle; |
| private final HtmlActiveTable activeTable; |
| |
| public HtmlTableReport() { |
| this.activeTable = new HtmlActiveTable(); |
| this.reportTitle = "Report"; |
| } |
| |
| public void setReportTitle(String title) { |
| this.reportTitle = title; |
| } |
| |
| public HtmlActiveTable getActiveTable() { |
| return activeTable; |
| } |
| |
| public String generate() throws IOException { |
| StringBuilder builder = new StringBuilder(); |
| builder.append(HTML_HEADER); |
| builder.append("<title>"); |
| builder.append(reportTitle); |
| builder.append("</title>"); |
| builder.append(activeTable.generate()); |
| builder.append("</head>"); |
| builder.append(getReportSummary()); |
| builder.append("<br/>"); |
| builder.append("<div id=\""); |
| builder.append(activeTable.getElementName()); |
| builder.append("\" style=\"width:100%;\">"); |
| builder.append("</div>"); |
| builder.append(HTML_FOOTER); |
| return builder.toString(); |
| } |
| |
| private String getReportSummary() { |
| StringBuilder builder = new StringBuilder(); |
| builder.append("<div id=\"title\" class=\"x-grid3-hd-text\" style=\"color:#15428b;background:#ebf3fd;border:1px solid #aaccf6;\">"); |
| builder.append("<table class=\" x-grid3-summary-row x-grid3-hd-text\" style=\"width:95%;color:#15428b;\">"); |
| builder.append("<tr>"); |
| builder.append("<td style=\"text-align:left; font-size:14px;\"><b>"); |
| builder.append(reportTitle); |
| builder.append("</b></td>"); |
| builder.append("<td style=\"text-align:right; font-size:14px;\"><b>"); |
| builder.append(DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(new Date())); |
| builder.append("</b></td>"); |
| builder.append("</tr>"); |
| builder.append("</table>"); |
| builder.append("</div>"); |
| return builder.toString(); |
| } |
| } |