Example usage for org.apache.poi.hssf.usermodel HSSFRichTextString applyFont

List of usage examples for org.apache.poi.hssf.usermodel HSSFRichTextString applyFont

Introduction

In this page you can find the example usage for org.apache.poi.hssf.usermodel HSSFRichTextString applyFont.

Prototype

public void applyFont(short fontIndex) 

Source Link

Document

Applies the specified font to the entire string.

Usage

From source file:binky.reportrunner.engine.renderers.exporters.TabbedXLSExporter.java

License:Open Source License

@SuppressWarnings("deprecation")
@Override//from   w  ww.ja  va  2 s  .c o  m
public void export(ResultSet resultSet, String label, OutputStream outputStream) throws ExportException {

    if (this.outputStream == null)
        this.outputStream = outputStream;

    try {
        if (wb == null) {
            logger.trace("creating new workbook");
            wb = new HSSFWorkbook();
        }

        logger.trace("creaing worksheet " + label);
        HSSFSheet sheet = wb.createSheet(label);
        ResultSetMetaData metaData;

        metaData = resultSet.getMetaData();

        short rowCount = 0;
        // logger.debug("writing header");
        HSSFRow headerRow = sheet.createRow(rowCount);
        for (int i = 1; i <= metaData.getColumnCount(); i++) {
            // TODO:fix
            HSSFCell cell = headerRow.createCell((short) (i - 1));
            HSSFRichTextString string = new HSSFRichTextString(metaData.getColumnName(i));
            string.applyFont(HSSFFont.BOLDWEIGHT_BOLD);
            cell.setCellValue(string);
        }

        while (resultSet.next()) {
            rowCount++;
            HSSFRow row = sheet.createRow(rowCount);
            for (int i = 1; i <= metaData.getColumnCount(); i++) {
                // TODO:fix
                HSSFCell cell = row.createCell((short) (i - 1));

                // TODO:make this better by using types
                HSSFRichTextString string = new HSSFRichTextString("" + resultSet.getObject(i));
                cell.setCellValue(string);

            }
        }

    } catch (SQLException e) {
        throw new ExportException(e.getMessage(), e);
    }
}

From source file:binky.reportrunner.engine.renderers.exporters.XLSExporter.java

License:Open Source License

@SuppressWarnings("deprecation")
@Override//  w w w  .  j  a  va  2s  .c om
public void export(ResultSet resultSet, String label, OutputStream outputStream) throws ExportException {
    try {
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("Report");
        ResultSetMetaData metaData;

        metaData = resultSet.getMetaData();

        short rowCount = 0;
        // logger.debug("writing header");
        HSSFRow headerRow = sheet.createRow(rowCount);
        for (int i = 1; i <= metaData.getColumnCount(); i++) {
            //TODO:fix
            HSSFCell cell = headerRow.createCell((short) (i - 1));
            HSSFRichTextString string = new HSSFRichTextString(metaData.getColumnName(i));
            string.applyFont(HSSFFont.BOLDWEIGHT_BOLD);
            cell.setCellValue(string);
        }

        while (resultSet.next()) {
            rowCount++;
            HSSFRow row = sheet.createRow(rowCount);
            for (int i = 1; i <= metaData.getColumnCount(); i++) {
                //TODO:fix
                HSSFCell cell = row.createCell((short) (i - 1));

                // TODO:make this better by using types
                HSSFRichTextString string = new HSSFRichTextString("" + resultSet.getObject(i));
                cell.setCellValue(string);

            }
        }

        // Write the output to the stream file
        wb.write(outputStream);
        outputStream.flush();

    } catch (SQLException e) {
        throw new ExportException(e.getMessage(), e);
    } catch (IOException e) {
        throw new ExportException(e.getMessage(), e);
    }
}

From source file:co.com.codesoftware.logica.excel.ExcelLogica.java

