
org.databene.dbsanity.report.OnlineVerdictSummaryModule Maven / Gradle / Ivy
/*
* (c) Copyright 2010-2011 by Volker Bergmann. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, is permitted under the terms of the
* GNU General Public License (GPL).
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* WITHOUT A WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS,
* REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE
* HEREBY EXCLUDED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
package org.databene.dbsanity.report;
import org.databene.commons.MathUtil;
import org.databene.dbsanity.html.HtmlPrintStream;
import org.databene.dbsanity.html.HtmlUrlImage;
import org.databene.dbsanity.html.Renderable;
import org.databene.dbsanity.model.SanityCheckSuite;
/**
* Implementation of the {@link VerdictSummaryModule} interface which requires
* Internet access for viewing the charts.
* Created: 05.11.2010 08:14:52
* @since 1.0
* @author Volker Bergmann
*/
public class OnlineVerdictSummaryModule extends VerdictSummaryModule {
public void renderDashboardView(ReportScope scope, SanityCheckSuite suite, HtmlPrintStream out) {
out.startModule(localize("overall_summary") + ": " + suite.getName());
out.startTable("width", "100%");
out.startTableRow();
out.startTableCell("align", "center");
if (suite.countPassedChecks() + suite.countFailedChecks() + suite.countErredChecks() + suite.countSkippedChecks() > 0) {
out.print(" ");
out.render(pieChart(suite));
out.println();
}
out.endTableCell();
out.startTableCell();
renderStatsTable(suite, out);
out.endTableCell();
out.endTableRow();
out.endTable();
out.endModule();
}
private Renderable pieChart(SanityCheckSuite suite) {
String data = "t:" +
suite.countPassedChecks() + "," +
suite.countFailedChecks() + "," +
suite.countErredChecks() + "," +
suite.countSkippedChecks();
int max = MathUtil.max(suite.countPassedChecks(), suite.countFailedChecks(), suite.countErredChecks(), suite.countSkippedChecks());
String imgUrl =
"http://chart.apis.google.com/chart" +
"?chxs=0,676767,10&chxt=x" +
"&chs=200x150" +
"&cht=p3" +
"&chco=" + ReportContext.GREEN + "," + ReportContext.RED + ",000000,B0B0B0" +
"&chds=0," + max + "" +
"&chd=" + data + "" +
"&chdl=success|failure|error" +
"&chdlp=b" +
"&chp=0.067" +
"&chl=+|||+" +
"&chma=|0,2";
return new HtmlUrlImage(imgUrl).withWidth("200").withHeight("150").withTitle("Summary");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy