/* * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /* * */ package bench; import java.awt.Toolkit; import java.io.OutputStream; import java.io.PrintStream; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.Properties; /** * Benchmark XML report generator. Uses XML format used by other JDK * benchmarks. */ public class XmlReporter implements Reporter { OutputStream out; String title; /** * Create XmlReporter which writes to the given stream. */ public XmlReporter(OutputStream out, String title) { this.out = out; this.title = title; } /** * Generate text report. */ public void writeReport(BenchInfo[] binfo, Properties props) throws IOException { PrintStream p = new PrintStream(out); p.println(""); p.println("" + title + ""); p.println("" + new Date() + ""); p.println("" + props.getProperty("java.version") + ""); p.println("" + props.getProperty("java.vendor") + ""); p.println("" + props.getProperty("java.home") + ""); String vmName = props.getProperty("java.vm.name"); String vmInfo = props.getProperty("java.vm.info"); String vmString = (vmName != null && vmInfo != null) ? vmName + " " + vmInfo : "Undefined"; p.println("" + vmString + ""); p.println("" + props.getProperty("os.name") + " version " + props.getProperty("os.version") + ""); p.println("" + Toolkit.getDefaultToolkit().getColorModel().getPixelSize() + ""); p.println(); p.println(""); for (int i = 0; i < binfo.length; i++) { BenchInfo b = binfo[i]; String score = (b.getTime() != -1) ? Double.toString(b.getTime() * b.getWeight()) : "-1"; p.println(b.getName() + "\t" + score); } p.println(""); p.println(""); } }