public String generarExcel(String sql) {
    String rta;/* w ww . ja v  a  2 s.co  m*/
    try {
        try (ConexionJdbc conexion = ConexionJdbc.getInstance()) {
            ResultSetMetaData rsmt = null;
            Connection con = conexion.conexion();
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(sql);
            rsmt = rs.getMetaData();
            ArrayList<Map> nombres = null;
            HSSFRow fila = null;
            if (rsmt.getColumnCount() > 0) {
                fila = hoja.createRow(0);
            }
            for (int i = 1; i <= rsmt.getColumnCount(); i++) {
                HSSFCell celda = fila.createCell(i - 1);
                String nombreCol = rsmt.getColumnName(i);
                int tipoColumna = rsmt.getColumnType(i);
                Map<String, String> item = new HashMap();
                item.put("nombre", nombreCol);
                item.put("tipo", "" + tipoColumna);
                HSSFRichTextString texto = new HSSFRichTextString(nombreCol.toUpperCase());
                texto.applyFont(this.titulo);
                celda.setCellValue(texto);
                if (nombres == null) {
                    nombres = new ArrayList();
                }
                nombres.add(item);
            }
            int filas = 1;
            while (rs.next()) {
                fila = hoja.createRow(filas);
                int celdaNum = 0;
                for (Map columna : nombres) {
                    HSSFCell celda = fila.createCell(celdaNum);
                    if ("-5".equalsIgnoreCase((String) columna.get("tipo"))
                            || "4".equalsIgnoreCase((String) columna.get("tipo"))
                            || "2".equalsIgnoreCase((String) columna.get("tipo"))) {
                        Double valorCelda = rs.getDouble((String) columna.get("nombre"));
                        celda.setCellValue(valorCelda);
                    } else {
                        String valorCelda = rs.getString((String) columna.get("nombre"));
                        celda.setCellValue(valorCelda);
                    }
                    celdaNum++;
                }
                filas++;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        FileOutputStream fos = new FileOutputStream(ruta);
        libro.write(fos);
        fos.close();
        rta = "Ok";
    } catch (Exception e) {
        e.printStackTrace();
        rta = "Error " + e;
    }
    return rta;
}

From source file:co.turnus.analysis.data.bottlenecks.io.XlsAlgoBottlenecksDataWriter.java

License:Open Source License

private void writeActionActorClassTable(HSSFWorkbook workbook, HotspotsDataAnalyser analyzer) {
    HSSFSheet sheet = workbook.createSheet("<Action, ActorClass>");
    // Action Actor Class Results
    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString("Action and Actor Class Results");
    title.applyFont(titleFont);
    cell.setCellValue(title);//from  w  w w .ja va2 s .  c o m

    Row row = sheet.createRow(1);
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 0, 0));
    row.createCell(0).setCellValue("Action");
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 1, 1));
    row.createCell(1).setCellValue("Actor Class");

    sheet.addMergedRegion(new CellRangeAddress(1, 1, 2, 7));
    row.createCell(2).setCellValue("Total Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 8, 12));
    row.createCell(8).setCellValue("Non Deferrable Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 13, 17));
    row.createCell(13).setCellValue("Critical Executions");

    row = sheet.createRow(2);
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 2, 3));
    row.createCell(2).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 4, 6));
    row.createCell(4).setCellValue("Clock Cycles");
    row.createCell(7).setCellValue("Slack");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 8, 9));
    row.createCell(8).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 10, 12));
    row.createCell(10).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 13, 14));
    row.createCell(13).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 15, 17));
    row.createCell(15).setCellValue("Clock Cycles");

    row = sheet.createRow(3);
    row.createCell(2).setCellValue("%");
    row.createCell(3).setCellValue("abs");
    row.createCell(4).setCellValue("%");
    row.createCell(5).setCellValue("mean");
    row.createCell(6).setCellValue("variance");
    row.createCell(7).setCellValue("min");
    row.createCell(8).setCellValue("%");
    row.createCell(9).setCellValue("abs");
    row.createCell(10).setCellValue("%");
    row.createCell(11).setCellValue("mean");
    row.createCell(12).setCellValue("variance");
    row.createCell(13).setCellValue("%");
    row.createCell(14).setCellValue("abs");
    row.createCell(15).setCellValue("%");
    row.createCell(16).setCellValue("mean");
    row.createCell(17).setCellValue("variance");

    Table<ActorClass, Action, ExtendExecData> cTable = analyzer.getSumDataTable(ActorClass.class,
            Key.CRITICAL_CLOCKCYCLES, Order.DECREASING);

    // row index
    int rowi = 4;
    for (Table.Cell<ActorClass, Action, ExtendExecData> entry : cTable.cellSet()) {

        row = sheet.createRow(rowi);
        rowi++;

        row.createCell(0).setCellValue(entry.getColumnKey().getId());
        row.createCell(1).setCellValue(entry.getRowKey().getName());

        ExtendExecData exec = entry.getValue();
        cell = row.createCell(2);
        cell.setCellFormula("D" + rowi + "/Summary!A14*100");
        row.createCell(3).setCellValue(exec.getTotalExec().getExecutions());
        cell = row.createCell(4);
        cell.setCellFormula("F" + rowi + "/Summary!B14*100");
        row.createCell(5).setCellValue(exec.getTotalExec().getClockCyclesMean());
        row.createCell(6).setCellValue(exec.getTotalExec().getClockCyclesVariance());

        double slack = exec.getSlack().getMin();
        slack = slack > AnalysisUtil.PRECISION_EPS ? slack : 0.0;
        row.createCell(7).setCellValue(slack);
        cell = row.createCell(8);
        cell.setCellFormula("J" + rowi + "/Summary!E14*100");
        row.createCell(9).setCellValue(exec.getNotDeferrableExec().getExecutions());
        cell = row.createCell(10);
        cell.setCellFormula("L" + rowi + "/Summary!G14*100");
        row.createCell(11).setCellValue(exec.getNotDeferrableExec().getClockCyclesMean());
        row.createCell(12).setCellValue(exec.getNotDeferrableExec().getClockCyclesVariance());
        cell = row.createCell(13);
        cell.setCellFormula("O" + rowi + "/Summary!J14*100");
        row.createCell(14).setCellValue(exec.getCriticalExec().getExecutions());
        cell = row.createCell(15);
        cell.setCellFormula("Q" + rowi + "/Summary!L14*100");
        row.createCell(16).setCellValue(exec.getCriticalExec().getClockCyclesMean());
        row.createCell(17).setCellValue(exec.getCriticalExec().getClockCyclesVariance());
    }
}

