Example usage for java.util Hashtable size

List of usage examples for java.util Hashtable size

Introduction

In this page you can find the example usage for java.util Hashtable size.

Prototype

public synchronized int size() 

Source Link

Document

Returns the number of keys in this hashtable.

Usage

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @author HONGLI oraclepdf//from  www .  j a va2s .  c o  m
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReportOracleCldPdf(String filename, String type) throws DocumentException, IOException {
    if (impReport.getTable() == null) {
        fileName = null;
        return;
    }
    try {
        // 
        Document document = new Document(PageSize.A4);
        // (Writer)document(Writer)
        if ("pdf".equals(type)) {
            PdfWriter.getInstance(document, new FileOutputStream(filename));
        } else {
            RtfWriter2.getInstance(document, new FileOutputStream(filename));
        }
        document.open();
        // 
        BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        // 
        Font titleFont = new Font(bfChinese, 12, Font.BOLD);
        // 
        Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
        String hostname = (String) reportHash.get("dbname");
        String ip = (String) reportHash.get("ip");
        String typename = (String) reportHash.get("typename");
        String runstr = (String) reportHash.get("runstr");
        String grade = (String) reportHash.get("grade");
        String pingnow = (String) reportHash.get("pingnow");
        String pingmin = (String) reportHash.get("pingmin");
        String pingconavg = (String) reportHash.get("pingconavg");
        DBVo vo = (DBVo) reportHash.get("vo");
        String newip = doip(ip);
        Paragraph title = new Paragraph(hostname + "", titleFont);
        // 
        title.setAlignment(Element.ALIGN_CENTER);
        // title.setFont(titleFont);
        document.add(title);
        String Ping = (String) reportHash.get("Ping");
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");

        Hashtable maxping = (Hashtable) reportHash.get("ping");

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String contextString = ":" + impReport.getTimeStamp() + " \n"// 
                + ":" + starttime + "  " + totime;

        Paragraph context = new Paragraph(contextString, contextFont);
        // 
        context.setAlignment(Element.ALIGN_LEFT);
        // context.setFont(contextFont);
        // 
        context.setSpacingBefore(5);
        // 
        context.setFirstLineIndent(5);
        document.add(context);
        document.add(new Paragraph("\n"));
        /*
         * tmpLabel = new Label(0, 1, ":" + impReport.getTimeStamp());
         * sheet.addCell(tmpLabel); tmpLabel = new Label(0, 2, ": " +
         * starttime + "  " + totime);
         */
        // 
        Table dbTable = new Table(5);
        this.setTableFormat(dbTable);
        Cell dbCell = null;
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("IP", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(vo.getDbName(), contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(ip, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(typename, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(runstr, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(grade, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);

        Table aTable = new Table(3);
        this.setTableFormat(aTable);
        // float[] widths = { 220f, 220f, 220f };
        // aTable.setWidths(widths);
        // aTable.setWidthPercentage(100);
        Cell cell = null;
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingnow + "%", contextFont));
        this.setCellFormat(cell, false);
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingmin + "%", contextFont));
        this.setCellFormat(cell, false);
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingconavg + "%", contextFont));
        this.setCellFormat(cell, false);
        aTable.addCell(cell);

        // 
        Image img = Image.getInstance(ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/"
                + newip + "ConnectUtilization" + ".png");
        // img.setAbsolutePosition(0, 0);
        img.scalePercent(76);
        img.setAlignment(Image.MIDDLE);// 
        document.add(dbTable);
        document.add(new Paragraph("\n"));
        document.add(aTable);
        document.add(img);
        document.add(new Paragraph("\n"));

        //  
        Table dbInfoTable = new Table(6);
        this.setTableFormat(dbInfoTable);
        // float[] dbInfoWidths = { 220f, 220f, 220f, 220f, 220f, 220f };
        // dbInfoTable.setWidths(dbInfoWidths);
        // dbInfoTable.setWidthPercentage(100);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        cell.setColspan(6);
        dbInfoTable.addCell(cell);
        String buffercache = "0";// 
        String dictionarycache = "0";// 
        String librarycache = "0";// 
        String pctmemorysorts = "0";// 
        String pctbufgets = "0";// 10
        String opencurstr = "0";// 
        Hashtable memPerfValue = (Hashtable) reportHash.get("memPerfValue");
        Hashtable memValue = (Hashtable) reportHash.get("memValue");
        Hashtable cursors = (Hashtable) reportHash.get("cursors");
        if (cursors == null) {
            cursors = new Hashtable();
        }
        if (memPerfValue == null)
            memPerfValue = new Hashtable();
        if (memPerfValue != null) {
            if (memPerfValue.containsKey("buffercache") && memPerfValue.get("buffercache") != null) {
                buffercache = (String) memPerfValue.get("buffercache") + "%";
            }
            if (memPerfValue.containsKey("dictionarycache") && memPerfValue.get("dictionarycache") != null) {
                dictionarycache = (String) memPerfValue.get("dictionarycache") + "%";
            }
            if (memPerfValue.containsKey("librarycache") && memPerfValue.get("librarycache") != null) {
                librarycache = (String) memPerfValue.get("librarycache") + "%";
            }
            if (memPerfValue.containsKey("pctmemorysorts") && memPerfValue.get("pctmemorysorts") != null) {
                pctmemorysorts = (String) memPerfValue.get("pctmemorysorts") + "%";
            }
            if (memPerfValue.containsKey("pctbufgets") && memPerfValue.get("pctbufgets") != null) {
                pctbufgets = (String) memPerfValue.get("pctbufgets") + "%";
            }
            if (cursors.containsKey("opencur") && cursors.get("opencur") != null) {
                opencurstr = (String) cursors.get("opencur");
            }
        }
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("10", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(" ", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(buffercache, contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(dictionarycache, contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(librarycache, contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(pctmemorysorts, contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(pctbufgets, contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(opencurstr, contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        document.add(dbInfoTable);
        document.add(new Paragraph("\n"));

        // 
        String[] sysItem1 = { "shared_pool", "large_pool", "DEFAULT_buffer_cache", "java_pool" };
        String[] sysItemch1 = { "", "", "", "Java" };
        String[] sysItem2 = { "aggregate_PGA_target_parameter", "total_PGA_allocated",
                "maximum_PGA_allocated" };
        String[] sysItemch2 = { "PGA", "PGA", "PGA" };
        Table ncTable = new Table(7);
        this.setTableFormat(ncTable);
        // float[] ncWidths = { 220f, 220f, 220f, 220f, 220f, 220f, 220f };
        // HONGLI MODIFY END1
        // ncTable.setWidths(ncWidths);
        // ncTable.setWidthPercentage(100);
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(7);
        this.setCellFormat(cell, true);
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch2[0], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch2[1], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch2[2], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[0], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[1], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[2], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[3], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem2[0]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem2[1]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem2[2]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[0]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[1]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[2]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[3]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        document.add(ncTable);
        document.add(new Paragraph("\n"));

        // HONGLI MODIFY START1 
        Table aTable1 = new Table(11);
        float[] arg0 = { 10f, 20f, 10f, 10f, 10f, 10f, 10f, 10f, 10f, 10f, 10f };
        aTable1.setWidths(arg0);
        this.setTableFormat(aTable1);
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(11);
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("MB", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("MB", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        // HONGLI ADD START1
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        // HONGLI ADD END1

        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        // aTable1.endHeaders();

        // 
        Vector tableinfo_v = (Vector) reportHash.get("tableinfo_v");

        // HONGLI ADD START2
        Hashtable dbio = (Hashtable) reportHash.get("dbio");
        // HONGLI ADD END2

        int row = 0;
        for (int i = 0; i < tableinfo_v.size(); i++) {
            Hashtable ht = (Hashtable) tableinfo_v.get(i);
            String _filename = ht.get("file_name").toString();
            String tablespace = ht.get("tablespace").toString();
            String size = ht.get("size_mb").toString();
            String free = ht.get("free_mb").toString();
            String percent = ht.get("percent_free").toString();
            String status = ht.get("status").toString();

            // HONGLI ADD START3
            String pyr = "";
            String pbr = "";
            String pyw = "";
            String pbw = "";
            if (dbio.containsKey(_filename)) {
                Hashtable iodetail = (Hashtable) dbio.get(_filename);
                if (iodetail != null && iodetail.size() > 0) {
                    pyr = (String) iodetail.get("pyr");
                    pbr = (String) iodetail.get("pbr");
                    pyw = (String) iodetail.get("pyw");
                    pbw = (String) iodetail.get("pbw");
                }
            }
            // HONGLI ADD END3

            row = i + 1;
            String rowStr = "" + row;
            cell = new Cell(new Phrase(rowStr, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(_filename, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(tablespace, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(size, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(free, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(percent, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);

            // HONGLI ADD START4
            cell = new Cell(new Phrase(pyr, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(pbr, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(pyw, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(pbw, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            // HONGLI ADD END4

            cell = new Cell(new Phrase(status, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);

        }
        document.add(aTable1);

        // 
        document.add(new Paragraph("\n"));
        Table eventTable = new Table(2);
        this.setTableFormat(eventTable);
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(2);
        this.setCellFormat(cell, true);
        eventTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        eventTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        eventTable.addCell(cell);
        cell = new Cell(new Phrase((String) reportHash.get("downnum"), contextFont));
        this.setCellFormat(cell, false);
        eventTable.addCell(cell);
        cell = new Cell(new Phrase(reportHash.get("count") + "", contextFont));
        this.setCellFormat(cell, false);
        eventTable.addCell(cell);
        document.add(eventTable);

        if (impReport.getChart() != null) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            try {
                ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                        impReport.getChart().getWidth(), impReport.getChart().getHeight());
            } catch (IOException ioe) {
            }
            Image img1 = Image.getInstance(baos.toByteArray());
            img1.setAbsolutePosition(0, 0);
            img1.setAlignment(Image.MIDDLE);// 

            document.add(img1);
        }

        document.add(new Paragraph("\n"));
        // 
        addEventLisToPdf(document);
        document.close();
    } catch (Exception e) {
        // SysLogger.error("Error in ExcelReport.createReport()",e);
        SysLogger.error("", e);
    }

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @author HONGLI oracleword// w w w .  j  a  v  a 2s.c  o  m
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReportOracleCldDoc(String filename) throws DocumentException, IOException {
    if (impReport.getTable() == null) {
        fileName = null;
        return;
    }
    try {
        // 
        Document document = new Document(PageSize.A4);
        // (Writer)document(Writer)
        RtfWriter2.getInstance(document, new FileOutputStream(filename));
        document.open();
        // 
        BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
        // 
        Font titleFont = new Font(bfChinese, 12, Font.BOLD);
        // 
        Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
        String hostname = (String) reportHash.get("dbname");
        String ip = (String) reportHash.get("ip");
        String typename = (String) reportHash.get("typename");
        String runstr = (String) reportHash.get("runstr");
        String grade = (String) reportHash.get("grade");
        String pingnow = (String) reportHash.get("pingnow");
        String pingmin = (String) reportHash.get("pingmin");
        String pingconavg = (String) reportHash.get("pingconavg");
        DBVo vo = (DBVo) reportHash.get("vo");
        String newip = doip(ip);
        Paragraph title = new Paragraph(hostname + "", titleFont);
        // 
        title.setAlignment(Element.ALIGN_CENTER);
        // title.setFont(titleFont);
        document.add(title);
        String Ping = (String) reportHash.get("Ping");
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");

        Hashtable maxping = (Hashtable) reportHash.get("ping");

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String contextString = ":" + impReport.getTimeStamp() + " \n"// 
                + ":" + starttime + "  " + totime;

        Paragraph context = new Paragraph(contextString, contextFont);
        // 
        context.setAlignment(Element.ALIGN_LEFT);
        // context.setFont(contextFont);
        // 
        context.setSpacingBefore(5);
        // 
        context.setFirstLineIndent(5);
        document.add(context);
        /*
         * tmpLabel = new Label(0, 1, ":" + impReport.getTimeStamp());
         * sheet.addCell(tmpLabel); tmpLabel = new Label(0, 2, ": " +
         * starttime + "  " + totime);
         */
        // 
        Table dbTable = new Table(5);
        float[] cellWidths = { 220f, 220f, 220f, 220f, 220f };
        dbTable.setWidths(cellWidths);
        dbTable.setWidth(100); //  90%
        dbTable.setAlignment(Element.ALIGN_CENTER);// 
        dbTable.setAutoFillEmptyCells(true); // 
        dbTable.setBorderWidth(1); // 
        dbTable.setBorderColor(new Color(0, 125, 255)); // 
        dbTable.setPadding(2);// 
        dbTable.setSpacing(0);// 
        dbTable.setBorder(2);// 
        dbTable.endHeaders();
        Cell dbCell = null;
        dbCell = new Cell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("IP", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(vo.getDbName(), contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(ip, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(typename, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(runstr, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(grade, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);

        Table aTable = new Table(3);
        float[] widths = { 220f, 220f, 220f };
        aTable.setWidths(widths);
        aTable.setWidth(100); //  90%
        aTable.setAlignment(Element.ALIGN_CENTER);// 
        aTable.setAutoFillEmptyCells(true); // 
        aTable.setBorderWidth(1); // 
        aTable.setBorderColor(new Color(0, 125, 255)); // 
        aTable.setPadding(2);// 
        aTable.setSpacing(0);// 
        aTable.setBorder(2);// 
        aTable.endHeaders();
        Cell cell = null;
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingnow + "%", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingmin + "%", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingconavg + "%", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);

        // 
        Image img = Image.getInstance(ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/"
                + newip + "ConnectUtilization" + ".png");
        img.setAbsolutePosition(0, 0);
        img.setAlignment(Image.LEFT);// 
        document.add(dbTable);
        document.add(aTable);
        document.add(img);
        document.add(new Paragraph("\n"));

        //  
        Table dbInfoTable = new Table(6);
        float[] dbInfoWidths = { 220f, 220f, 220f, 220f, 220f, 220f };
        dbInfoTable.setWidths(dbInfoWidths);
        dbInfoTable.setWidth(100); //  90%
        dbInfoTable.setAlignment(Element.ALIGN_CENTER);// 
        dbInfoTable.setAutoFillEmptyCells(true); // 
        dbInfoTable.setBorderWidth(1); // 
        dbInfoTable.setBorderColor(new Color(0, 125, 255)); // 
        dbInfoTable.setPadding(2);// 
        dbInfoTable.setSpacing(0);// 
        dbInfoTable.setBorder(2);// 
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(6);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        String buffercache = "0";// 
        String dictionarycache = "0";// 
        String librarycache = "0";// 
        String pctmemorysorts = "0";// 
        String pctbufgets = "0";// 10
        String opencurstr = "0";// 
        Hashtable memPerfValue = (Hashtable) reportHash.get("memPerfValue");
        Hashtable memValue = (Hashtable) reportHash.get("memValue");
        Hashtable cursors = (Hashtable) reportHash.get("cursors");
        if (cursors == null) {
            cursors = new Hashtable();
        }
        if (memPerfValue == null)
            memPerfValue = new Hashtable();
        if (memPerfValue != null) {
            if (memPerfValue.containsKey("buffercache") && memPerfValue.get("buffercache") != null) {
                buffercache = (String) memPerfValue.get("buffercache") + "%";
            }
            if (memPerfValue.containsKey("dictionarycache") && memPerfValue.get("dictionarycache") != null) {
                dictionarycache = (String) memPerfValue.get("dictionarycache") + "%";
            }
            if (memPerfValue.containsKey("librarycache") && memPerfValue.get("librarycache") != null) {
                librarycache = (String) memPerfValue.get("librarycache") + "%";
            }
            if (memPerfValue.containsKey("pctmemorysorts") && memPerfValue.get("pctmemorysorts") != null) {
                pctmemorysorts = (String) memPerfValue.get("pctmemorysorts") + "%";
            }
            if (memPerfValue.containsKey("pctbufgets") && memPerfValue.get("pctbufgets") != null) {
                pctbufgets = (String) memPerfValue.get("pctbufgets") + "%";
            }
            if (cursors.containsKey("opencur") && cursors.get("opencur") != null) {
                opencurstr = (String) cursors.get("opencur");
            }
        }
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("10", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(" ", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(buffercache, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(dictionarycache, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(librarycache, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(pctmemorysorts, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(pctbufgets, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase(opencurstr, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        document.add(dbInfoTable);

        // 
        String[] sysItem1 = { "shared_pool", "large_pool", "DEFAULT_buffer_cache", "java_pool" };
        String[] sysItemch1 = { "", "", "", "Java" };
        String[] sysItem2 = { "aggregate_PGA_target_parameter", "total_PGA_allocated",
                "maximum_PGA_allocated" };
        String[] sysItemch2 = { "PGA", "PGA", "PGA" };
        Table ncTable = new Table(7);
        float[] ncWidths = { 220f, 220f, 220f, 220f, 220f, 220f, 220f };
        // HONGLI MODIFY END1
        ncTable.setWidths(ncWidths);
        ncTable.setWidth(100); //  90%
        ncTable.setAlignment(Element.ALIGN_CENTER);// 
        ncTable.setAutoFillEmptyCells(true); // 
        ncTable.setBorderWidth(1); // 
        ncTable.setBorderColor(new Color(0, 125, 255)); // 
        ncTable.setPadding(2);// 
        ncTable.setSpacing(0);// 
        ncTable.setBorder(2);// 
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(7);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch2[0], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch2[1], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch2[2], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[0], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[1], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[2], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(sysItemch1[3], titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem2[0]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem2[1]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem2[2]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[0]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[1]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[2]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new Cell(new Phrase(memValue.get(sysItem1[3]) + "MB", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        document.add(ncTable);

        // HONGLI MODIFY START1 
        Table aTable1 = new Table(11);
        float[] width = { 220f, 220f, 220f, 220f, 220f, 220f, 220f, 220f, 220f, 220f, 220f };
        // HONGLI MODIFY END1
        aTable1.setWidths(width);
        aTable1.setWidth(100); //  90%
        aTable1.setAlignment(Element.ALIGN_CENTER);// 
        aTable1.setAutoFillEmptyCells(true); // 
        aTable1.setBorderWidth(1); // 
        aTable1.setBorderColor(new Color(0, 125, 255)); // 
        aTable1.setPadding(2);// 
        aTable1.setSpacing(0);// 
        aTable1.setBorder(2);// 
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(11);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("MB", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("MB", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        // HONGLI ADD START1
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        // HONGLI ADD END1

        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        // aTable1.endHeaders();

        // 
        Vector tableinfo_v = (Vector) reportHash.get("tableinfo_v");

        // HONGLI ADD START2
        Hashtable dbio = (Hashtable) reportHash.get("dbio");
        // HONGLI ADD END2

        int row = 0;
        for (int i = 0; i < tableinfo_v.size(); i++) {
            Hashtable ht = (Hashtable) tableinfo_v.get(i);
            String _filename = ht.get("file_name").toString();
            String tablespace = ht.get("tablespace").toString();
            String size = ht.get("size_mb").toString();
            String free = ht.get("free_mb").toString();
            String percent = ht.get("percent_free").toString();
            String status = ht.get("status").toString();

            // HONGLI ADD START3
            String pyr = "";
            String pbr = "";
            String pyw = "";
            String pbw = "";
            if (dbio.containsKey(_filename)) {
                Hashtable iodetail = (Hashtable) dbio.get(_filename);
                if (iodetail != null && iodetail.size() > 0) {
                    pyr = (String) iodetail.get("pyr");
                    pbr = (String) iodetail.get("pbr");
                    pyw = (String) iodetail.get("pyw");
                    pbw = (String) iodetail.get("pbw");
                }
            }
            // HONGLI ADD END3

            row = i + 1;
            String rowStr = "" + row;
            cell = new Cell(new Phrase(rowStr, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(_filename, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(tablespace, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(size, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(free, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(percent, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);

            // HONGLI ADD START4
            cell = new Cell(new Phrase(pyr, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(pbr, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(pyw, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            cell = new Cell(new Phrase(pbw, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);
            // HONGLI ADD END4

            cell = new Cell(new Phrase(status, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable1.addCell(cell);

        }
        document.add(aTable1);

        //    
        Table evenInfoTable = new Table(2);
        float[] evenInfoWidths = { 220f, 220f };
        evenInfoTable.setWidths(evenInfoWidths);
        evenInfoTable.setWidth(100); //  90%
        evenInfoTable.setAlignment(Element.ALIGN_CENTER);// 
        evenInfoTable.setAutoFillEmptyCells(true); // 
        evenInfoTable.setBorderWidth(1); // 
        evenInfoTable.setBorderColor(new Color(0, 125, 255)); // 
        evenInfoTable.setPadding(2);// 
        evenInfoTable.setSpacing(0);// 
        evenInfoTable.setBorder(2);// 
        String downnum = (String) reportHash.get("downnum");
        String count = String.valueOf(reportHash.get("count"));
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase(downnum, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase(count, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        evenInfoTable.addCell(cell);
        document.add(evenInfoTable);

        addEventListToDoc(document, titleFont, contextFont);

        if (impReport.getChart() != null) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            try {
                ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                        impReport.getChart().getWidth(), impReport.getChart().getHeight());
            } catch (IOException ioe) {
            }
            Image img1 = Image.getInstance(baos.toByteArray());
            img1.setAbsolutePosition(0, 0);
            img1.setAlignment(Image.MIDDLE);// 

            document.add(img1);
        }

        document.close();
    } catch (Exception e) {
        // SysLogger.error("Error in ExcelReport.createReport()",e);
        SysLogger.error("", e);
    }

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * mysql doc/*from w  ww .  j  a  v  a 2  s  .  c o  m*/
 * 
 * @Author HONGLI
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReport_mysqlNewDoc(String filename, String type) throws DocumentException, IOException {
    String hostname = (String) reportHash.get("dbname");
    String hostnamestr = (String) reportHash.get("hostnamestr");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String Ping = (String) reportHash.get("Ping");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    Hashtable oramem = (Hashtable) reportHash.get("memvalue");
    Hashtable maxping = (Hashtable) reportHash.get("ping");
    DBVo vo = (DBVo) reportHash.get("vo");
    String runstr = (String) reportHash.get("runstr");
    String[] sysItem1 = { "shared pool", "large pool", "buffer cache", "java pool" };
    String downnum = (String) reportHash.get("downnum");

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    if ("pdf".equals(type)) {
        PdfWriter.getInstance(document, new FileOutputStream(filename));
    } else {
        RtfWriter2.getInstance(document, new FileOutputStream(filename));
    }
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    this.setTableFormat(aTable);
    // float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    // aTable.setWidths(widths);
    // aTable.setWidth(100); //  90%
    // aTable.setAlignment(Element.ALIGN_CENTER);// 
    // aTable.setAutoFillEmptyCells(true); // 
    // aTable.setBorderWidth(1); // 
    // aTable.setBorderColor(new Color(0, 125, 255)); // 
    // aTable.setPadding(2);// 
    // aTable.setSpacing(0);// 
    // aTable.setBorder(2);// 
    Cell cell = null;

    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    cell.setColspan(8);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + starttime + "" + totime + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnamestr, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));

    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(runstr, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase(grade, contextFont1));
    cell.setColspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(8);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(5);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    Vector val = (Vector) reportHash.get("Val");
    String Max_used_connections = "";
    String Table_locks_immediate = "";
    String Table_locks_waited = "";
    String Key_read_requests = "";
    String Key_reads = "";

    String log_slow_queries = "";
    String Threads_connected = "";
    String Open_tables = "";
    String Opened_tables = "";
    if (val != null && val.size() > 0) {
        for (int i = 0; i < val.size(); i++) {
            Hashtable return_value = (Hashtable) val.get(i);
            if (return_value != null && return_value.size() > 0) {
                String name = return_value.get("variable_name").toString();
                String value = return_value.get("value").toString();
                if (name.equalsIgnoreCase("Max_used_connections")) {
                    // name="";
                    Max_used_connections = value;
                }
                if (name.equalsIgnoreCase("Table_locks_immediate")) {
                    // name="";
                    Table_locks_immediate = value;
                }
                if (name.equalsIgnoreCase("Table_locks_waited")) {
                    // name="";
                    Table_locks_waited = value;
                }
                if (name.equalsIgnoreCase("Key_read_requests")) {
                    // name="";
                    Key_read_requests = value;
                }
                if (name.equalsIgnoreCase("Key_reads")) {
                    // name="";
                    Key_reads = value;
                }
                if (name.equalsIgnoreCase("log_slow_queries")) {
                    // name="";
                    log_slow_queries = value;
                }
                if (name.equalsIgnoreCase("Threads_connected")) {
                    // name="";
                    Threads_connected = value;
                }
                if (name.equalsIgnoreCase("Open_tables")) {
                    // name="";
                    Open_tables = value;
                }
                if (name.equalsIgnoreCase("Opened_tables")) {
                    // name="";
                    Opened_tables = value;
                }
            }
        }
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(Max_used_connections, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Table_locks_immediate, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Table_locks_waited, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Key_read_requests, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Key_reads, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(log_slow_queries, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_connected, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Open_tables, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Opened_tables, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(" ", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    Vector tableinfo_v = (Vector) reportHash.get("tableinfo_v");
    String Threads_cached = "";
    String Innodb_buffer_pool_pages_total = "";
    String Threads_created = "";
    String Uptime = "";
    if (tableinfo_v != null) {
        for (int i = 0; i < tableinfo_v.size(); i++) {
            Hashtable ht = (Hashtable) tableinfo_v.get(i);

            String size = ht.get("variable_name").toString();
            String free = ht.get("value").toString();
            if (size.equalsIgnoreCase("Threads_cached")) {
                // size="";
                Threads_cached = free;
            }
            if (size.equalsIgnoreCase("Innodb_buffer_pool_pages_total")) {
                // size="";
                Innodb_buffer_pool_pages_total = free;
            }
            if (size.equalsIgnoreCase("Threads_created")) {
                // size="";
                Threads_created = free;
            }
            if (size.equalsIgnoreCase("Uptime")) {
                // size=":";
                Uptime = free;
            }
        }
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_cached, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Innodb_buffer_pool_pages_total, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_created, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(":", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Uptime, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(1);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    // 

    SybspaceconfigDao sybspaceconfigDao = new SybspaceconfigDao();

    List list = null;
    try {
        list = sybspaceconfigDao.getByIp(ip, 1);
    } catch (Exception e) {
        SysLogger.error("", e);
    } finally {
        sybspaceconfigDao.close();
    }

    Cell cell5 = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    // cell5.setRowspan(8 + list.size());
    this.setCellFormat(cell5, true);
    aTable.addCell(cell5);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("avgpingcon"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("pingmax"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // cell = new Cell(new Phrase("()", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getIdle(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("cpu()", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getCpu_busy(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("I/O()", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getIo_busy(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("IO(%)", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getIo_busy_rate(),
    // contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getSent_rate(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getReceived_rate(),
    // contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getWrite_rate(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getRead_rate(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getDisk_count(), contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getLocks_count(),
    // contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getXact_count(), contextFont1));
    // cell.setColspan(6);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("MB", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("MB", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("%", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // // get dbspace message==================
    // if (sysbaseVO == null)
    // sysbaseVO = new SybaseVO();
    // List dbsizelist = (List) sysbaseVO.getDbInfo();
    // int row = 1;
    // if (dbsizelist != null && dbsizelist.size() > 0) {
    // for (int i = 0; i < dbsizelist.size(); i++) {
    //      
    // TablesVO tablesVO = (TablesVO) dbsizelist.get(i);
    // String dbname = tablesVO.getDb_name();
    // for (int j = 0; j < list.size(); j++) {
    // Sybspaceconfig vo = (Sybspaceconfig) list.get(j);
    // if (vo.getSpacename().equals(dbname)) {
    //      
    // String dbsize = tablesVO.getDb_size();
    // String freesize = tablesVO.getDb_freesize();
    // String userdperc = tablesVO.getDb_usedperc();
    //      
    // cell = new Cell(new Phrase(dbname, contextFont1));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(dbsize, contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(freesize, contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(userdperc, contextFont1));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // }
    // }
    // }
    // }
    //      
    String count = (String) reportHash.get("count");
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + downnum + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + count + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setColspan(8);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);

    String pinglog = "";
    if (!"0".equals(downnum)) {
        pinglog = "   " + "2    " + downnum + "";
    } else {
        pinglog = "   " + "2    ";
    }
    String spacelog = "";
    if (!"0".equals(count)) {
        spacelog = "   " + "3    " + count
                + "" + "    ";
    } else {
        spacelog = "   " + "3    ";
    }
    cell = new Cell(new Phrase("   1      " + "\n" + "\n" + pinglog + "\n"
            + "\n" + spacelog + "\n" + "\n" + "\n" + "\n" + "\n" + "\n", contextFont1));
    cell.setColspan(8);

    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * mysql pdf/*w  w  w  .  j  a va2  s . c o  m*/
 * 
 * @author HONGLI
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReport_mysqlNewPDF(String filename) throws DocumentException, IOException {
    String hostname = (String) reportHash.get("dbname");
    String hostnamestr = (String) reportHash.get("hostnamestr");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String Ping = (String) reportHash.get("Ping");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    Hashtable oramem = (Hashtable) reportHash.get("memvalue");
    Hashtable maxping = (Hashtable) reportHash.get("ping");
    DBVo vo = (DBVo) reportHash.get("vo");
    String runstr = (String) reportHash.get("runstr");
    String[] sysItem1 = { "shared pool", "large pool", "buffer cache", "java pool" };
    String downnum = (String) reportHash.get("downnum");

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    PdfWriter.getInstance(document, new FileOutputStream(filename));
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font contextFont = new Font(bfChinese, 11, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 
    Cell cell = null;

    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + starttime + "" + totime + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnamestr, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));

    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(runstr, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase(grade, contextFont1));
    cell.setColspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(5);
    Vector val = (Vector) reportHash.get("Val");
    String Max_used_connections = "";
    String Table_locks_immediate = "";
    String Table_locks_waited = "";
    String Key_read_requests = "";
    String Key_reads = "";

    String log_slow_queries = "";
    String Threads_connected = "";
    String Open_tables = "";
    String Opened_tables = "";
    if (val != null && val.size() > 0) {
        for (int i = 0; i < val.size(); i++) {
            Hashtable return_value = (Hashtable) val.get(i);
            if (return_value != null && return_value.size() > 0) {
                String name = return_value.get("variable_name").toString();
                String value = return_value.get("value").toString();
                if (name.equalsIgnoreCase("Max_used_connections")) {
                    // name="";
                    Max_used_connections = value;
                }
                if (name.equalsIgnoreCase("Table_locks_immediate")) {
                    // name="";
                    Table_locks_immediate = value;
                }
                if (name.equalsIgnoreCase("Table_locks_waited")) {
                    // name="";
                    Table_locks_waited = value;
                }
                if (name.equalsIgnoreCase("Key_read_requests")) {
                    // name="";
                    Key_read_requests = value;
                }
                if (name.equalsIgnoreCase("Key_reads")) {
                    // name="";
                    Key_reads = value;
                }
                if (name.equalsIgnoreCase("log_slow_queries")) {
                    // name="";
                    log_slow_queries = value;
                }
                if (name.equalsIgnoreCase("Threads_connected")) {
                    // name="";
                    Threads_connected = value;
                }
                if (name.equalsIgnoreCase("Open_tables")) {
                    // name="";
                    Open_tables = value;
                }
                if (name.equalsIgnoreCase("Opened_tables")) {
                    // name="";
                    Opened_tables = value;
                }
            }
        }
    }
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(Max_used_connections, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Table_locks_immediate, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Table_locks_waited, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Key_read_requests, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Key_reads, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(log_slow_queries, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_connected, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Open_tables, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Opened_tables, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    Vector tableinfo_v = (Vector) reportHash.get("tableinfo_v");
    String Threads_cached = "";
    String Innodb_buffer_pool_pages_total = "";
    String Threads_created = "";
    String Uptime = "";
    if (tableinfo_v != null) {
        for (int i = 0; i < tableinfo_v.size(); i++) {
            Hashtable ht = (Hashtable) tableinfo_v.get(i);

            String size = ht.get("variable_name").toString();
            String free = ht.get("value").toString();
            if (size.equalsIgnoreCase("Threads_cached")) {
                // size="";
                Threads_cached = free;
            }
            if (size.equalsIgnoreCase("Innodb_buffer_pool_pages_total")) {
                // size="";
                Innodb_buffer_pool_pages_total = free;
            }
            if (size.equalsIgnoreCase("Threads_created")) {
                // size="";
                Threads_created = free;
            }
            if (size.equalsIgnoreCase("Uptime")) {
                // size=":";
                Uptime = free;
            }
        }
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_cached));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_cached));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Threads_cached));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(":", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(Uptime));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(1);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(""));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(""));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    // // 
    //      
    // SybspaceconfigDao sybspaceconfigDao = new SybspaceconfigDao();
    //      
    // List list = null;
    // try {
    // list = sybspaceconfigDao.getByIp(ip, 1);
    // } catch (Exception e) {
    // SysLogger.error("", e);
    // } finally {
    // sybspaceconfigDao.close();
    // }
    //      
    Cell cell5 = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell5.setRowspan(1);
    cell5.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell5.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell5);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("avgpingcon"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("pingmax"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // cell = new Cell(new Phrase("()", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getIdle()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("cpu()", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getCpu_busy()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("I/O()", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getIo_busy()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("IO(%)", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getIo_busy_rate()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getSent_rate()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getReceived_rate()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getWrite_rate()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("(/)", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getRead_rate()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getDisk_count()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getLocks_count()));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(sysbaseVO.getXact_count()));
    // cell.setColspan(6);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    //      
    // cell = new Cell(new Phrase("", titleFont));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("MB", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("MB", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase("%", titleFont));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // // get dbspace message==================
    // if (sysbaseVO == null)
    // sysbaseVO = new SybaseVO();
    // List dbsizelist = (List) sysbaseVO.getDbInfo();
    // int row = 1;
    // if (dbsizelist != null && dbsizelist.size() > 0) {
    // for (int i = 0; i < dbsizelist.size(); i++) {
    //      
    // TablesVO tablesVO = (TablesVO) dbsizelist.get(i);
    // String dbname = tablesVO.getDb_name();
    // for (int j = 0; j < list.size(); j++) {
    // Sybspaceconfig vo = (Sybspaceconfig) list.get(j);
    // if (vo.getSpacename().equals(dbname)) {
    //      
    // String dbsize = tablesVO.getDb_size();
    // String freesize = tablesVO.getDb_freesize();
    // String userdperc = tablesVO.getDb_usedperc();
    //      
    // cell = new Cell(new Phrase(dbname));
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(dbsize));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(freesize));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // cell = new Cell(new Phrase(userdperc));
    // cell.setColspan(2);
    // cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    // cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    // aTable.addCell(cell);
    // }
    // }
    // }
    // }
    //      
    String count = (String) reportHash.get("count");
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + downnum + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + count + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String pinglog = "";
    if (!"0".equals(downnum)) {
        pinglog = "   " + "2    " + downnum + "";
    } else {
        pinglog = "   " + "2    ";
    }
    String spacelog = "";
    if (!"0".equals(count)) {
        spacelog = "   " + "3    " + count
                + "" + "    ";
    } else {
        spacelog = "   " + "3    ";
    }
    cell = new Cell(new Phrase("   1      " + "\n" + "\n" + pinglog + "\n"
            + "\n" + spacelog + "\n" + "\n" + "\n" + "\n" + "\n" + "\n", contextFont1));
    cell.setColspan(8);

    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_db2all2(String filename) {
    if (impReport.getTable() == null) {
        fileName = null;// w  w w  .  j ava  2s .c  o m
        return;
    }
    WritableWorkbook wb = null;
    try {
        // fileName = ResourceCenter.getInstance().getSysPath() +
        // "temp\\dhcnms_report.xls";
        fileName = ResourceCenter.getInstance().getSysPath() + filename;
        wb = Workbook.createWorkbook(new File(fileName));
        Hashtable allreporthash = new Hashtable();
        allreporthash = reportHash;
        if (allreporthash != null && allreporthash.size() > 0) {
            Iterator keys = allreporthash.keySet().iterator();
            String ip = "";
            int sheetNum = 0;
            while (keys.hasNext()) {
                ip = keys.next().toString();
                String newip = doip(ip);
                Hashtable report_has = (Hashtable) allreporthash.get(ip);
                reportHash = report_has;
                String hostname = (String) report_has.get("dbname");
                WritableSheet sheet = wb.createSheet(hostname + "", 0);

                String Ping = (String) report_has.get("Ping");
                String starttime = (String) report_has.get("starttime");
                String totime = (String) report_has.get("totime");
                Hashtable mems = (Hashtable) report_has.get("mems");// 
                Hashtable sysValue = (Hashtable) report_has.get("sysValue");// 
                String typename = (String) report_has.get("typename");
                String runstr = (String) report_has.get("runstr");
                String grade = (String) report_has.get("grade");
                String pingnow = (String) report_has.get("pingnow");
                String pingmin = (String) report_has.get("pingmin");
                String pingconavg = (String) report_has.get("pingconavg");
                DBVo vo = (DBVo) report_has.get("vo");
                Hashtable conn = (Hashtable) report_has.get("conn");// 
                if (conn == null)
                    conn = new Hashtable();
                Hashtable poolInfo = (Hashtable) report_has.get("poolInfo");// 
                if (poolInfo == null)
                    poolInfo = new Hashtable();
                Hashtable log = (Hashtable) report_has.get("log");// 
                if (log == null)
                    log = new Hashtable();
                Hashtable spaceInfo = (Hashtable) report_has.get("spaceInfo");// 
                if (spaceInfo == null)
                    spaceInfo = new Hashtable();
                String[] sysDbStatus = { "", "", "", "" };
                Hashtable maxping = (Hashtable) report_has.get("ping");

                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                // WritableFont labelFont = new
                // WritableFont(WritableFont.createFont(""), 12,
                // WritableFont.BOLD,
                // false);
                // WritableCellFormat labelFormat = new
                // WritableCellFormat(labelFont);
                //
                // WritableCellFormat _labelFormat = new
                // WritableCellFormat();
                // _labelFormat.setBackground(jxl.format.Colour.GRAY_25);
                //
                // WritableCellFormat p_labelFormat = new
                // WritableCellFormat();
                // p_labelFormat.setBackground(jxl.format.Colour.ICE_BLUE);
                //
                // WritableCellFormat b_labelFormat = new
                // WritableCellFormat();
                // b_labelFormat.setBackground(jxl.format.Colour.GRAY_50);
                //
                WritableCellFormat red_labelFormat = new WritableCellFormat();
                red_labelFormat.setBackground(jxl.format.Colour.RED);

                WritableCellFormat orange_labelFormat = new WritableCellFormat();
                orange_labelFormat.setBackground(jxl.format.Colour.ORANGE);

                WritableCellFormat yellow_labelFormat = new WritableCellFormat();
                yellow_labelFormat.setBackground(jxl.format.Colour.YELLOW);

                Label tmpLabel = null;
                // ip
                this.dbTitlePing(sheet, ip, report_has);
                //   
                tmpLabel = new Label(0, 18, "", labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(0, 18, 10, 18);
                tmpLabel = new Label(0, 19, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, 19, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(5, 19, "MB ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(7, 19, "MB  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, 19, " %", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(1, 19, 4, 19);
                sheet.mergeCells(5, 19, 6, 19);
                sheet.mergeCells(7, 19, 8, 19);
                sheet.mergeCells(9, 19, 10, 19);
                List toolsdb = (ArrayList) spaceInfo.get("toolsdb");
                int row = 20;
                if (toolsdb != null && toolsdb.size() > 0) {
                    for (int i = 0; i < toolsdb.size(); i++) {
                        Hashtable tempSpace = new Hashtable();
                        tempSpace = (Hashtable) toolsdb.get(i);
                        String tablespace_name = (String) tempSpace.get("tablespace_name");
                        String totalspac = (String) tempSpace.get("totalspac");
                        String usablespac = (String) tempSpace.get("usablespac");
                        String usableper = (String) tempSpace.get("usableper");
                        if (usableper == null || "0".equals(totalspac.trim())) {
                            usableper = "100";
                        }
                        p_labelFormat = this.colorChange(i);
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(1, row, tablespace_name, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(5, row, totalspac, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(7, row, usablespac, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, usableper, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(1, row, 4, row);
                        sheet.mergeCells(5, row, 6, row);
                        sheet.mergeCells(7, row, 8, row);
                        sheet.mergeCells(9, row, 10, row);
                        row++;
                    }
                }
                row++;
                //    
                tmpLabel = new Label(0, row, "   ", labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(0, row, 10, row);
                row++;
                tmpLabel = new Label(0, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(3, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(4, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(5, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(6, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(7, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(8, row, "SQL ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, row, "SQL", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(9, row, 10, row);
                row++;
                Enumeration dbs = conn.keys();
                Hashtable<String, Object> allhash = new Hashtable();
                List poolList = new ArrayList();
                while (dbs.hasMoreElements()) {
                    String obj = (String) dbs.nextElement();
                    List connList = (List) conn.get(obj);
                    for (int i = 0; i < connList.size(); i++) {
                        Hashtable ht = (Hashtable) connList.get(i);
                        String db_name = ht.get("db_name").toString();
                        String db_path = ht.get("db_path").toString();
                        String db_status = ht.get("db_status").toString();
                        String sqlm_elm_last_backup = ht.get("sqlm_elm_last_backup").toString();
                        String total_cons = ht.get("total_cons").toString();
                        String connections_top = ht.get("connections_top").toString();
                        String appls_cur_cons = ht.get("appls_cur_cons").toString();
                        String failedsql = ht.get("failedsql").toString();
                        String commitsql = ht.get("commitsql").toString();
                        p_labelFormat = this.colorChange(i);
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(1, row, db_name, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(2, row, db_path, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(3, row, sysDbStatus[Integer.parseInt(db_status)], p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(4, row, sqlm_elm_last_backup, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(5, row, total_cons, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(6, row, connections_top, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(7, row, appls_cur_cons, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(8, row, failedsql, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, commitsql, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(9, row, 10, row);
                        row++;
                    }
                }

                //    
                row++;
                tmpLabel = new Label(0, row, "   ", labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(0, row, 10, row);
                row++;
                tmpLabel = new Label(0, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(4, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(6, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(8, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(10, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(0, row, 1, row);
                sheet.mergeCells(2, row, 3, row);
                sheet.mergeCells(4, row, 5, row);
                sheet.mergeCells(6, row, 7, row);
                row++;
                Enumeration dbs2 = poolInfo.keys();
                Hashtable<String, Object> allhash2 = new Hashtable();
                List poolList2 = new ArrayList();
                while (dbs2.hasMoreElements()) {
                    String obj = (String) dbs2.nextElement();
                    allhash = (Hashtable) poolInfo.get(obj);
                    poolList = (List) allhash.get("poolValue");
                    List lockList = (List) allhash.get("lockValue");
                    List readList = (List) allhash.get("readValue");
                    List writeList = (List) allhash.get("writeValue");
                    for (int i = 0; i < poolList.size(); i++) {
                        Hashtable ht = (Hashtable) poolList.get(i);
                        String bp_name = ht.get("bp_name").toString();
                        String data_hit_ratio = ht.get("data_hit_ratio").toString();
                        String index_hit_ratio = ht.get("index_hit_ratio").toString();
                        String BP_hit_ratio = ht.get("BP_hit_ratio").toString();
                        String Async_read_pct = ht.get("Async_read_pct").toString();
                        String Direct_RW_Ratio = ht.get("Direct_RW_Ratio").toString();
                        p_labelFormat = this.colorChange(i);
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(2, row, bp_name, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(4, row, data_hit_ratio, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(6, row, index_hit_ratio, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(8, row, BP_hit_ratio, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, Async_read_pct, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(10, row, Direct_RW_Ratio, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(0, row, 1, row);
                        sheet.mergeCells(2, row, 3, row);
                        sheet.mergeCells(4, row, 5, row);
                        sheet.mergeCells(6, row, 7, row);
                        row++;
                    }
                }

                //   
                row++;
                tmpLabel = new Label(0, row, "  ", labelFormat);
                sheet.mergeCells(0, row, 10, row);
                sheet.addCell(tmpLabel);
                row++;
                tmpLabel = new Label(0, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(3, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(4, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(5, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(6, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(7, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(8, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, row, "   ", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(9, row, 10, row);
                row++;
                Enumeration dbs3 = poolInfo.keys();
                Hashtable<String, Object> allhash3 = new Hashtable();
                List poolList3 = new ArrayList();
                while (dbs3.hasMoreElements()) {
                    String obj = (String) dbs3.nextElement();
                    allhash3 = (Hashtable) poolInfo.get(obj);
                    poolList3 = (List) allhash3.get("poolValue");
                    // System.out.println("poolList size ===
                    // "+poolList.size());
                    List lockList = (List) allhash3.get("lockValue");
                    List readList = (List) allhash3.get("readValue");
                    List writeList = (List) allhash3.get("writeValue");
                    for (int i = 0; i < lockList.size(); i++) {
                        p_labelFormat = this.colorChange(i);
                        Hashtable ht = (Hashtable) lockList.get(i);
                        String db_name = ht.get("db_name").toString();
                        String rows_read = ht.get("rows_read").toString();
                        String rows_selected = ht.get("rows_selected").toString();
                        String lock_waits = ht.get("lock_waits").toString();
                        String lock_wait_time = ht.get("lock_wait_time").toString();
                        String deadlocks = ht.get("deadlocks").toString();
                        String lock_escals = ht.get("lock_escals").toString();
                        String total_sorts = ht.get("total_sorts").toString();
                        String total_sort_time = ht.get("total_sort_time").toString();
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(1, row, db_name, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(2, row, rows_read, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(3, row, rows_selected, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(4, row, lock_waits, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(5, row, lock_wait_time, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(6, row, deadlocks, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(7, row, lock_escals, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(8, row, total_sorts, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, total_sort_time, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(9, row, 10, row);
                        row++;
                    }
                }

                //   
                row++;
                tmpLabel = new Label(0, row, "   ", labelFormat);
                sheet.mergeCells(0, row, 10, row);
                sheet.addCell(tmpLabel);
                row++;
                tmpLabel = new Label(0, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, "(Mb)   ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(3, row, "(Mb)  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(5, row, "(%)  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(7, row, "(Mb) ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, row, "/  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(3, row, 4, row);
                sheet.mergeCells(5, row, 6, row);
                sheet.mergeCells(7, row, 8, row);
                sheet.mergeCells(9, row, 10, row);
                row++;
                Enumeration dbs4 = log.keys();
                Hashtable<String, Object> allhash4 = new Hashtable();
                List poolList4 = new ArrayList();
                int cc = 0;
                while (dbs4.hasMoreElements()) {
                    String obj = (String) dbs4.nextElement();
                    List logList = (List) log.get(obj);
                    p_labelFormat = this.colorChange(cc);
                    cc++;
                    for (int i = 0; i < logList.size(); i++) {
                        Hashtable ht = (Hashtable) logList.get(i);
                        String logused = ht.get("logused").toString();
                        String logspacefree = ht.get("logspacefree").toString();
                        String pctused = ht.get("pctused").toString();
                        String maxlogused = ht.get("maxlogused").toString();
                        String maxsecused = ht.get("maxsecused").toString();
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(1, row, obj, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(2, row, logused, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(3, row, logspacefree, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(5, row, pctused, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(7, row, maxlogused, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, maxsecused, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(3, row, 4, row);
                        sheet.mergeCells(5, row, 6, row);
                        sheet.mergeCells(7, row, 8, row);
                        sheet.mergeCells(9, row, 10, row);
                        row++;
                    }
                }

                // 10
                row++;
                tmpLabel = new Label(0, row, "10 ", labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(0, row, 10, row);
                row++;
                tmpLabel = new Label(0, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(3, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(5, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(7, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(3, row, 4, row);
                sheet.mergeCells(5, row, 6, row);
                sheet.mergeCells(7, row, 8, row);
                sheet.mergeCells(9, row, 10, row);
                row++;
                Enumeration dbs5 = poolInfo.keys();
                Hashtable<String, Object> allhash5 = new Hashtable();
                List poolList5 = new ArrayList();
                String obj = null;
                Hashtable allhash6 = null;
                List lockList = null;
                List readList = null;
                List writeList = null;
                while (dbs5.hasMoreElements()) {
                    obj = (String) dbs5.nextElement();
                    allhash6 = (Hashtable) poolInfo.get(obj);
                    poolList = (List) allhash6.get("poolValue");
                    // System.out.println("poolList size ===
                    // "+poolList.size());
                    lockList = (List) allhash6.get("lockValue");
                    readList = (List) allhash6.get("readValue");
                    writeList = (List) allhash6.get("writeValue");
                }
                if (readList != null && readList.size() > 0) {
                    for (int i = 0; i < readList.size(); i++) {
                        p_labelFormat = this.colorChange(i);
                        Hashtable ht = (Hashtable) readList.get(i);
                        String tbschema = ht.get("tbschema").toString();
                        String tbname = ht.get("tbname").toString();
                        String rows_read = ht.get("rows_read").toString();
                        String rows_written = ht.get("rows_written").toString();
                        String overflow_accesses = ht.get("overflow_accesses").toString();
                        String page_reorgs = ht.get("page_reorgs").toString();
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(1, row, tbschema, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(2, row, tbname, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(3, row, rows_read, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(5, row, rows_written, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(7, row, overflow_accesses, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, page_reorgs, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(3, row, 4, row);
                        sheet.mergeCells(5, row, 6, row);
                        sheet.mergeCells(7, row, 8, row);
                        sheet.mergeCells(9, row, 10, row);
                        row++;
                    }
                }

                // 10
                row++;
                tmpLabel = new Label(0, row, "10 ", labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(0, row, 10, row);
                row++;
                tmpLabel = new Label(0, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, row, "  ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(3, row, "", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(5, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(7, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(9, row, " ", b_labelFormat);
                sheet.addCell(tmpLabel);
                sheet.mergeCells(3, row, 4, row);
                sheet.mergeCells(5, row, 6, row);
                sheet.mergeCells(7, row, 8, row);
                sheet.mergeCells(9, row, 10, row);
                row++;
                if (writeList != null && writeList.size() > 0) {
                    for (int i = 0; i < writeList.size(); i++) {
                        p_labelFormat = this.colorChange(i);
                        Hashtable ht = (Hashtable) writeList.get(i);
                        String tbschema = ht.get("tbschema").toString();
                        String tbname = ht.get("tbname").toString();
                        String rows_read = ht.get("rows_read").toString();
                        String rows_written = ht.get("rows_written").toString();
                        String overflow_accesses = ht.get("overflow_accesses").toString();
                        String page_reorgs = ht.get("page_reorgs").toString();
                        tmpLabel = new Label(0, row, (i + 1) + "", p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(1, row, tbschema, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(2, row, tbname, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(3, row, rows_read, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(5, row, rows_written, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(7, row, overflow_accesses, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        tmpLabel = new Label(9, row, page_reorgs, p_labelFormat);
                        sheet.addCell(tmpLabel);
                        sheet.mergeCells(3, row, 4, row);
                        sheet.mergeCells(5, row, 6, row);
                        sheet.mergeCells(7, row, 8, row);
                        sheet.mergeCells(9, row, 10, row);
                        row++;
                    }
                }

                //    
                row++;
                this.addEventReport(sheet, report_has, row);
                row += 2;
                // 
                this.addEventListToExcel(sheet, row);
                if (impReport.getChart() != null) {
                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    try {
                        ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                                impReport.getChart().getWidth(), impReport.getChart().getHeight());
                    } catch (IOException ioe) {
                    }
                    WritableImage wi = new WritableImage(2, 10000 + 5, 8, 12, baos.toByteArray());
                    sheet.addImage(wi);
                }
            }
            wb.write();
        }

    } catch (Exception e) {
        SysLogger.error("", e);
    } finally {
        try {
            if (wb != null)
                wb.close();
        } catch (Exception e) {
            SysLogger.error("", e);
        }
    }
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @author HONGLI sqlserverword/*w w  w .  j  a v a 2  s .  com*/
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReport_SqlServerCldDoc(String filename, String type) throws IOException {
    if (impReport.getTable() == null) {
        fileName = null;
        return;
    }
    try {
        // 
        Document document = new Document(PageSize.A4);
        // (Writer)document(Writer)
        if ("pdf".equals(type)) {
            PdfWriter.getInstance(document, new FileOutputStream(filename));
        } else {
            RtfWriter2.getInstance(document, new FileOutputStream(filename));
        }
        document.open();
        // 
        BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        // 
        Font titleFont = new Font(bfChinese, 12, Font.BOLD);
        // 
        Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
        String hostname = (String) reportHash.get("dbname");
        String ip = (String) reportHash.get("ip");
        String typename = (String) reportHash.get("typename");
        String runstr = (String) reportHash.get("runstr");
        String grade = (String) reportHash.get("grade");
        String pingnow = (String) reportHash.get("pingnow");
        String pingmin = (String) reportHash.get("pingmin");
        String pingconavg = (String) reportHash.get("pingconavg");
        DBVo vo = (DBVo) reportHash.get("vo");
        String newip = doip(ip);
        Paragraph title = new Paragraph(hostname + "", titleFont);
        // 
        title.setAlignment(Element.ALIGN_CENTER);
        // title.setFont(titleFont);
        document.add(title);
        String Ping = (String) reportHash.get("Ping");
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");

        Hashtable maxping = (Hashtable) reportHash.get("ping");

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String contextString = ":" + impReport.getTimeStamp() + " \n"// 
                + ":" + starttime + "  " + totime;

        Paragraph context = new Paragraph(contextString, contextFont);
        // 
        context.setAlignment(Element.ALIGN_LEFT);
        // context.setFont(contextFont);
        // 
        context.setSpacingBefore(5);
        // 
        context.setFirstLineIndent(5);
        document.add(context);
        /*
         * tmpLabel = new Label(0, 1, ":" + impReport.getTimeStamp());
         * sheet.addCell(tmpLabel); tmpLabel = new Label(0, 2, ": " +
         * starttime + "  " + totime);
         */
        // 
        Table dbTable = new Table(5);
        this.setTableFormat(dbTable);
        // float[] cellWidths = { 220f, 220f, 220f, 220f, 220f };
        // dbTable.setWidths(cellWidths);
        // dbTable.setWidth(100); //  90%
        // dbTable.setAlignment(Element.ALIGN_CENTER);// 
        // dbTable.setAutoFillEmptyCells(true); // 
        // dbTable.setBorderWidth(1); // 
        // dbTable.setBorderColor(new Color(0, 125, 255)); // 
        // dbTable.setPadding(2);// 
        // dbTable.setSpacing(0);// 
        // dbTable.setBorder(2);// 
        // dbTable.endHeaders();

        Cell dbCell = null;
        dbCell = new Cell(new Phrase("", titleFont));
        dbCell.setColspan(5);
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("IP", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(dbCell, true);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(vo.getDbName(), contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(ip, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(typename, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(runstr, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);
        dbCell = new Cell(new Phrase(grade, contextFont));
        this.setCellFormat(dbCell, false);
        dbTable.addCell(dbCell);

        Table aTable = new Table(3);
        this.setTableFormat(aTable);
        // float[] widths = { 220f, 220f, 220f };
        // aTable.setWidths(widths);
        // aTable.setWidth(100); //  90%
        // aTable.setAlignment(Element.ALIGN_CENTER);// 
        // aTable.setAutoFillEmptyCells(true); // 
        // aTable.setBorderWidth(1); // 
        // aTable.setBorderColor(new Color(0, 125, 255)); // 
        // aTable.setPadding(2);// 
        // aTable.setSpacing(0);// 
        // aTable.setBorder(2);// 
        // aTable.endHeaders();
        Cell cell = null;
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingnow + "%", contextFont));
        this.setCellFormat(cell, false);
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingmin + "%", contextFont));
        this.setCellFormat(cell, false);
        aTable.addCell(cell);
        cell = new Cell(new Phrase(pingconavg + "%", contextFont));
        this.setCellFormat(cell, false);
        aTable.addCell(cell);

        // 
        Image img = Image.getInstance(ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/"
                + newip + "ConnectUtilization" + ".png");
        // img.setAbsolutePosition(0, 0);
        img.scalePercent(75);
        img.setAlignment(Image.LEFT);// 
        document.add(dbTable);
        document.add(aTable);
        document.add(img);
        document.add(new Paragraph("\n"));

        //  
        Table dbInfoTable = new Table(5);
        this.setTableFormat(dbInfoTable);
        // float[] dbInfoWidths = { 220f, 220f, 220f, 220f, 220f };
        // dbInfoTable.setWidths(dbInfoWidths);
        // dbInfoTable.setWidth(100); //  90%
        // dbInfoTable.setAlignment(Element.ALIGN_CENTER);// 
        // dbInfoTable.setAutoFillEmptyCells(true); // 
        // dbInfoTable.setBorderWidth(1); // 
        // dbInfoTable.setBorderColor(new Color(0, 125, 255)); // 
        // dbInfoTable.setPadding(2);// 
        // dbInfoTable.setSpacing(0);// 
        // dbInfoTable.setBorder(2);// 
        Hashtable mems = (Hashtable) reportHash.get("mems");// 
        cell = new Cell(new Phrase("(KB)", titleFont));
        cell.setColspan(5);
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);

        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("SQL", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) mems.get("totalMemory"), contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) mems.get("optMemory"), contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) mems.get("conMemory"), contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) mems.get("sqlMem"), contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) mems.get("lockMem"), contextFont));
        this.setCellFormat(cell, false);
        dbInfoTable.addCell(cell);
        document.add(dbInfoTable);

        // 
        Table sysInfoTable = new Table(4);
        this.setTableFormat(sysInfoTable);
        // float[] sysInfoWidths = { 220f, 220f, 220f, 220f };
        // dbInfoTable.setWidths(dbInfoWidths);
        // sysInfoTable.setWidth(100); //  90%
        // sysInfoTable.setAlignment(Element.ALIGN_CENTER);// 
        // sysInfoTable.setAutoFillEmptyCells(true); // 
        // sysInfoTable.setBorderWidth(1); // 
        // sysInfoTable.setBorderColor(new Color(0, 125, 255)); // 
        // sysInfoTable.setPadding(2);// 
        // sysInfoTable.setSpacing(0);// 
        // sysInfoTable.setBorder(2);// 
        Hashtable sysValue = (Hashtable) reportHash.get("sysValue");// 
        cell = new Cell(new Phrase("(KB)", titleFont));
        cell.setColspan(4);
        this.setCellFormat(cell, true);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase("  ", titleFont));
        this.setCellFormat(cell, true);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) sysValue.get("productlevel"), contextFont));
        this.setCellFormat(cell, false);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) sysValue.get("IsIntegratedSecurityOnly"), contextFont));
        this.setCellFormat(cell, false);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) sysValue.get("IsSingleUser"), contextFont));
        this.setCellFormat(cell, false);
        sysInfoTable.addCell(cell);
        cell = new Cell(new Phrase((String) sysValue.get("IsClustered"), contextFont));
        this.setCellFormat(cell, false);
        sysInfoTable.addCell(cell);
        document.add(sysInfoTable);

        Table aTable1 = new Table(6);
        this.setTableFormat(aTable1);
        float[] width = { 220f, 220f, 330f, 220f, 220f, 220f };
        aTable1.setWidths(width);
        // aTable1.setWidth(100); //  90%
        // aTable1.setAlignment(Element.ALIGN_CENTER);// 
        // aTable1.setAutoFillEmptyCells(true); // 
        // aTable1.setBorderWidth(1); // 
        // aTable1.setBorderColor(new Color(0, 125, 255)); // 
        // aTable1.setPadding(2);// 
        // aTable1.setSpacing(0);// 
        // aTable1.setBorder(2);// 
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(6);
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("MB", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("MB", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        cell = new Cell(new Phrase("(%)", titleFont));
        this.setCellFormat(cell, true);
        aTable1.addCell(cell);
        // aTable1.endHeaders();

        // 
        Hashtable dbValue = (Hashtable) reportHash.get("tableinfo_v");
        Hashtable alldatabase = new Hashtable();
        if (dbValue.get("database") != null)
            alldatabase = (Hashtable) dbValue.get("database");
        Vector names = new Vector();
        if (dbValue.get("names") != null)
            names = (Vector) dbValue.get("names");

        if (alldatabase != null && alldatabase.size() > 0) {
            if (names == null)
                names = new Vector();
            int row = 1;
            for (int i = 0; i < names.size(); i++) {
                String key = (String) names.get(i);
                if (alldatabase.get(key) == null)
                    continue;
                Hashtable data = (Hashtable) alldatabase.get(key);
                String dbname = data.get("dbname").toString();
                String size = data.get("size").toString();
                String usedsize = "";
                if (data.get("usedsize") != null) {
                    usedsize = data.get("usedsize").toString();
                }
                String usedperc = "";
                if (data.get("usedperc") != null)
                    usedperc = data.get("usedperc").toString();
                cell = new Cell(new Phrase(""));
                this.setCellFormat(cell, false);
                aTable1.addCell(cell);
                cell = new Cell(new Phrase(row + "", titleFont));
                this.setCellFormat(cell, false);
                aTable1.addCell(cell);
                cell = new Cell(new Phrase(dbname, titleFont));
                this.setCellFormat(cell, false);
                aTable1.addCell(cell);
                cell = new Cell(new Phrase(size, titleFont));
                this.setCellFormat(cell, false);
                aTable1.addCell(cell);
                cell = new Cell(new Phrase(usedsize, titleFont));
                this.setCellFormat(cell, false);
                aTable1.addCell(cell);
                cell = new Cell(new Phrase(usedperc, titleFont));
                this.setCellFormat(cell, false);
                aTable1.addCell(cell);
                row++;

            }
        }

        if (impReport.getChart() != null) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            try {
                ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                        impReport.getChart().getWidth(), impReport.getChart().getHeight());
            } catch (IOException ioe) {
            }
            Image img1 = Image.getInstance(baos.toByteArray());
            img1.setAbsolutePosition(0, 0);
            img1.setAlignment(Image.MIDDLE);// 

            document.add(img1);
        }

        document.add(aTable1);

        //    
        Table evenInfoTable = new Table(2);
        this.setTableFormat(evenInfoTable);
        // float[] evenInfoWidths = { 220f, 220f };
        // evenInfoTable.setWidths(evenInfoWidths);
        // evenInfoTable.setWidth(100); //  90%
        // evenInfoTable.setAlignment(Element.ALIGN_CENTER);// 
        // evenInfoTable.setAutoFillEmptyCells(true); // 
        // evenInfoTable.setBorderWidth(1); // 
        // evenInfoTable.setBorderColor(new Color(0, 125, 255)); // 
        // evenInfoTable.setPadding(2);// 
        // evenInfoTable.setSpacing(0);// 
        // evenInfoTable.setBorder(2);// 
        String downnum = (String) reportHash.get("downnum");
        String count = (Integer) reportHash.get("count") + "";
        cell = new Cell(new Phrase("", titleFont));
        cell.setColspan(2);
        this.setCellFormat(cell, true);
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        this.setCellFormat(cell, true);
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase(downnum, contextFont));
        this.setCellFormat(cell, false);
        evenInfoTable.addCell(cell);
        cell = new Cell(new Phrase(count, contextFont));
        this.setCellFormat(cell, false);
        evenInfoTable.addCell(cell);
        document.add(evenInfoTable);

        // 
        addEventListToDoc(document, titleFont, contextFont);
        document.close();
    } catch (Exception e) {
        SysLogger.error("", e);
    }
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @author HONGLI sqlserverpdf/*from  w w  w.ja v a2 s .com*/
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReport_SqlServerCldPdf(String filename) throws DocumentException, IOException {
    if (impReport.getTable() == null) {
        fileName = null;
        return;
    }
    try {
        // 
        Document document = new Document(PageSize.A4);
        // (Writer)document(Writer)
        PdfWriter.getInstance(document, new FileOutputStream(filename));
        document.open();
        // 
        BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        // 
        Font titleFont = new Font(bfChinese, 12, Font.BOLD);
        // 
        Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
        String hostname = (String) reportHash.get("dbname");
        String ip = (String) reportHash.get("ip");
        String typename = (String) reportHash.get("typename");
        String runstr = (String) reportHash.get("runstr");
        String grade = (String) reportHash.get("grade");
        String pingnow = (String) reportHash.get("pingnow");
        String pingmin = (String) reportHash.get("pingmin");
        String pingconavg = (String) reportHash.get("pingconavg");
        DBVo vo = (DBVo) reportHash.get("vo");
        String newip = doip(ip);
        Paragraph title = new Paragraph(hostname + "", titleFont);
        // 
        title.setAlignment(Element.ALIGN_CENTER);
        // title.setFont(titleFont);
        document.add(title);
        String Ping = (String) reportHash.get("Ping");
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");

        Hashtable maxping = (Hashtable) reportHash.get("ping");

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String contextString = ":" + impReport.getTimeStamp() + " \n"// 
                + ":" + starttime + "  " + totime;

        Paragraph context = new Paragraph(contextString, contextFont);
        // 
        context.setAlignment(Element.ALIGN_LEFT);
        // context.setFont(contextFont);
        // 
        context.setSpacingBefore(5);
        // 
        context.setFirstLineIndent(5);
        document.add(context);
        document.add(new Paragraph("\n"));
        /*
         * tmpLabel = new Label(0, 1, ":" + impReport.getTimeStamp());
         * sheet.addCell(tmpLabel); tmpLabel = new Label(0, 2, ": " +
         * starttime + "  " + totime);
         */
        // 
        PdfPTable dbTable = new PdfPTable(5);
        float[] cellWidths = { 220f, 220f, 220f, 220f, 220f };
        dbTable.setWidths(cellWidths);
        dbTable.setWidthPercentage(100);
        PdfPCell dbCell = null;
        dbCell = new PdfPCell(new Phrase("", titleFont));
        dbCell.setColspan(5);
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase("IP", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase("", titleFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase(vo.getDbName(), contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase(ip, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase(typename, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase(runstr, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);
        dbCell = new PdfPCell(new Phrase(grade, contextFont));
        dbCell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        dbCell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbTable.addCell(dbCell);

        PdfPTable aTable = new PdfPTable(3);
        float[] widths = { 220f, 220f, 220f };
        aTable.setWidths(widths);
        aTable.setWidthPercentage(100);
        PdfPCell cell = null;
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setColspan(3);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new PdfPCell(new Phrase(pingnow + "%", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new PdfPCell(new Phrase(pingmin + "%", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new PdfPCell(new Phrase(pingconavg + "%", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);

        // 
        Image img = Image.getInstance(ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/"
                + newip + "ConnectUtilization" + ".png");
        // img.setAbsolutePosition(0, 0);
        img.scalePercent(76);
        img.setAlignment(Image.MIDDLE);// 
        document.add(dbTable);
        document.add(new Paragraph("\n"));
        document.add(aTable);
        document.add(img);
        document.add(new Paragraph("\n"));

        // (KB)
        PdfPTable dbInfoTable = new PdfPTable(5);
        float[] dbInfoWidths = { 220f, 220f, 220f, 220f, 220f };
        dbInfoTable.setWidths(dbInfoWidths);
        dbInfoTable.setWidthPercentage(100);
        Hashtable mems = (Hashtable) reportHash.get("mems");// 
        cell = new PdfPCell(new Phrase("(KB)", titleFont));
        cell.setColspan(5);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase("SQL", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) mems.get("totalMemory"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) mems.get("optMemory"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) mems.get("conMemory"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) mems.get("sqlMem"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) mems.get("lockMem"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        dbInfoTable.addCell(cell);
        document.add(dbInfoTable);
        document.add(new Paragraph("\n"));

        // (KB)
        PdfPTable ncTable = new PdfPTable(4);
        float[] ncWidths = { 220f, 220f, 220f, 220f };
        ncTable.setWidths(ncWidths);
        ncTable.setWidthPercentage(100);
        Hashtable sysValue = (Hashtable) reportHash.get("sysValue");// 
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setColspan(4);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) sysValue.get("productlevel"), titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) sysValue.get("IsIntegratedSecurityOnly"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) sysValue.get("IsSingleUser"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) sysValue.get("IsClustered"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        ncTable.addCell(cell);
        document.add(ncTable);
        document.add(new Paragraph("\n"));

        PdfPTable aTable1 = new PdfPTable(6);
        float[] width = { 220f, 220f, 220f, 220f, 220f, 220f };
        aTable1.setWidths(width);
        aTable1.setWidthPercentage(100);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setColspan(6);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new PdfPCell(new Phrase("MB", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new PdfPCell(new Phrase("MB", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        cell = new PdfPCell(new Phrase("(%)", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable1.addCell(cell);
        // aTable1.endHeaders();

        // 
        Hashtable dbValue = (Hashtable) reportHash.get("tableinfo_v");
        Hashtable alldatabase = new Hashtable();
        if (dbValue.get("database") != null)
            alldatabase = (Hashtable) dbValue.get("database");
        Vector names = new Vector();
        if (dbValue.get("names") != null)
            names = (Vector) dbValue.get("names");

        if (alldatabase != null && alldatabase.size() > 0) {
            if (names == null)
                names = new Vector();
            int row = 1;
            for (int i = 0; i < names.size(); i++) {
                String key = (String) names.get(i);
                if (alldatabase.get(key) == null)
                    continue;
                Hashtable data = (Hashtable) alldatabase.get(key);
                String dbname = data.get("dbname").toString();
                String size = data.get("size").toString();
                String usedsize = "";
                if (data.get("usedsize") != null) {
                    usedsize = data.get("usedsize").toString();
                }
                String usedperc = "";
                if (data.get("usedperc") != null)
                    usedperc = data.get("usedperc").toString();
                cell = new PdfPCell(new Phrase(""));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable1.addCell(cell);
                cell = new PdfPCell(new Phrase(row + ""));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable1.addCell(cell);
                cell = new PdfPCell(new Phrase(dbname));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable1.addCell(cell);
                cell = new PdfPCell(new Phrase(size));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable1.addCell(cell);
                cell = new PdfPCell(new Phrase(usedsize));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable1.addCell(cell);
                cell = new PdfPCell(new Phrase(usedperc));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable1.addCell(cell);
                row++;

            }
        }

        if (impReport.getChart() != null) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            try {
                ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                        impReport.getChart().getWidth(), impReport.getChart().getHeight());
            } catch (IOException ioe) {
            }
            Image img1 = Image.getInstance(baos.toByteArray());
            img1.setAbsolutePosition(0, 0);
            img1.setAlignment(Image.MIDDLE);// 

            document.add(img1);
        }

        document.add(aTable1);
        document.add(new Paragraph("\n"));

        // 
        PdfPTable eventTable = new PdfPTable(2);
        float[] eventWidths = { 220f, 220f };
        eventTable.setWidths(eventWidths);
        eventTable.setWidthPercentage(100);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        eventTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        eventTable.addCell(cell);
        cell = new PdfPCell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        eventTable.addCell(cell);
        cell = new PdfPCell(new Phrase((String) reportHash.get("downnum"), contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        eventTable.addCell(cell);
        cell = new PdfPCell(new Phrase(reportHash.get("count") + "", contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        eventTable.addCell(cell);
        document.add(eventTable);

        document.add(new Paragraph("\n"));
        // 
        addEventLisToPdf(document);

        document.close();
    } catch (Exception e) {
        // SysLogger.error("Error in ExcelReport.createReport()",e);
        SysLogger.error("", e);
    }
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @param filename//w w w . j a  va 2s .c  om
 * @param type
 * @throws DocumentException
 * @throws IOException
 */
public void createReport_sqlNewDoc(String filename, String type) throws DocumentException, IOException {
    String hostname = (String) reportHash.get("dbname");
    String hostnamestr = (String) reportHash.get("hostnamestr");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String Ping = (String) reportHash.get("Ping");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    Hashtable oramem = (Hashtable) reportHash.get("memvalue");
    Hashtable maxping = (Hashtable) reportHash.get("ping");
    String runstr = (String) reportHash.get("runstr");
    Hashtable sqlsys = (Hashtable) reportHash.get("sqlsys");
    String[] sysItem1 = { "shared_pool", "large_pool", "buffer_cache", "java pool" };
    String downnum = (String) reportHash.get("downnum");

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    if ("pdf".equals(type)) {
        PdfWriter.getInstance(document, new FileOutputStream(filename));
    } else {
        RtfWriter2.getInstance(document, new FileOutputStream(filename));
    }
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    this.setTableFormat(aTable);
    // float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    // aTable.setWidths(widths);
    // aTable.setWidth(100); //  90%
    // aTable.setAlignment(Element.ALIGN_CENTER);// 
    // aTable.setAutoFillEmptyCells(true); // 
    // aTable.setBorderWidth(1); // 
    // aTable.setBorderColor(new Color(0, 125, 255)); // 
    // aTable.setPadding(2);// 
    // aTable.setSpacing(0);// 
    // aTable.setBorder(2);// 
    Cell cell = null;

    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setColspan(8);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + starttime + "" + totime + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnamestr, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(runstr, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase(grade, contextFont1));
    cell.setColspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(5);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);

    // mems
    Hashtable sqlValue = new Hashtable();
    if ((Hashtable) reportHash.get("sqlValue") != null)
        sqlValue = (Hashtable) reportHash.get("sqlValue");
    Hashtable memValue = new Hashtable();
    if (sqlValue.get("mems") != null)
        memValue = (Hashtable) sqlValue.get("mems");
    String totalMemory = "---";
    String sqlMem = "---";
    String optMemory = "---";
    String lockMem = "---";
    String conMemory = "---";
    if (memValue != null && memValue.size() > 0) {
        if (memValue.get("totalMemory") != null)
            totalMemory = (String) memValue.get("totalMemory");// total
        if (memValue.get("sqlMem") != null)
            sqlMem = (String) memValue.get("sqlMem");// sql
        if (memValue.get("optMemory") != null)
            optMemory = (String) memValue.get("optMemory");// 
        if (memValue.get("lockMem") != null)
            lockMem = (String) memValue.get("lockMem");// 
        if (memValue.get("conMemory") != null)
            conMemory = (String) memValue.get("conMemory");// 
    }
    cell = new Cell(new Phrase("(KB)", titleFont));
    cell.setRowspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(totalMemory.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("SQL", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(sqlMem.replace(".0", ""), contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(optMemory.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(lockMem.replace(".0", ""), contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(conMemory.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String productlevel = "";
    if (sqlsys.get("productlevel") != null) {
        productlevel = (String) sqlsys.get("productlevel");
    }
    cell = new Cell(new Phrase(productlevel));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String IsSingleUser = "";
    if (sqlsys.get("IsSingleUser") != null) {
        IsSingleUser = (String) sqlsys.get("IsSingleUser");
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(IsSingleUser, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String IsIntegratedSecurityOnly = "";
    if (sqlsys.get("IsIntegratedSecurityOnly") != null) {
        IsIntegratedSecurityOnly = (String) sqlsys.get("IsIntegratedSecurityOnly");
    }

    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(IsIntegratedSecurityOnly, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String IsClustered = "";
    if (sqlsys.get("IsClustered") != null) {
        IsClustered = (String) sqlsys.get("IsClustered");
    }

    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(IsClustered, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // 
    Hashtable dbValue = (Hashtable) reportHash.get("dbValue");
    Hashtable alldatabase = new Hashtable();
    Hashtable alllogfile = new Hashtable();
    alldatabase = (Hashtable) dbValue.get("database");
    if (alldatabase == null)
        alldatabase = new Hashtable();
    alllogfile = (Hashtable) dbValue.get("logfile");
    if (alllogfile == null)
        alllogfile = new Hashtable();
    Vector names = (Vector) dbValue.get("names");

    /*
     * OraspaceconfigDao oraspaceconfigDao = new OraspaceconfigDao(); List
     * list = oraspaceconfigDao.getByIp(ip, 1);
     */
    SqldbconfigDao sqldbconfigDao = new SqldbconfigDao();

    List list = null;
    try {
        list = sqldbconfigDao.getByIp(ip, 1);
    } catch (Exception e) {
        SysLogger.error("", e);
    } finally {
        sqldbconfigDao.close();
    }
    Cell cell5 = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell5.setRowspan(2 + list.size());
    this.setCellFormat(cell5, true);
    aTable.addCell(cell5);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase((String) maxping.get("avgpingcon"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("pingmax"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("MB", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("MB", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("%", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // ====
    // ====

    int row = 0;
    for (int i = 0; i < names.size(); i++) {
        Hashtable ht = (Hashtable) dbValue.get(i);
        String key = (String) names.get(i);
        if (alldatabase.get(key) == null)
            continue;
        Hashtable data = (Hashtable) alldatabase.get(key);
        String dbname = data.get("dbname").toString();

        for (int j = 0; j < list.size(); j++) {
            Sqldbconfig vo1 = (Sqldbconfig) list.get(j);
            if (vo1.getDbname().equals(dbname)) {

                String size = data.get("size").toString();
                String usedsize = "";
                if (data.get("usedsize") != null) {
                    usedsize = data.get("usedsize").toString();
                }
                String usedperc = "";
                if (data.get("usedperc") != null)
                    usedperc = data.get("usedperc").toString();

                cell = new Cell(new Phrase(dbname, contextFont1));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(size, contextFont1));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(usedsize, contextFont1));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(usedperc, contextFont1));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                row = row + 1;
            }
        }
    }
    // ===============end

    String count = (String) reportHash.get("count");
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + downnum + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + count + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setColspan(8);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);

    String pinglog = "";
    if ("0".equals(downnum))

    {
        pinglog = "   " + "2    ";
    } else {
        pinglog = "   " + "2    " + downnum + "";
    }
    String spacelog = "";
    if (!"0".equals(count)) {
        spacelog = "   " + "3    " + count
                + "" + "    ";
    } else {
        spacelog = "   " + "3    ";
    }
    cell = new Cell(new Phrase("   1      " + "\n" + "\n" + pinglog + "\n"
            + "\n" + spacelog + "\n", contextFont1));
    cell.setColspan(8);

    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_sqlNewPDF(String filename) throws DocumentException, IOException {
    String hostname = (String) reportHash.get("dbname");
    String hostnamestr = (String) reportHash.get("hostnamestr");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String Ping = (String) reportHash.get("Ping");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    Hashtable oramem = (Hashtable) reportHash.get("memvalue");
    Hashtable maxping = (Hashtable) reportHash.get("ping");
    String runstr = (String) reportHash.get("runstr");
    String[] sysItem1 = { "shared pool", "large pool", "buffer cache", "java pool" };
    String downnum = (String) reportHash.get("downnum");
    Hashtable sqlsys = (Hashtable) reportHash.get("sqlsys");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    PdfWriter.getInstance(document, new FileOutputStream(filename));
    document.open();/*from  ww  w  .j  a v a  2  s .co m*/
    // 
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font contextFont = new Font(bfChinese, 11, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 
    Cell cell = null;

    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + starttime + "" + totime + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnamestr));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));

    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(runstr, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase(grade, contextFont1));
    cell.setColspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(5);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    // mems
    Hashtable sqlValue = new Hashtable();
    if ((Hashtable) reportHash.get("sqlValue") != null)
        sqlValue = (Hashtable) reportHash.get("sqlValue");
    Hashtable memValue = new Hashtable();
    if (sqlValue.get("mems") != null)
        memValue = (Hashtable) sqlValue.get("mems");
    String totalMemory = "---";
    String sqlMem = "---";
    String optMemory = "---";
    String lockMem = "---";
    String conMemory = "---";
    if (memValue != null && memValue.size() > 0) {
        if (memValue.get("totalMemory") != null)
            totalMemory = (String) memValue.get("totalMemory");// total
        if (memValue.get("sqlMem") != null)
            sqlMem = (String) memValue.get("sqlMem");// sql
        if (memValue.get("optMemory") != null)
            optMemory = (String) memValue.get("optMemory");// 
        if (memValue.get("lockMem") != null)
            lockMem = (String) memValue.get("lockMem");// 
        if (memValue.get("conMemory") != null)
            conMemory = (String) memValue.get("conMemory");// 
    }
    cell = new Cell(new Phrase("(KB)", titleFont));
    cell.setRowspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(totalMemory.replace(".0", "")));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("SQL", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(sqlMem.replace(".0", "")));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(optMemory.replace(".0", "")));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(lockMem.replace(".0", "")));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(conMemory.replace(".0", "")));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String productlevel = "";
    if (sqlsys.get("productlevel") != null) {
        productlevel = (String) sqlsys.get("productlevel");
    }
    String IsSingleUser = "";
    if (sqlsys.get("IsSingleUser") != null) {
        IsSingleUser = (String) sqlsys.get("IsSingleUser");
    }

    String IsIntegratedSecurityOnly = "";
    if (sqlsys.get("IsIntegratedSecurityOnly") != null) {
        IsIntegratedSecurityOnly = (String) sqlsys.get("IsIntegratedSecurityOnly");
    }
    String IsClustered = "";
    if (sqlsys.get("IsClustered") != null) {
        IsClustered = (String) sqlsys.get("IsClustered");
    }

    cell = new Cell(new Phrase(productlevel));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(IsSingleUser, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(IsIntegratedSecurityOnly, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(IsClustered, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // 
    Hashtable dbValue = (Hashtable) reportHash.get("dbValue");
    Hashtable alldatabase = new Hashtable();
    Hashtable alllogfile = new Hashtable();
    alldatabase = (Hashtable) dbValue.get("database");
    if (alldatabase == null)
        alldatabase = new Hashtable();
    alllogfile = (Hashtable) dbValue.get("logfile");
    if (alllogfile == null)
        alllogfile = new Hashtable();
    Vector names = (Vector) dbValue.get("names");

    SqldbconfigDao sqldbconfigDao = new SqldbconfigDao();

    List list = null;
    try {
        list = sqldbconfigDao.getByIp(ip, 1);
    } catch (Exception e) {
        SysLogger.error("", e);
    } finally {
        sqldbconfigDao.close();
    }

    // // List list = sqldbconfigDao.getByIp(ip, 1);
    // for (int i = 0; i < list.size(); i++) {
    //
    // }
    Cell cell5 = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell5.setRowspan(2 + list.size());
    cell5.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell5.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell5);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase((String) maxping.get("avgpingcon"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("pingmax"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("MB", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("MB", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("%", titleFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // ====

    int row = 0;
    for (int i = 0; i < names.size(); i++) {
        Hashtable ht = (Hashtable) dbValue.get(i);
        String key = (String) names.get(i);
        if (alldatabase.get(key) == null)
            continue;
        Hashtable data = (Hashtable) alldatabase.get(key);
        String dbname = data.get("dbname").toString();

        for (int j = 0; j < list.size(); j++) {
            Sqldbconfig vo1 = (Sqldbconfig) list.get(j);
            if (vo1.getDbname().equals(dbname)) {

                String size = data.get("size").toString();
                String usedsize = "";
                if (data.get("usedsize") != null) {
                    usedsize = data.get("usedsize").toString();
                }
                String usedperc = "";
                if (data.get("usedperc") != null)
                    usedperc = data.get("usedperc").toString();

                cell = new Cell(new Phrase(dbname));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(size));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(usedsize));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(usedperc));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                row = row + 1;
            }
        }
    }
    // ===============end

    String count = (String) reportHash.get("count");
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + downnum + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + count + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String pinglog = "";
    if ("0".equals(downnum))

    {
        pinglog = "   " + "2    ";
    } else {
        pinglog = "   " + "2    " + downnum + "";
    }
    String spacelog = "";
    if (!"0".equals(count)) {
        spacelog = "   " + "3    " + count
                + "" + "    ";
    } else {
        spacelog = "   " + "3    ";
    }
    cell = new Cell(new Phrase("   1      " + "\n" + "\n" + pinglog + "\n"
            + "\n" + spacelog + "\n" + "\n" + "\n" + "\n" + "\n" + "\n", contextFont1));
    cell.setColspan(8);

    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @author HONGLI MySQLexcel/* ww w .j  av a  2  s.c  o m*/
 * @param filename
 * @throws DocumentException
 * @throws IOException
 */
public void createReport_MySQLCldXls(String filename) throws DocumentException, IOException {
    if (impReport.getTable() == null) {
        fileName = null;
        return;
    }
    WritableWorkbook wb = null;
    try {
        wb = Workbook.createWorkbook(new File(filename));

        String hostname = (String) reportHash.get("dbname");
        String ip = (String) reportHash.get("ip");
        String newip = doip(ip);
        WritableSheet sheet = wb.createSheet(hostname + "", 0);
        String Ping = (String) reportHash.get("Ping");
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");
        String typename = (String) reportHash.get("typename");
        String runstr = (String) reportHash.get("runstr");
        String grade = (String) reportHash.get("grade");
        String pingnow = (String) reportHash.get("pingnow");
        String pingmin = (String) reportHash.get("pingmin");
        String pingconavg = (String) reportHash.get("pingconavg");
        DBVo vo = (DBVo) reportHash.get("vo");
        Vector val = (Vector) reportHash.get("Val");
        if (val == null) {
            val = new Vector();
        }
        List sessionlist = (ArrayList) reportHash.get("sessionlist");
        if (sessionlist == null) {
            sessionlist = new ArrayList();
        }
        Hashtable tablesHash = (Hashtable) reportHash.get("tablesHash");
        if (tablesHash == null) {
            tablesHash = new Hashtable();
        }
        Vector tableinfo_v = (Vector) reportHash.get("tableinfo_v");
        if (tableinfo_v == null) {
            tableinfo_v = new Vector();
        }
        Hashtable maxping = (Hashtable) reportHash.get("ping");

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        WritableFont labelFont = new WritableFont(WritableFont.createFont(""), 12, WritableFont.BOLD,
                false);
        WritableCellFormat labelFormat = new WritableCellFormat(labelFont);

        WritableCellFormat _labelFormat = new WritableCellFormat();
        _labelFormat.setBackground(jxl.format.Colour.GRAY_25);

        WritableCellFormat p_labelFormat = new WritableCellFormat();
        p_labelFormat.setBackground(jxl.format.Colour.ICE_BLUE);

        WritableCellFormat b_labelFormat = new WritableCellFormat();
        b_labelFormat.setBackground(jxl.format.Colour.GRAY_50);

        Label tmpLabel = null;
        tmpLabel = new Label(1, 0, hostname + "", labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(0, 1, ":" + impReport.getTimeStamp());
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(0, 2, ": " + starttime + "  " + totime);
        sheet.addCell(tmpLabel);

        // ip
        tmpLabel = new Label(0, 4, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, 4, "IP", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, 4, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(3, 4, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(4, 4, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(0, 5, vo.getDbName(), p_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, 5, ip, p_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, 5, typename, p_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(3, 5, runstr, p_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(4, 5, grade, p_labelFormat);
        sheet.addCell(tmpLabel);

        // 
        tmpLabel = new Label(0, 7, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, 7, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, 7, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(0, 8, pingnow + "%", p_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, 8, pingmin + "%", p_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, 8, pingconavg + "%", p_labelFormat);
        sheet.addCell(tmpLabel);

        // 
        File file = new File(ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/" + newip
                + "ConnectUtilization" + ".png");
        // sheet,0,0,5,1,,,
        // allRow = allRow+2;
        sheet.addImage(new WritableImage(1, 9, 7, 7, file));
        // allRow = allRow+7;

        tmpLabel = new Label(0, 14, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        int row = 15;
        if (val != null && val.size() > 0) {
            for (int i = 0; i < val.size(); i++) {
                Hashtable return_value = (Hashtable) val.get(i);
                if (return_value != null && return_value.size() > 0) {
                    String name = return_value.get("variable_name").toString();
                    String value = return_value.get("value").toString();
                    if (name.equalsIgnoreCase("Max_used_connections")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Handler_read_first")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Handler_read_key")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Handler_read_next")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Handler_read_prev")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Handler_read_rnd")) {
                        name = "H";
                    }
                    if (name.equalsIgnoreCase("Handler_read_rnd_next")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Open_tables")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Opened_tables")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Threads_cached")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Threads_connected")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Threads_created")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Threads_running")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Table_locks_immediate")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Table_locks_waited")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Key_read_requests")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("Key_reads")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("log_slow_queries")) {
                        name = "";
                    }
                    if (name.equalsIgnoreCase("slow_launch_time")) {
                        name = "Slow_launch_threads";
                    }
                    tmpLabel = new Label(0, row, name, p_labelFormat);
                    sheet.addCell(tmpLabel);
                    tmpLabel = new Label(1, row, value, p_labelFormat);
                    sheet.addCell(tmpLabel);
                    row++;
                }
            }
        }
        // 
        row = row + 2;
        tmpLabel = new Label(0, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        row++;
        tmpLabel = new Label(0, row, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(3, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(4, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(5, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        row++;
        if (sessionlist != null && sessionlist.size() > 0) {
            for (int i = 0; i < sessionlist.size(); i++) {
                List ipsessionlist = (List) sessionlist.get(i);
                if (ipsessionlist != null && ipsessionlist.size() > 0) {
                    for (int k = 0; k < ipsessionlist.size(); k++) {
                        String[] sessions = (String[]) ipsessionlist.get(k);
                        if (sessions != null && sessions.length == 5) {
                            tmpLabel = new Label(0, row, String.valueOf(k + 1), p_labelFormat);
                            sheet.addCell(tmpLabel);
                            tmpLabel = new Label(1, row, sessions[4], p_labelFormat);
                            sheet.addCell(tmpLabel);
                            tmpLabel = new Label(2, row, sessions[0], p_labelFormat);
                            sheet.addCell(tmpLabel);
                            tmpLabel = new Label(3, row, sessions[1], p_labelFormat);
                            sheet.addCell(tmpLabel);
                            tmpLabel = new Label(4, row, sessions[2], p_labelFormat);
                            sheet.addCell(tmpLabel);
                            tmpLabel = new Label(5, row, sessions[3], p_labelFormat);
                            sheet.addCell(tmpLabel);
                            row++;
                        }

                    }
                }
            }
        }

        // 
        row = row + 2;
        tmpLabel = new Label(0, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        row++;
        tmpLabel = new Label(0, row, "", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, row, " ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, row, "   ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(3, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(4, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        row++;
        String[] dbs = vo.getDbName().split(",");
        if (dbs != null && dbs.length > 0) {
            for (int i = 0; i < dbs.length; i++) {
                String dbStr = dbs[i];
                // System.out.println(dbStr+"====="+tablesHash.size());
                if (tablesHash.containsKey(dbStr)) {
                    List tableslist = (List) tablesHash.get(dbStr);
                    if (tableslist != null && tableslist.size() > 0) {
                        for (int k = 0; k < tableslist.size(); k++) {
                            String[] tables = (String[]) tableslist.get(k);
                            if (tables != null && tables.length == 4) {
                                tmpLabel = new Label(0, row, String.valueOf(k + 1), p_labelFormat);
                                sheet.addCell(tmpLabel);
                                tmpLabel = new Label(1, row, tables[0], p_labelFormat);
                                sheet.addCell(tmpLabel);
                                tmpLabel = new Label(2, row, tables[1], p_labelFormat);
                                sheet.addCell(tmpLabel);
                                tmpLabel = new Label(3, row, tables[2], p_labelFormat);
                                sheet.addCell(tmpLabel);
                                tmpLabel = new Label(4, row, tables[3], p_labelFormat);
                                sheet.addCell(tmpLabel);
                                row++;
                            }

                        }
                    }
                }
            }
        }

        // 
        row = row + 2;
        tmpLabel = new Label(0, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        row++;
        tmpLabel = new Label(0, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(1, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        tmpLabel = new Label(2, row, "  ", b_labelFormat);
        sheet.addCell(tmpLabel);
        row++;
        if (tableinfo_v != null) {// HONGLILI
            for (int i = 0; i < tableinfo_v.size(); i++) {
                Hashtable ht = (Hashtable) tableinfo_v.get(i);
                String size = ht.get("variable_name").toString();
                String free = ht.get("value").toString();
                if (size.equalsIgnoreCase("auto_increment_increment")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("auto_increment_offset")) {
                    size = "AUTO_INCREMENT";
                }
                if (size.equalsIgnoreCase("automatic_sp_privileges")) {
                    size = "automatic_sp_privileges";
                }
                if (size.equalsIgnoreCase("back_log")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("basedir")) {
                    size = "MySQL";
                }
                if (size.equalsIgnoreCase("binlog_cache_size")) {
                    size = "SQL";
                }
                if (size.equalsIgnoreCase("bulk_insert_buffer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_set_client")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_set_connection")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_set_database")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_set_filesystem")) {
                    size = "character_set_filesystem";
                }
                if (size.equalsIgnoreCase("character_set_results")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_set_server")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_set_system")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("character_sets_dir")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("collation_connection")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("collation_database")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("collation_server")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("completion_type")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("concurrent_insert")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("connect_timeout")) {
                    size = "Bad handshake";
                }
                if (size.equalsIgnoreCase("datadir")) {
                    size = "MySQL";
                }
                if (size.equalsIgnoreCase("date_format")) {
                    size = "date_format()";
                }
                if (size.equalsIgnoreCase("datetime_format")) {
                    size = "datetime_format()";
                }
                if (size.equalsIgnoreCase("default_week_format")) {
                    size = "WEEK() ";
                }
                if (size.equalsIgnoreCase("delay_key_write")) {
                    size = "DELAY_KEY_WRITE";
                }
                if (size.equalsIgnoreCase("delayed_insert_limit")) {
                    size = "INSERT DELAYEDSELECT";
                }
                if (size.equalsIgnoreCase("delayed_insert_timeout")) {
                    size = "INSERT DELAYEDINSERT";
                }
                if (size.equalsIgnoreCase("delayed_queue_size")) {
                    size = "INSERT DELAYED";
                }
                if (size.equalsIgnoreCase("div_precision_increment")) {
                    size = "/";
                }
                if (size.equalsIgnoreCase("engine_condition_pushdown")) {
                    size = "NDB";
                }
                if (size.equalsIgnoreCase("expire_logs_days")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("flush")) {
                    size = "flushmysqld";
                }
                if (size.equalsIgnoreCase("flush_time")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("ft_boolean_syntax")) {
                    size = "IN BOOLEAN MODE";
                }
                if (size.equalsIgnoreCase("ft_max_word_len")) {
                    size = "FULLTEXT";
                }
                if (size.equalsIgnoreCase("ft_min_word_len")) {
                    size = "FULLTEXT";
                }
                if (size.equalsIgnoreCase("ft_query_expansion_limit")) {
                    size = "WITH QUERY EXPANSION";
                }
                if (size.equalsIgnoreCase("ft_stopword_file")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("group_concat_max_len")) {
                    size = "GROUP_CONCAT()";
                }
                if (size.equalsIgnoreCase("have_archive")) {
                    size = "mysqldARCHIVE";
                }
                if (size.equalsIgnoreCase("have_bdb")) {
                    size = "mysqldBDB";
                }
                if (size.equalsIgnoreCase("have_blackhole_engine")) {
                    size = "mysqldBLACKHOLE";
                }
                if (size.equalsIgnoreCase("have_compress")) {
                    size = "zlib";
                }
                if (size.equalsIgnoreCase("have_crypt")) {
                    size = "crypt()";
                }
                if (size.equalsIgnoreCase("have_csv")) {
                    size = "mysqldARCHIVE";
                }
                if (size.equalsIgnoreCase("have_example_engine")) {
                    size = "mysqldEXAMPLE";
                }
                if (size.equalsIgnoreCase("have_federated_engine")) {
                    size = "mysqldFEDERATED";
                }
                if (size.equalsIgnoreCase("have_geometry")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("have_innodb")) {
                    size = "mysqldInnoDB";
                }
                if (size.equalsIgnoreCase("have_isam")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("have_ndbcluster")) {
                    size = "mysqldNDB CLUSTER";
                }
                if (size.equalsIgnoreCase("have_openssl")) {
                    size = "mysqld/SSL()";
                }
                if (size.equalsIgnoreCase("have_query_cache")) {
                    size = "mysqld";
                }
                if (size.equalsIgnoreCase("have_raid")) {
                    size = "mysqldRAID";
                }
                if (size.equalsIgnoreCase("have_rtree_keys")) {
                    size = "RTREE";
                }
                if (size.equalsIgnoreCase("have_symlink")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("init_connect")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("init_file")) {
                    size = "--init-file";
                }
                if (size.equalsIgnoreCase("init_slave")) {
                    size = "SQL";
                }
                if (size.equalsIgnoreCase("innodb_additional_mem_pool_size")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_autoextend_increment")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_buffer_pool_awe_mem_mb")) {
                    size = "32WindowsAWE";
                }
                if (size.equalsIgnoreCase("innodb_buffer_pool_size")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_checksums")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_commit_concurrency")) {
                    size = "innodb_commit_concurrency";
                }
                if (size.equalsIgnoreCase("innodb_concurrency_tickets")) {
                    size = "innodb_concurrency_tickets";
                }
                if (size.equalsIgnoreCase("innodb_data_file_path")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_data_home_dir")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_doublewrite")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_fast_shutdown")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_file_io_threads")) {
                    size = "InnoDBI/O";
                }
                if (size.equalsIgnoreCase("innodb_file_per_table")) {
                    size = "InnoDB.ibd";
                }
                if (size.equalsIgnoreCase("innodb_flush_log_at_trx_commit")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_flush_method")) {
                    size = "InnoDBfsync()";
                }
                if (size.equalsIgnoreCase("innodb_force_recovery")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_lock_wait_timeout")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_locks_unsafe_for_binlog")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_log_arch_dir")) {
                    size = " ";
                }
                if (size.equalsIgnoreCase("innodb_log_archive")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_log_buffer_size")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_log_file_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_log_files_in_group")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_log_group_home_dir")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_max_dirty_pages_pct")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_max_purge_lag")) {
                    size = "INSERT,UPDATEDELETE";
                }
                if (size.equalsIgnoreCase("innodb_mirrored_log_groups")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("innodb_open_files")) {
                    size = "InnoDB.ibd";
                }
                if (size.equalsIgnoreCase("innodb_support_xa")) {
                    size = "InnoDBXA";
                }
                if (size.equalsIgnoreCase("innodb_sync_spin_loops")) {
                    size = "innodb_sync_spin_loops";
                }
                if (size.equalsIgnoreCase("innodb_table_locks")) {
                    size = "InnoDB";
                }
                if (size.equalsIgnoreCase("innodb_thread_concurrency")) {
                    size = "InnoDBInnoDB";
                }
                if (size.equalsIgnoreCase("innodb_thread_sleep_delay")) {
                    size = "InnoDBSHOW INNODB STATUS<datadir>/innodb_status";
                }
                if (size.equalsIgnoreCase("interactive_timeout")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("join_buffer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("key_buffer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("key_cache_age_threshold")) {
                    size = "(sub-chain)(sub-chain)";
                }
                if (size.equalsIgnoreCase("key_cache_block_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("key_cache_division_limit")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("language")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("large_files_support")) {
                    size = "mysqld";
                }
                if (size.equalsIgnoreCase("large_page_size")) {
                    size = "large_page_size";
                }
                if (size.equalsIgnoreCase("large_pages")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("license")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("local_infile")) {
                    size = "LOCALLOAD DATA INFILE";
                }
                if (size.equalsIgnoreCase("log")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("log_bin")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("log_bin_trust_function_creators")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("log_error")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("log_slave_updates")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("log_slow_queries")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("log_warnings")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("long_query_time")) {
                    size = "Slow_queries";
                }
                if (size.equalsIgnoreCase("low_priority_updates")) {
                    size = "sqlSELECTLOCK TABLE READ";
                }
                if (size.equalsIgnoreCase("lower_case_file_system")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("lower_case_table_names")) {
                    size = "1";
                }
                if (size.equalsIgnoreCase("max_allowed_packet")) {
                    size = "/";
                }
                if (size.equalsIgnoreCase("max_binlog_cache_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_binlog_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_connect_errors")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_connections")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_delayed_threads")) {
                    size = "INSERT DELAYED";
                }
                if (size.equalsIgnoreCase("max_error_count")) {
                    size = "SHOW ERRORSSHOW WARNINGS";
                }
                if (size.equalsIgnoreCase("max_heap_table_size")) {
                    size = "MEMORY (HEAP)";
                }
                if (size.equalsIgnoreCase("max_insert_delayed_threads")) {
                    size = "INSERT DELAYED(max_delayed_threads)";
                }
                if (size.equalsIgnoreCase("max_join_size")) {
                    size = "max_join_size";
                }
                if (size.equalsIgnoreCase("max_length_for_sort_data")) {
                    size = "filesort";
                }
                if (size.equalsIgnoreCase("max_prepared_stmt_count")) {
                    size = "max_prepared_stmt_count";
                }
                if (size.equalsIgnoreCase("max_relay_log_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_seeks_for_key")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_sort_length")) {
                    size = "BLOBTEXT";
                }
                if (size.equalsIgnoreCase("max_sp_recursion_depth")) {
                    size = "max_sp_recursion_depth";
                }
                if (size.equalsIgnoreCase("max_tmp_tables")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("max_user_connections")) {
                    size = "MySQL";
                }
                if (size.equalsIgnoreCase("max_write_lock_count")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("multi_range_count")) {
                    size = "multi_range_count";
                }
                if (size.equalsIgnoreCase("myisam_data_pointer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("myisam_max_sort_file_size")) {
                    size = "MyISAMMySQL";
                }
                if (size.equalsIgnoreCase("myisam_recover_options")) {
                    size = "myisam-recover";
                }
                if (size.equalsIgnoreCase("myisam_repair_threads")) {
                    size = "1Repair by sortingMyISAM";
                }
                if (size.equalsIgnoreCase("myisam_sort_buffer_size")) {
                    size = "REPAIR TABLECREATE INDEXALTER TABLEMyISAM";
                }
                if (size.equalsIgnoreCase("myisam_stats_method")) {
                    size = "MyISAMNULL";
                }
                if (size.equalsIgnoreCase("named_pipe")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("net_buffer_length")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("net_read_timeout")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("net_retry_count")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("net_write_timeout")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("new")) {
                    size = "MySQL 4.04.1";
                }
                if (size.equalsIgnoreCase("old_passwords")) {
                    size = "MySQLpre-4.1-style";
                }
                if (size.equalsIgnoreCase("open_files_limit")) {
                    size = "mysqld";
                }
                if (size.equalsIgnoreCase("optimizer_prune_level")) {
                    size = " 0";
                }
                if (size.equalsIgnoreCase("optimizer_search_depth")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("pid_file")) {
                    size = "ID (PID)";
                }
                if (size.equalsIgnoreCase("prepared_stmt_count")) {
                    size = "prepared_stmt_count";
                }
                if (size.equalsIgnoreCase("port")) {
                    size = "TCP/IP";
                }
                if (size.equalsIgnoreCase("preload_buffer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("protocol_version")) {
                    size = "MySQL/";
                }
                if (size.equalsIgnoreCase("query_alloc_block_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("query_cache_limit")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("query_cache_min_res_unit")) {
                    size = "()";
                }
                if (size.equalsIgnoreCase("query_cache_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("query_cache_type")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("query_cache_wlock_invalidate")) {
                    size = "WRITE";
                }
                if (size.equalsIgnoreCase("query_prealloc_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("range_alloc_block_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("read_buffer_size")) {
                    size = "()";
                }
                if (size.equalsIgnoreCase("read_only")) {
                    size = "ON";
                }
                if (size.equalsIgnoreCase("read_only")) {
                    size = "ON";
                }
                if (size.equalsIgnoreCase("relay_log_purge")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("read_rnd_buffer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("secure_auth")) {
                    size = "--secure-authMySQL(4.1)";
                }
                if (size.equalsIgnoreCase("shared_memory")) {
                    size = "(Windows)";
                }
                if (size.equalsIgnoreCase("shared_memory_base_name")) {
                    size = "(Windows)";
                }
                if (size.equalsIgnoreCase("server_id")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("skip_external_locking")) {
                    size = "mysqld";
                }
                if (size.equalsIgnoreCase("skip_networking")) {
                    size = "(TCP/IP)";
                }
                if (size.equalsIgnoreCase("skip_show_database")) {
                    size = "SHOW DATABASESSHOW DATABASES";
                }
                if (size.equalsIgnoreCase("slave_compressed_protocol")) {
                    size = "/";
                }
                if (size.equalsIgnoreCase("slave_load_tmpdir")) {
                    size = "LOAD DATA INFILE";
                }
                if (size.equalsIgnoreCase("slave_net_timeout")) {
                    size = "/";
                }
                if (size.equalsIgnoreCase("slave_skip_errors")) {
                    size = "()";
                }
                if (size.equalsIgnoreCase("slave_transaction_retries")) {
                    size = "SQLslave_transaction_retries";
                }
                if (size.equalsIgnoreCase("slow_launch_time")) {
                    size = "Slow_launch_threads";
                }
                if (size.equalsIgnoreCase("sort_buffer_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("sql_mode")) {
                    size = "SQL";
                }
                if (size.equalsIgnoreCase("storage_engine")) {
                    size = "table_typeisMySQL 5.1,storage_engine";
                }
                if (size.equalsIgnoreCase("sync_binlog")) {
                    size = "sync_binlog'thMySQL";
                }
                if (size.equalsIgnoreCase("sync_frm")) {
                    size = "1,.frm";
                }
                if (size.equalsIgnoreCase("system_time_zone")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("table_cache")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("table_type")) {
                    size = "()";
                }
                if (size.equalsIgnoreCase("thread_cache_size")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("thread_stack")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("time_format")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("time_zone")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("tmp_table_size")) {
                    size = "MySQLMyISAM";
                }
                if (size.equalsIgnoreCase("tmpdir")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("transaction_alloc_block_size")) {
                    size = "()";
                }
                if (size.equalsIgnoreCase("transaction_prealloc_size")) {
                    size = "transaction_alloc_blocks";
                }
                if (size.equalsIgnoreCase("tx_isolation")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("updatable_views_with_limit")) {
                    size = "LIMIT";
                }
                if (size.equalsIgnoreCase("version")) {
                    size = "";
                }
                if (size.equalsIgnoreCase("version_bdb")) {
                    size = "BDB";
                }
                if (size.equalsIgnoreCase("version_comment")) {
                    size = "configure--with-commentMySQL";
                }
                if (size.equalsIgnoreCase("version_compile_machine")) {
                    size = "MySQL";
                }
                if (size.equalsIgnoreCase("version_compile_os")) {
                    size = "MySQL";
                }
                if (size.equalsIgnoreCase("wait_timeout")) {
                    size = "";
                }
                tmpLabel = new Label(0, row, String.valueOf(i + 1), p_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(1, row, size, p_labelFormat);
                sheet.addCell(tmpLabel);
                tmpLabel = new Label(2, row, free, p_labelFormat);
                sheet.addCell(tmpLabel);
                row++;
            }
        }

        //    
        row = row + 2;
        this.addEventReport(sheet, reportHash, row);
        row++;
        // 
        addEventListToExcel(sheet, row);

        if (impReport.getChart() != null) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            try {
                ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                        impReport.getChart().getWidth(), impReport.getChart().getHeight());
            } catch (IOException ioe) {
            }
            WritableImage wi = new WritableImage(2, 10000 + 5, 8, 12, baos.toByteArray());
            sheet.addImage(wi);
        }
        wb.write();
    } catch (Exception e) {
        SysLogger.error("", e);
    } finally {
        try {
            if (wb != null)
                wb.close();
        } catch (Exception e) {
        }
    }
}