001 /**
002 * www.jcoverage.com
003 * Copyright (C)2003 jcoverage ltd.
004 *
005 * This file is part of jcoverage.
006 *
007 * jcoverage is free software; you can redistribute it and/or modify
008 * it under the terms of the GNU General Public License as published
009 * by the Free Software Foundation; either version 2 of the License,
010 * or (at your option) any later version.
011 *
012 * jcoverage is distributed in the hope that it will be useful, but
013 * WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015 * General Public License for more details.
016 *
017 * You should have received a copy of the GNU General Public License
018 * along with jcoverage; if not, write to the Free Software
019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
020 * USA
021 *
022 */
023 package com.jcoverage.coverage.reporting.html;
024
025 import com.jcoverage.reporting.MultiViewCollator;
026 import com.jcoverage.reporting.Page;
027 import com.jcoverage.reporting.View;
028 import com.jcoverage.reporting.ViewFormattingContext;
029 import com.jcoverage.reporting.html.AbstractHtmlFormat;
030 import com.jcoverage.reporting.html.H2;
031 import com.jcoverage.reporting.html.Html;
032 import com.jcoverage.reporting.html.Style;
033
034 import com.jcoverage.coverage.Version;
035
036 import org.apache.log4j.Logger;
037
038 /**
039 *
040 */
041 public abstract class CommonFormat extends AbstractHtmlFormat {
042
043 static Logger logger=Logger.getLogger(CommonFormat.class);
044
045 protected void buildHeader(Html html) {
046 html.getHead().add(new Style(getClass().getResourceAsStream("style.css")));
047 html.add("<img src=\"http://jcoverage.com/images/shim"+Version.VERSION_STRING+".gif\" width=\"1\" height=\"1\">");
048 }
049
050 protected void buildFooter(Html html) {
051 html.getBody().add("<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr valign=\"top\"><td>");
052 html.getBody().add("<p class=\"legalleft\">");
053 html.getBody().add("this report was generated by version "+Version.VERSION_STRING+" of jcoverage.<br>");
054 html.getBody().add("visit <a href=\"http://www.jcoverage.com\">www.jcoverage.com</a> for updates.<br>");
055 html.getBody().add("</td><td>");
056 html.getBody().add("<p class=\"legalright\">");
057 html.getBody().add("copyright © 2003, jcoverage ltd. all rights reserved.<br>");
058 html.getBody().add("Java is a trademark of Sun Microsystems, Inc. in the United States and other countries.<br>");
059 html.getBody().add("</td></tr></table>");
060 }
061
062 protected void addViews(ViewFormattingContext ctx,Page page,Html html) {
063 MultiViewCollator collator=(MultiViewCollator)ctx.getCollator();
064 View[] views=ctx.getViews();
065 html.add(new H2("Set view:"));
066 html.add("<p class=\"view\">");
067 for (int i=0;i<views.length;i++) {
068 if (ctx.getCurrentView().equals(views[i])) {
069 html.getBody().add("<b>"+views[i].getLabel()+"</b>");
070 } else {
071 String href=collator.getPathToPage(ctx,page,page,views[i]);
072 html.getBody().add("<a href=\""+href+"\">"+views[i].getLabel()+"</a>");
073 }
074 html.add("<br>");
075 }
076 }
077 }