From source file:co.turnus.analysis.data.bottlenecks.io.XlsAlgoBottlenecksDataWriter.java

License:Open Source License

private void writeActionActorTable(HSSFWorkbook workbook, HotspotsDataAnalyser analyzer) {
    HSSFSheet sheet = workbook.createSheet("<Action, Actor>");
    // Action Actor Results
    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString("Action and Actor Results");
    title.applyFont(titleFont);
    cell.setCellValue(title);//from   w w w.  j  a  v a 2  s  . co  m
    Row row = sheet.createRow(1);
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 0, 0));
    row.createCell(0).setCellValue("Action");
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 1, 1));
    row.createCell(1).setCellValue("Actor");

    sheet.addMergedRegion(new CellRangeAddress(1, 1, 2, 9));
    row.createCell(2).setCellValue("Total Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 10, 14));
    row.createCell(10).setCellValue("Non Deferrable Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 15, 19));
    row.createCell(15).setCellValue("Critical Executions");

    row = sheet.createRow(2);
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 2, 3));
    row.createCell(2).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 4, 6));
    row.createCell(4).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 7, 9));
    row.createCell(7).setCellValue("Slack");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 10, 11));
    row.createCell(10).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 12, 14));
    row.createCell(12).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 15, 16));
    row.createCell(15).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 17, 19));
    row.createCell(17).setCellValue("Clock Cycles");

    row = sheet.createRow(3);
    row.createCell(2).setCellValue("%");
    row.createCell(3).setCellValue("abs");
    row.createCell(4).setCellValue("%");
    row.createCell(5).setCellValue("mean");
    row.createCell(6).setCellValue("variance");
    row.createCell(7).setCellValue("min");
    row.createCell(8).setCellValue("average");
    row.createCell(9).setCellValue("variance");
    row.createCell(10).setCellValue("%");
    row.createCell(11).setCellValue("abs");
    row.createCell(12).setCellValue("%");
    row.createCell(13).setCellValue("mean");
    row.createCell(14).setCellValue("variance");
    row.createCell(15).setCellValue("%");
    row.createCell(16).setCellValue("abs");
    row.createCell(17).setCellValue("%");
    row.createCell(18).setCellValue("mean");
    row.createCell(19).setCellValue("variance");

    Table<Actor, Action, ExtendExecData> aTable = analyzer.getSumDataTable(Actor.class,
            Key.CRITICAL_CLOCKCYCLES, Order.DECREASING);

    // row index
    int rowi = 4;
    for (Table.Cell<Actor, Action, ExtendExecData> entry : aTable.cellSet()) {
        row = sheet.createRow(rowi);
        rowi++;

        row.createCell(0).setCellValue(entry.getColumnKey().getId());
        row.createCell(1).setCellValue(entry.getRowKey().getId());

        ExtendExecData exec = entry.getValue();
        cell = row.createCell(2);
        cell.setCellFormula("D" + rowi + "/Summary!A14*100");
        row.createCell(3).setCellValue(exec.getTotalExec().getExecutions());
        cell = row.createCell(4);
        cell.setCellFormula("F" + rowi + "/Summary!B14*100");
        row.createCell(5).setCellValue(exec.getTotalExec().getClockCyclesMean());
        row.createCell(6).setCellValue(exec.getTotalExec().getClockCyclesVariance());

        double slack = exec.getSlack().getMin();
        slack = slack > AnalysisUtil.PRECISION_EPS ? slack : 0.0;
        row.createCell(7).setCellValue(slack);
        double slackAvg = exec.getSlack().getMean();
        slackAvg = slackAvg > AnalysisUtil.PRECISION_EPS ? slackAvg : 0.0;
        row.createCell(8).setCellValue(slackAvg);
        double slackVar = exec.getSlack().getVariance();
        slackVar = slackVar > AnalysisUtil.PRECISION_EPS ? slackVar : 0.0;
        row.createCell(9).setCellValue(slackVar);
        cell = row.createCell(10);
        cell.setCellFormula("L" + rowi + "/Summary!E14*100");
        row.createCell(11).setCellValue(exec.getNotDeferrableExec().getExecutions());
        cell = row.createCell(12);
        cell.setCellFormula("N" + rowi + "/Summary!G14*100");
        row.createCell(13).setCellValue(exec.getNotDeferrableExec().getClockCyclesMean());
        row.createCell(14).setCellValue(exec.getNotDeferrableExec().getClockCyclesVariance());
        cell = row.createCell(15);
        cell.setCellFormula("Q" + rowi + "/Summary!J14*100");
        row.createCell(16).setCellValue(exec.getCriticalExec().getExecutions());
        cell = row.createCell(17);
        cell.setCellFormula("S" + rowi + "/Summary!L14*100");
        row.createCell(18).setCellValue(exec.getCriticalExec().getClockCyclesMean());
        row.createCell(19).setCellValue(exec.getCriticalExec().getClockCyclesVariance());

    }

}

From source file:co.turnus.analysis.data.bottlenecks.io.XlsAlgoBottlenecksDataWriter.java

License:Open Source License

private void writeActorClassesTable(HSSFWorkbook workbook, HotspotsDataAnalyser analyzer) {
    HSSFSheet sheet = workbook.createSheet("ActorClasses");

    // Actor classes Results
    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString("ActorClasses Results");
    title.applyFont(titleFont);
    cell.setCellValue(title);//from  www.j  av a 2s . co m

    Row row = sheet.createRow(1);
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 0, 0));
    row.createCell(0).setCellValue("Class");
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 1, 1));
    row.createCell(1).setCellValue("File");
    sheet.addMergedRegion(new CellRangeAddress(1, 2, 2, 3));
    row.createCell(2).setCellValue("Version");

    sheet.addMergedRegion(new CellRangeAddress(1, 1, 4, 8));
    row.createCell(4).setCellValue("Total Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 9, 13));
    row.createCell(9).setCellValue("Non Deferrable Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 14, 18));
    row.createCell(14).setCellValue("Critical Executions");

    row = sheet.createRow(2);
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 4, 5));
    row.createCell(4).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 6, 8));
    row.createCell(6).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 9, 10));
    row.createCell(9).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 11, 13));
    row.createCell(11).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 14, 15));
    row.createCell(14).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 16, 18));
    row.createCell(16).setCellValue("Clock Cycles");

    row = sheet.createRow(3);
    row.createCell(2).setCellValue("ID");
    row.createCell(3).setCellValue("Last Modification");
    row.createCell(4).setCellValue("%");
    row.createCell(5).setCellValue("abs");
    row.createCell(6).setCellValue("%");
    row.createCell(7).setCellValue("mean");
    row.createCell(8).setCellValue("variance");
    row.createCell(9).setCellValue("%");
    row.createCell(10).setCellValue("abs");
    row.createCell(11).setCellValue("%");
    row.createCell(12).setCellValue("mean");
    row.createCell(13).setCellValue("variance");
    row.createCell(14).setCellValue("%");
    row.createCell(15).setCellValue("abs");
    row.createCell(16).setCellValue("%");
    row.createCell(17).setCellValue("mean");
    row.createCell(18).setCellValue("variance");

    Map<ActorClass, ExtendExecData> cMap = analyzer.getSumDataMap(ActorClass.class, Key.CRITICAL_CLOCKCYCLES,
            Order.DECREASING);

    // row index
    int rowi = 4;
    for (Entry<ActorClass, ExtendExecData> entry : cMap.entrySet()) {
        ActorClass clazz = entry.getKey();
        ExtendExecData exec = entry.getValue();

        row = sheet.createRow(rowi);
        rowi++;

        row.createCell(0).setCellValue(clazz.getName());
        row.createCell(1).setCellValue(clazz.getSourceFile());
        row.createCell(2).setCellValue(clazz.getVersion().getId());
        cell = row.createCell(3);
        cell.setCellValue(clazz.getVersion().getLastModificationDate());
        cell.setCellStyle(cellStyle);
        cell = row.createCell(4);
        cell.setCellFormula("F" + rowi + "/Summary!A14*100");
        row.createCell(5).setCellValue(exec.getTotalExec().getExecutions());
        cell = row.createCell(6);
        cell.setCellFormula("H" + rowi + "/Summary!B14*100");
        row.createCell(7).setCellValue(exec.getTotalExec().getClockCyclesMean());
        row.createCell(8).setCellValue(exec.getTotalExec().getClockCyclesVariance());
        cell = row.createCell(9);
        cell.setCellFormula("K" + rowi + "/Summary!E14*100");
        row.createCell(10).setCellValue(exec.getNotDeferrableExec().getExecutions());
        cell = row.createCell(11);
        cell.setCellFormula("M" + rowi + "/Summary!G14*100");
        row.createCell(12).setCellValue(exec.getNotDeferrableExec().getClockCyclesMean());
        row.createCell(13).setCellValue(exec.getNotDeferrableExec().getClockCyclesVariance());
        cell = row.createCell(14);
        cell.setCellFormula("P" + rowi + "/Summary!J14*100");
        row.createCell(15).setCellValue(exec.getCriticalExec().getExecutions());
        cell = row.createCell(16);
        cell.setCellFormula("R" + rowi + "/Summary!L14*100");
        row.createCell(17).setCellValue(exec.getCriticalExec().getClockCyclesMean());
        row.createCell(18).setCellValue(exec.getCriticalExec().getClockCyclesVariance());

    }

}

From source file:co.turnus.analysis.data.bottlenecks.io.XlsAlgoBottlenecksDataWriter.java

License:Open Source License

private void writeActorsTable(HSSFWorkbook workbook, HotspotsDataAnalyser analyzer) {
    HSSFSheet sheet = workbook.createSheet("Actors");

    // Actors Results
    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString("Actors Results");
    title.applyFont(titleFont);
    cell.setCellValue(title);/* w ww . j  av a2 s  . c  o  m*/

    Row row = sheet.createRow(1);
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 0, 0));
    row.createCell(0).setCellValue("Actor");
    sheet.addMergedRegion(new CellRangeAddress(1, 3, 1, 1));
    row.createCell(1).setCellValue("Class");

    sheet.addMergedRegion(new CellRangeAddress(1, 1, 2, 6));
    row.createCell(2).setCellValue("Total Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 7, 11));
    row.createCell(7).setCellValue("Non Deferrable Executions");
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 12, 16));
    row.createCell(12).setCellValue("Critical Executions");

    row = sheet.createRow(2);
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 2, 3));
    row.createCell(2).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 4, 6));
    row.createCell(4).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 7, 8));
    row.createCell(7).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 9, 11));
    row.createCell(9).setCellValue("Clock Cycles");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 12, 13));
    row.createCell(12).setCellValue("Executions");
    sheet.addMergedRegion(new CellRangeAddress(2, 2, 14, 16));
    row.createCell(14).setCellValue("Clock Cycles");

    row = sheet.createRow(3);
    row.createCell(2).setCellValue("%");
    row.createCell(3).setCellValue("abs");
    row.createCell(4).setCellValue("%");
    row.createCell(5).setCellValue("mean");
    row.createCell(6).setCellValue("variance");
    row.createCell(7).setCellValue("%");
    row.createCell(8).setCellValue("abs");
    row.createCell(9).setCellValue("%");
    row.createCell(10).setCellValue("mean");
    row.createCell(11).setCellValue("variance");
    row.createCell(12).setCellValue("%");
    row.createCell(13).setCellValue("abs");
    row.createCell(14).setCellValue("%");
    row.createCell(15).setCellValue("mean");
    row.createCell(16).setCellValue("variance");

    Map<Actor, ExtendExecData> aMap = analyzer.getSumDataMap(Actor.class, Key.CRITICAL_CLOCKCYCLES,
            Order.DECREASING);

    // row index
    int rowi = 4;
    for (Entry<Actor, ExtendExecData> entry : aMap.entrySet()) {
        Actor actor = entry.getKey();
        ExtendExecData exec = entry.getValue();

        row = sheet.createRow(rowi);
        rowi++;

        row.createCell(0).setCellValue(actor.getId());
        row.createCell(1).setCellValue(actor.getActorClass().getName());
        cell = row.createCell(2);
        cell.setCellFormula("D" + rowi + "/Summary!A14*100");
        row.createCell(3).setCellValue(exec.getTotalExec().getExecutions());
        cell = row.createCell(4);
        cell.setCellFormula("F" + rowi + "/Summary!B14*100");
        row.createCell(5).setCellValue(exec.getTotalExec().getClockCyclesMean());
        row.createCell(6).setCellValue(exec.getTotalExec().getClockCyclesVariance());
        cell = row.createCell(7);
        cell.setCellFormula("I" + rowi + "/Summary!E14*100");
        row.createCell(8).setCellValue(exec.getNotDeferrableExec().getExecutions());
        cell = row.createCell(9);
        cell.setCellFormula("K" + rowi + "/Summary!G14*100");
        row.createCell(10).setCellValue(exec.getNotDeferrableExec().getClockCyclesMean());
        row.createCell(11).setCellValue(exec.getNotDeferrableExec().getClockCyclesVariance());
        cell = row.createCell(12);
        cell.setCellFormula("N" + rowi + "/Summary!J14*100");
        row.createCell(13).setCellValue(exec.getCriticalExec().getExecutions());
        cell = row.createCell(14);
        cell.setCellFormula("P" + rowi + "/Summary!L14*100");
        row.createCell(15).setCellValue(exec.getCriticalExec().getClockCyclesMean());
        row.createCell(16).setCellValue(exec.getCriticalExec().getClockCyclesVariance());

    }

}

From source file:co.turnus.analysis.data.bottlenecks.io.XlsAlgoBottlenecksDataWriter.java

License:Open Source License

private void writeImpactAnalysis(HSSFWorkbook workbook, ImpactData impact) {
    HSSFSheet sheet = workbook.createSheet("Impact Analysis");

    // Impact Analysis Results
    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString("Impact analysis");
    title.applyFont(titleFont);
    cell.setCellValue(title);//from   ww  w  .  j  a  v  a 2 s .com

    int colli = 0;
    Map<Integer, Row> rowsMap = new HashMap<Integer, Row>();
    for (ActionImpactData step : impact.getActionsData()) {
        // action row
        Row row = rowsMap.get(1);
        if (row == null) {
            row = sheet.createRow(1);
            rowsMap.put(1, row);
        }
        row.createCell(colli).setCellValue("Action");
        row.createCell(colli + 1).setCellValue(step.getAction().getId());

        // actor or actor class row
        row = rowsMap.get(2);
        if (row == null) {
            row = sheet.createRow(2);
            rowsMap.put(2, row);
        }
        if (impact.isActorsLevel()) {
            row.createCell(colli).setCellValue("Actor");
            row.createCell(colli + 1).setCellValue(step.getActors().get(0).getId());
        } else {
            row.createCell(colli).setCellValue("ActorClass");
            row.createCell(colli + 1).setCellValue(step.getActors().get(0).getActorClass().getName());
        }

        // reductions row
        row = rowsMap.get(3);
        if (row == null) {
            row = sheet.createRow(3);
            rowsMap.put(3, row);
        }
        row.createCell(colli).setCellValue("WL reduction");
        row.createCell(colli + 1).setCellValue("CP WL reduction");
        for (int i = 0; i < step.getCplReduction().size(); i++) {
            double wl = step.getWlReduction().get(i);
            double cp = step.getCplReduction().get(i);
            row = rowsMap.get(4 + i);
            if (row == null) {
                row = sheet.createRow(4 + i);
                rowsMap.put(4 + i, row);
            }
            row.createCell(colli).setCellValue(wl);
            row.createCell(colli + 1).setCellValue(cp);
        }

        colli += 2;
    }

}

From source file:co.turnus.analysis.data.bottlenecks.io.XlsAlgoBottlenecksDataWriter.java

License:Open Source License

private void writeSummary(HSSFWorkbook workbook, Network network, HotspotsDataAnalyser analyzer) {
    HSSFSheet sheet = workbook.createSheet("Summary");

    // Network Results
    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString("Hotspots and Algorithmic Bottlenecks Report Summary");
    title.applyFont(titleFont);
    cell.setCellValue(title);//w  ww  . j a  v  a 2 s  .c o m

    // network name
    Row row = sheet.createRow(2);
    row.createCell(0).setCellValue("Network");
    row.createCell(1).setCellValue(network.getName());

    // network cal project
    row = sheet.createRow(3);
    row.createCell(0).setCellValue("CAL Project");
    row.createCell(1).setCellValue(network.getCalProject());

    // network source file
    row = sheet.createRow(4);
    row.createCell(0).setCellValue("Source File");
    row.createCell(1).setCellValue(network.getSourceFile());

    // network version
    sheet.addMergedRegion(new CellRangeAddress(5, 7, 0, 0));
    row = sheet.createRow(5);
    row.createCell(0).setCellValue("Version");
    row.createCell(1).setCellValue("Id");
    row.createCell(2).setCellValue(network.getVersion().getId());
    row = sheet.createRow(6);
    row.createCell(1).setCellValue("Last Modification Date");
    cell = row.createCell(2);
    cell.setCellValue(network.getVersion().getLastModificationDate());
    cell.setCellStyle(cellStyle);
    row = sheet.createRow(7);
    row.createCell(1).setCellValue("Versioning Date");
    cell = row.createCell(2);
    cell.setCellValue(network.getVersion().getVersioningDate());
    cell.setCellStyle(cellStyle);

    // [total | non deferrable | critical]
    row = sheet.createRow(10);
    sheet.addMergedRegion(new CellRangeAddress(10, 10, 0, 2));
    cell = row.createCell(0);
    cell.setCellValue("Total Executions");

    sheet.addMergedRegion(new CellRangeAddress(10, 10, 3, 7));
    cell = row.createCell(3);
    cell.setCellValue("Non Deferrable Executions");

    sheet.addMergedRegion(new CellRangeAddress(10, 10, 8, 12));
    cell = row.createCell(8);
    cell.setCellValue("Critical Executions");

    // [Executions | Workload | slack || Executions | workload || Executions
    // | workload ]
    row = sheet.createRow(11);
    sheet.addMergedRegion(new CellRangeAddress(11, 12, 0, 0));
    cell = row.createCell(0);
    cell.setCellValue("Executions");

    sheet.addMergedRegion(new CellRangeAddress(11, 11, 1, 2));
    cell = row.createCell(1);
    cell.setCellValue("Clock Cycles");

    sheet.addMergedRegion(new CellRangeAddress(11, 11, 3, 4));
    cell = row.createCell(3);
    cell.setCellValue("Executions");

    sheet.addMergedRegion(new CellRangeAddress(11, 11, 5, 7));
    cell = row.createCell(5);
    cell.setCellValue("Clock Cycles");

    sheet.addMergedRegion(new CellRangeAddress(11, 11, 8, 9));
    cell = row.createCell(8);
    cell.setCellValue("Executions");

    sheet.addMergedRegion(new CellRangeAddress(11, 11, 10, 12));
    cell = row.createCell(10);
    cell.setCellValue("Clock Cycles");

    // [* | mean , variance, % ... ]
    row = sheet.createRow(12);
    row.createCell(1).setCellValue("mean");
    row.createCell(2).setCellValue("variance");
    row.createCell(3).setCellValue("%");
    row.createCell(4).setCellValue("abs");
    row.createCell(5).setCellValue("%");
    row.createCell(6).setCellValue("mean");
    row.createCell(7).setCellValue("variance");
    row.createCell(8).setCellValue("%");
    row.createCell(9).setCellValue("abs");
    row.createCell(10).setCellValue("%");
    row.createCell(11).setCellValue("mean");
    row.createCell(12).setCellValue("variance");

    // write down data
    ExtendExecData sumData = analyzer.getSumData();
    row = sheet.createRow(13);

    row.createCell(0).setCellValue(sumData.getTotalExec().getExecutions());
    row.createCell(1).setCellValue(sumData.getTotalExec().getClockCyclesMean());
    row.createCell(2).setCellValue(sumData.getTotalExec().getClockCyclesVariance());
    cell = row.createCell(3);
    cell.setCellFormula("E14/A14*100");
    row.createCell(4).setCellValue(sumData.getNotDeferrableExec().getExecutions());
    cell = row.createCell(5);
    cell.setCellFormula("G14/B14*100");
    row.createCell(6).setCellValue(sumData.getNotDeferrableExec().getClockCyclesMean());
    row.createCell(7).setCellValue(sumData.getNotDeferrableExec().getClockCyclesVariance());
    cell = row.createCell(8);
    cell.setCellFormula("J14/A14*100");
    row.createCell(9).setCellValue(sumData.getCriticalExec().getExecutions());
    cell = row.createCell(10);
    cell.setCellFormula("L14/B14*100");
    row.createCell(11).setCellValue(sumData.getCriticalExec().getClockCyclesMean());
    row.createCell(12).setCellValue(sumData.getCriticalExec().getClockCyclesVariance());
}

From source file:co.turnus.analysis.data.buffers.io.XlsBufferMinimizationDataWriter.java

License:Open Source License

private void writeData(HSSFWorkbook workbook, BuffersData data, Network netork, String algorithm,
        int solutionId) {
    HSSFSheet sheet = workbook.createSheet("Solution " + solutionId);

    Cell cell = sheet.createRow(0).createCell(0);
    HSSFRichTextString title = new HSSFRichTextString(algorithm + " Results");
    title.applyFont(titleFont);
    cell.setCellValue(title);//from   www .  ja v a 2s .  c  o m

    Row row = sheet.createRow(3);
    sheet.addMergedRegion(new CellRangeAddress(3, 3, 0, 3));
    row.createCell(0).setCellValue("Algorithm specific Parameters");
    row = sheet.createRow(4);
    int cellNum = 0;
    for (String attrName : data.getKeyAttributes()) {
        row.createCell(cellNum++).setCellValue(attrName);
        Object val = data.getAttribute(attrName);
        row.createCell(cellNum++).setCellValue(val.toString());
    }

    row = sheet.createRow(1);
    sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 5));
    row.createCell(0).setCellValue("Generic Parameters");
    row = sheet.createRow(2);
    row.createCell(0).setCellValue("Total bits");
    row.createCell(1).setCellValue(data.getTotalBitSize());
    row.createCell(2).setCellValue("Total Tokens");
    row.createCell(3).setCellValue(data.getTotalTokenSize());
    row.createCell(4).setCellValue("Solution Time (ms)");
    row.createCell(5).setCellValue(data.getExecutionTime());
    row.createCell(6).setCellValue("number of Actors");
    row.createCell(7).setCellValue(netork.getActors().size());
    row.createCell(8).setCellValue("number of Fifos");
    row.createCell(9).setCellValue(netork.getFifos().size());
    row.createCell(10).setCellValue("bit accurate");
    row.createCell(11).setCellValue(data.isBitAccurate());
    row.createCell(12).setCellValue("deadlock free");
    row.createCell(13).setCellValue(data.isDeadlockFree());

    row = sheet.createRow(5);
    sheet.addMergedRegion(new CellRangeAddress(5, 5, 0, 6));
    row.createCell(0).setCellValue("Buffers Size Configuration");
    row = sheet.createRow(6);
    sheet.addMergedRegion(new CellRangeAddress(6, 7, 0, 0));
    row.createCell(0).setCellValue("Source Actor");
    sheet.addMergedRegion(new CellRangeAddress(6, 7, 1, 1));
    row.createCell(1).setCellValue("Source Port");
    sheet.addMergedRegion(new CellRangeAddress(6, 7, 2, 2));
    row.createCell(2).setCellValue("Traget Actor");
    sheet.addMergedRegion(new CellRangeAddress(6, 7, 3, 4));
    row.createCell(3).setCellValue("Traget Port");
    sheet.addMergedRegion(new CellRangeAddress(6, 7, 4, 4));
    row.createCell(4).setCellValue("Type");
    sheet.addMergedRegion(new CellRangeAddress(6, 6, 5, 6));
    row.createCell(5).setCellValue("Size");
    sheet.addMergedRegion(new CellRangeAddress(6, 6, 8, 9));
    row.createCell(8).setCellValue("Algorithm Starting Point");
    row = sheet.createRow(7);
    row.createCell(5).setCellValue("bit");
    row.createCell(6).setCellValue("tokens");
    row.createCell(8).setCellValue("bit");
    row.createCell(9).setCellValue("tokens");

    int rowi = 8;
    for (Entry<Fifo, Integer> entry : data.getFifosSize().getFifosSizeMap().entrySet()) {
        Fifo fifo = entry.getKey();
        int tokens = entry.getValue();

        row = sheet.createRow(rowi++);
        row.createCell(0).setCellValue(fifo.getSourceActor().getId());
        row.createCell(1).setCellValue(fifo.getSourcePort().getName());
        row.createCell(2).setCellValue(fifo.getTargetActor().getId());
        row.createCell(3).setCellValue(fifo.getTargetPort().getName());
        row.createCell(4).setCellValue(fifo.getType().toString());
        row.createCell(5).setCellValue(tokens * fifo.getType().getBits());
        row.createCell(6).setCellValue(tokens);

        // do the same for the starting point (if it exists)
        tokens = data.getStartingPoint().containsKey(fifo) ? data.getStartingPoint().get(fifo) : 0;
        row.createCell(8).setCellValue(tokens * fifo.getType().getBits());
        row.createCell(9).setCellValue(tokens);
    }

}