Example usage for com.lowagie.text Table Table

List of usage examples for com.lowagie.text Table Table

Introduction

In this page you can find the example usage for com.lowagie.text Table Table.

Prototype

public Table(Table t) 

Source Link

Document

Copy constructor (shallow copy).

Usage

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set the summary - IFX proposal//from  w  w  w  .  j a  v a  2s. c  om
 * 
 * @param document
 * @throws Exception
 */
private void setSummary(Document document) throws Exception {
    if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX) && name == null) {
        document.add(new Paragraph(" "));
        document.add(new Paragraph("Summary:", FONT_TITLE));
        document.add(new Paragraph(" "));

        int NumColumnsCC = 2;
        Table tableCC = new Table(NumColumnsCC);
        int headerwidthsCC[] = { 30, 15 }; // percentage
        tableCC.setWidths(headerwidthsCC);

        tableCC.setWidth(50); // percentage
        tableCC.setPadding(3);
        tableCC.setCellsFitPage(true);
        tableCC.getDefaultCell().setBorderWidth(1);
        tableCC.getDefaultCell().setGrayFill(GREY_FILL_HEADER);
        tableCC.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        tableCC.addCell(new Paragraph("Crystal class", FONT_DOC_BOLD));
        tableCC.addCell(new Paragraph("Number of crystals", FONT_DOC_BOLD));
        tableCC.getDefaultCell().setGrayFill(GREY_FILL_DATA);

        int nbCC = listOfCrystalClass.size();
        for (int cc = 0; cc < nbCC; cc++) {
            if (listOfNbCrystalPerClass.get(cc) > 0) {
                tableCC.addCell(new Paragraph(listOfCrystalClass.get(cc).getCrystalClassName() + " ("
                        + listOfCrystalClass.get(cc).getCrystalClassCode() + ")", FONT_DOC));
                tableCC.addCell(new Paragraph(listOfNbCrystalPerClass.get(cc).toString(), FONT_DOC));
            }
            LOG.debug("classe " + listOfCrystalClass.get(cc).getCrystalClassCode() + ": "
                    + listOfNbCrystalPerClass.get(cc).toString());
        }

        document.add(tableCC);

        // total
        // int nbPuckScreen = nbCrystal3;
        // int nbTotal = nbCrystal1 + nbCrystal2 + nbCrystalT;
        int nbPuckScreen = listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "PS"));
        // nbTotal = C+CR+T+SC+SCR
        int nbTotal = listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "C"))
                + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "SC"))
                + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "T"))
                + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "CR"))
                + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "SCR"));
        document.add(new Paragraph(" "));
        document.add(new Paragraph("Total number of tests: " + new String(new Integer(nbTotal).toString()),
                FONT_DOC));
        document.add(new Paragraph("Nb of puck screens: " + new String(new Integer(nbPuckScreen).toString()),
                FONT_DOC));
        document.add(new Paragraph(
                "Total number of samples: " + new String(new Integer(nbTotal + (nbPuckScreen * 10)).toString()),
                FONT_DOC));
    }
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * export detailed dataCollection//from   www. j av a  2  s . c  o m
 * 
 * @return
 * @throws Exception
 */
public ByteArrayOutputStream exportScreeningAsPDF(boolean rtfFormat, HttpServletRequest mRequest)
        throws Exception {
    // create simple doc and write to a ByteArrayOutputStream
    Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    if (!rtfFormat) {
        PdfWriter.getInstance(document, baos);
    } else {
        RtfWriter2.getInstance(document, baos);
    }

    // =============================
    // Header + footer
    // =============================

    setHeader(document);
    setFooter(document);
    document.open();

    // ===============================
    // Body
    // ===============================
    // Session comments
    setSessionComments(document);
    document.add(new Paragraph(" "));
    if (dataCollectionList.isEmpty()) {
        document.add(new Paragraph("There is no data collection in this report", PdfRtfExporter.FONT_DOC));
    } else {
        Iterator<DataCollection3VO> it = dataCollectionList.iterator();
        Session3Service sessionService = (Session3Service) ejb3ServiceLocator
                .getLocalService(Session3Service.class);
        AutoProc3VO[] autoProcs = wrapper.getAutoProcs();
        AutoProcScalingStatistics3VO[] autoProcsOverall = wrapper.getScalingStatsOverall();
        AutoProcScalingStatistics3VO[] autoProcsInner = wrapper.getScalingStatsInner();
        AutoProcScalingStatistics3VO[] autoProcsOuter = wrapper.getScalingStatsOuter();
        int i = 0;
        // int mNbDataCollectionOnPage = 0;
        boolean firstPage = true;
        while (it.hasNext()) {
            if (firstPage) {
                firstPage = false;
            } else {
                document.newPage();
            }
            DataCollection3VO dcValue = it.next();
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dcValue,
                    getSampleRankingVO(dcValue.getDataCollectionId()),
                    getAutoProcRankingVO(dcValue.getDataCollectionId()));
            // dataCollection general info: Date, screen/Collect, indexing
            // status
            setDataCollectionGeneralInfo(document, dcValue, dcInfo);
            Table table = new Table(NB_COL_DATACOLLECTION);
            table.setCellsFitPage(true);
            // dataCollection table - one row
            table = setDataCollectionHeader(document, table, true);
            setDataCollectionData(document, table, dcValue, sessionService, autoProcs[i], autoProcsOverall[i],
                    autoProcsInner[i], autoProcsOuter[i], true, false, null, null);
            document.add(table);
            i++;
            document.add(new Paragraph(" ", VERY_SMALL_FONT));
            // Images
            setImagesTable(document, dcInfo);
            setEDNATable(document, dcInfo);
            setStrategyTable(document, dcInfo);
            // End of the page?
            // mNbDataCollectionOnPage++;
            // if (mNbDataCollectionOnPage ==
            // NB_DATA_COLLECTION_PER_PAGE){// New Page
            // document.newPage();
            // mNbDataCollectionOnPage = 0;
            // } else{ // Same Page
            // document.add(new Paragraph(" ", VERY_SMALL_FONT));
            // }
        }
    }

    // ======================
    // End of file
    // ======================
    document.close();
    return baos;
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set a table for a sessionDataObject//  ww  w  .  java  2 s  .  c o  m
 * 
 * @param document
 * @param sessionDataObject
 * @param mRequest
 */
private void setDetailSessionObjectTable(Document document, SessionDataObjectInformation sessionDataObject,
        HttpServletRequest mRequest) {
    try {
        int nbCol = 6;
        int nbRows = 5;
        List<Param> listParam = sessionDataObject.getListParameters();
        int idParam = 0;
        int nbParam = listParam.size();
        nbRows = Math.max(nbRows, nbParam);
        boolean secondGraph = sessionDataObject.getGraph2Path() != null
                && !sessionDataObject.getGraph2Path().isEmpty();
        if (secondGraph)
            nbCol += 1;

        Table table = new Table(nbCol);

        int l = 0;

        int[] headersWidth = new int[nbCol];

        headersWidth[l++] = 10; // def
        headersWidth[l++] = 6; // parameters title
        headersWidth[l++] = 6; // parameters value
        headersWidth[l++] = 12; // Thumbnail
        headersWidth[l++] = 12; // Snapshot
        headersWidth[l++] = 22; // Graph
        if (secondGraph)
            headersWidth[l++] = 22; // Graph2
        table.setWidths(headersWidth);

        table.setWidth(100); // percentage
        table.setPadding(1);
        table.setCellsFitPage(true);
        table.setTableFitsPage(true);
        table.setBorderWidth(1);
        table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        // no header
        // first Row
        // firstCell: def : date
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        String collectTime = formatter.format(sessionDataObject.getDataTime());
        Cell c = getCellValue(collectTime);
        c.setBorderWidthBottom(0);
        table.addCell(c);
        // second Cell param
        setCellParam(table, listParam, idParam++, 1);
        // third Cell : thumbnail
        Cell cellThumbnail = getCellImage(sessionDataObject.getImageThumbnailPath());
        cellThumbnail.setRowspan(nbRows);
        cellThumbnail.setBorderWidth(0);
        table.addCell(cellThumbnail);
        // 4 Cell : snapshot
        Cell cellSnapshot = getCellImage(sessionDataObject.getCrystalSnapshotPath());
        cellSnapshot.setRowspan(nbRows);
        cellSnapshot.setBorderWidth(0);
        table.addCell(cellSnapshot);
        // 5 Cell : graph
        Cell cellGraph = getCellGraph(sessionDataObject);
        cellGraph.setRowspan(nbRows);
        cellGraph.setBorderWidth(0);
        table.addCell(cellGraph);
        // 6 Cell : graph2
        if (secondGraph) {
            Cell cellGraph2 = getCellImage(sessionDataObject.getGraph2Path());
            cellGraph2.setRowspan(nbRows);
            cellGraph2.setBorderWidth(0);
            table.addCell(cellGraph2);
        }

        // second row
        Cell c2 = getCellValue(sessionDataObject.getImagePrefix() + " " + sessionDataObject.getRunNumber());
        c2.setBorderWidth(0);
        table.addCell(c2);
        // param2
        setCellParam(table, listParam, idParam++, 1);

        // third row
        Cell c3 = getCellValue(sessionDataObject.getExperimentType());
        c3.setBorderWidth(0);
        table.addCell(c3);
        // param3
        setCellParam(table, listParam, idParam++, 1);

        // 4 row
        Cell c4 = getCellValue(sessionDataObject.getSampleNameProtein());
        c4.setBorderWidth(0);
        table.addCell(c4);
        // param4
        setCellParam(table, listParam, idParam++, 1);

        // 5 row
        Cell c5 = new Cell();
        c5.setHorizontalAlignment(Element.ALIGN_LEFT);
        c5.add(new Paragraph(sessionDataObject.getComments(), FONT_DOC_ITALIC));
        c5.setBorderWidth(0);
        c5.setRowspan(nbRows - 4);
        table.addCell(c5);
        // param4
        setCellParam(table, listParam, idParam++, 1);

        for (int i = 5; i < nbRows; i++) {
            setCellParam(table, listParam, idParam++, 1);
        }

        // results
        // workflow result status
        if (sessionDataObject.isWorkflow()) {
            Cell resultCell = getWorkflowResult(sessionDataObject.getWorkflow(), mRequest);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            resultCell.setColspan(nbCol);
            table.addCell(resultCell);
        }
        // collect OSC
        if ((sessionDataObject.isDataCollection()
                && !sessionDataObject.getDataCollection().getDataCollectionGroupVO().getExperimentType()
                        .equals(Constants.EXPERIMENT_TYPE_CHARACTERIZATION))) {
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollection3VO dataCollection = sessionDataObject.getDataCollection();
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection,
                    getSampleRankingVO(dataCollection.getDataCollectionId()),
                    getAutoProcRankingVO(dataCollection.getDataCollectionId()));
            Cell resultCell = getAutoProcResultStatus(dcInfo);
            resultCell.setColspan(nbCol);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(resultCell);
            document.add(table);
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            setAutoProcResultsTable(document, dcInfo);
        } else if (sessionDataObject.isWorkflow() && sessionDataObject.getWorkflow().isMXPressEOIA()) { // MXPRESS
            // wf
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollection3VO dataCollection = sessionDataObject.getListDataCollection().get(0);
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection,
                    getSampleRankingVO(dataCollection.getDataCollectionId()),
                    getAutoProcRankingVO(dataCollection.getDataCollectionId()));
            Cell resultCell = getAutoProcResultStatus(dcInfo);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            resultCell.setColspan(nbCol);
            table.addCell(resultCell);

            document.add(table);
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            setAutoProcResultsTable(document, dcInfo);
        } else if ((sessionDataObject.isDataCollection()
                && sessionDataObject.getDataCollection().getDataCollectionGroupVO().getExperimentType()
                        .equals(Constants.EXPERIMENT_TYPE_CHARACTERIZATION))) { // Characterization
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollection3VO dataCollection = sessionDataObject.getDataCollection();
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection,
                    getSampleRankingVO(dataCollection.getDataCollectionId()),
                    getAutoProcRankingVO(dataCollection.getDataCollectionId()));
            Cell resultCell = getCharacterizationResultStatus(dcInfo, mRequest);
            resultCell.setColspan(nbCol);
            resultCell.setHorizontalAlignment(Element.ALIGN_LEFT);
            table.addCell(resultCell);
            document.add(table);
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            setStrategyTable2(document, dcInfo);
        } else {
            List<Param> listResults = sessionDataObject.getListResults();
            if (listResults != null) {
                int nbResults = listResults.size();
                for (int j = 0; j < nbResults; j++) {
                    setCellParam(table, listResults, j, 2);
                    Cell eCell = getEmptyCell(nbCol - 3);
                    eCell.setBorderWidth(0);
                    table.addCell(eCell);
                }
            }
            document.add(table);
            document.add(new Paragraph(" ", FONT_SPACE));
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * export ranking dataCollection/*from   w w w.jav  a2 s. com*/
 * 
 * @return
 * @throws Exception
 */
public ByteArrayOutputStream exportRankingAsPDF(boolean rtfFormat, HttpServletRequest mRequest)
        throws Exception {
    // create simple doc and write to a ByteArrayOutputStream
    Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20);
    // Document document = new Document(PageSize.A4);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    if (!rtfFormat) {
        PdfWriter.getInstance(document, baos);
    } else {
        RtfWriter2.getInstance(document, baos);
    }

    // =============================
    // Header + footer
    // =============================

    setHeader(document);
    setFooter(document);
    document.open();

    // ===============================
    // Body
    // ===============================
    // Session comments
    setSessionComments(document);
    document.add(new Paragraph(" "));
    if (dataCollectionList.isEmpty()) {
        document.add(new Paragraph("There is no data collection in this report", PdfRtfExporter.FONT_DOC));
    } else {
        Iterator<DataCollection3VO> it = dataCollectionList.iterator();
        Session3Service sessionService = (Session3Service) ejb3ServiceLocator
                .getLocalService(Session3Service.class);
        AutoProc3VO[] autoProcs = wrapper.getAutoProcs();
        AutoProcScalingStatistics3VO[] autoProcsOverall = wrapper.getScalingStatsOverall();
        AutoProcScalingStatistics3VO[] autoProcsInner = wrapper.getScalingStatsInner();
        AutoProcScalingStatistics3VO[] autoProcsOuter = wrapper.getScalingStatsOuter();
        int i = 0;
        boolean firstPage = true;
        while (it.hasNext()) {
            if (firstPage) {
                firstPage = false;
            } else {
                document.newPage();
            }
            DataCollection3VO dcValue = it.next();
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dcValue,
                    getSampleRankingVO(dcValue.getDataCollectionId()),
                    getAutoProcRankingVO(dcValue.getDataCollectionId()));
            // dataCollection general info: Date, screen/Collect, indexing
            // status
            setDataCollectionGeneralInfo(document, dcValue, dcInfo);
            Table table = new Table(NB_COL_DATACOLLECTION);
            table.setCellsFitPage(true);
            // dataCollection table - one row
            table = setDataCollectionHeader(document, table, false);
            setDataCollectionData(document, table, dcValue, sessionService, autoProcs[i], autoProcsOverall[i],
                    autoProcsInner[i], autoProcsOuter[i], false, false, null, null);
            document.add(table);
            i++;
            document.add(new Paragraph(" ", VERY_SMALL_FONT));
            setRankingTable(document, dcInfo);
            // Images
            setImagesTable(document, dcInfo);
            setEDNATable(document, dcInfo);
            setStrategyTable(document, dcInfo);
        }
    }

    // ======================
    // End of file
    // ======================
    document.close();
    return baos;
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * export auto proc ranking dataCollection
 * /*from  w  w w  . j a  v a  2 s. c o m*/
 * @return
 * @throws Exception
 */
public ByteArrayOutputStream exportAutoProcRankingAsPDF(boolean rtfFormat, HttpServletRequest mRequest)
        throws Exception {
    // create simple doc and write to a ByteArrayOutputStream
    Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20);
    // Document document = new Document(PageSize.A4);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    if (!rtfFormat) {
        PdfWriter.getInstance(document, baos);
    } else {
        RtfWriter2.getInstance(document, baos);
    }

    // =============================
    // Header + footer
    // =============================

    setHeader(document);
    setFooter(document);
    document.open();

    // ===============================
    // Body
    // ===============================
    // Session comments
    setSessionComments(document);
    document.add(new Paragraph(" "));
    if (dataCollectionList.isEmpty()) {
        document.add(new Paragraph("There is no data collection in this report", PdfRtfExporter.FONT_DOC));
    } else {
        Iterator<DataCollection3VO> it = dataCollectionList.iterator();
        Session3Service sessionService = (Session3Service) ejb3ServiceLocator
                .getLocalService(Session3Service.class);
        AutoProc3VO[] autoProcs = wrapper.getAutoProcs();
        AutoProcScalingStatistics3VO[] autoProcsOverall = wrapper.getScalingStatsOverall();
        AutoProcScalingStatistics3VO[] autoProcsInner = wrapper.getScalingStatsInner();
        AutoProcScalingStatistics3VO[] autoProcsOuter = wrapper.getScalingStatsOuter();
        int i = 0;
        boolean firstPage = true;
        while (it.hasNext()) {
            if (firstPage) {
                firstPage = false;
            } else {
                document.newPage();
            }
            DataCollection3VO dcValue = it.next();
            DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode,
                    proposalNumber, mRequest);
            DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dcValue,
                    getSampleRankingVO(dcValue.getDataCollectionId()),
                    getAutoProcRankingVO(dcValue.getDataCollectionId()));
            // dataCollection general info: Date, screen/Collect, indexing
            // status
            setDataCollectionGeneralInfo(document, dcValue, dcInfo);
            Table table = new Table(NB_COL_DATACOLLECTION);
            table.setCellsFitPage(true);
            // dataCollection table - one row
            table = setDataCollectionHeader(document, table, false);
            setDataCollectionData(document, table, dcValue, sessionService, autoProcs[i], autoProcsOverall[i],
                    autoProcsInner[i], autoProcsOuter[i], false, false, null, null);
            document.add(table);
            i++;
            document.add(new Paragraph(" ", VERY_SMALL_FONT));
            setAutoProcRankingTable(document, dcInfo);
            // Images
            setImagesTable(document, dcInfo);
            setEDNATable(document, dcInfo);
            setStrategyTable(document, dcInfo);
        }
    }

    // ======================
    // End of file
    // ======================
    document.close();
    return baos;
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * sets the date and if it is a SCREEN or a COLLECT and indexing status
 * //ww w  .j  a v a 2  s  .c  o m
 * @param document
 * @param dcValue
 * @param date
 * @throws Exception
 */
private void setDataCollectionGeneralInfo(Document document, DataCollection3VO dcValue,
        DataCollectionInformation dcInfo) throws Exception {
    String collect = "Collect";
    if (DataCollectionExporter.isDataCollectionScreening(dcValue)) {
        collect = "Screen";
    }
    String date = dcInfo.getDataCollectionDate();
    String screeningSuccess = dcInfo.getScreeningSuccess();
    String screeningFailure = dcInfo.getScreeningFailure();
    String screeningNotDone = dcInfo.getScreeningNotDone();
    Table aTable = new Table(3);
    aTable.setWidth(100); // percentage
    aTable.setPadding(3);
    aTable.setCellsFitPage(true);
    aTable.getDefaultCell().setBorderWidth(0);
    aTable.setBorderWidth(0);
    aTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT);
    aTable.addCell(new Paragraph(date, FONT_DOC));
    aTable.addCell(new Paragraph(collect, FONT_DOC));
    // no indexing availabe
    if (screeningNotDone != null && !screeningNotDone.equals("")) {
        aTable.addCell(new Paragraph(screeningNotDone, FONT_INDEXING_NOTDONE));
    } else if (screeningFailure != null && !screeningFailure.equals("")) { // indexing
        // failed
        aTable.addCell(new Paragraph(screeningFailure, FONT_INDEXING_FAILED));
    } else if (screeningSuccess != null && !screeningSuccess.equals("")) { // indexing
        // successful
        aTable.addCell(new Paragraph(screeningSuccess, FONT_INDEXING_SUCCESS));
    } else {
        aTable.addCell(new Paragraph(" "));
    }
    document.add(aTable);
    document.add(new Paragraph(" ", VERY_SMALL_FONT));
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set the EDNA Table//from w  ww . ja v  a 2s  .co  m
 * 
 * @param document
 * @param dcInfo
 * @throws Exception
 */
private void setEDNATable(Document document, DataCollectionInformation dcInfo) throws Exception {
    if (dcInfo.getSpacegroup() != "") {
        int noCol = 4;
        Table tableEDNA = new Table(noCol);
        int headerEDNA[] = { 10, 10, 10, 10 }; // percentage
        tableEDNA.setWidths(headerEDNA);
        tableEDNA.setWidth(70); // percentage
        tableEDNA.setPadding(3);
        tableEDNA.setCellsFitPage(true);
        tableEDNA.setTableFitsPage(true);
        // tableEDNA.getDefaultCell().setBorderWidth(1);
        tableEDNA.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        // EDNA Header
        tableEDNA.getDefaultCell().setBackgroundColor(BLUE_COLOR);
        tableEDNA.addCell(new Paragraph("Space Group", FONT_DOC_BOLD));
        tableEDNA.addCell(new Paragraph("Unit Cell", FONT_DOC_BOLD));
        tableEDNA.addCell(new Paragraph("Mosaicity\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD));
        tableEDNA.addCell(new Paragraph("Ranking Resolution\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD));
        tableEDNA.getDefaultCell().setBorderWidth(1);
        tableEDNA.getDefaultCell().setBackgroundColor(WHITE_COLOR);
        // EDNA data
        String unitCell = dcInfo.getCellA() + " (" + dcInfo.getCellAlpha() + ")\n" + dcInfo.getCellB() + " ("
                + dcInfo.getCellBeta() + ")\n" + dcInfo.getCellC() + " (" + dcInfo.getCellGamma() + ")";

        tableEDNA.addCell(new Paragraph(dcInfo.getSpacegroup(), FONT_DOC));
        tableEDNA.addCell(new Paragraph(unitCell, FONT_DOC));
        tableEDNA.addCell(new Paragraph(dcInfo.getMosaicity(), FONT_DOC));
        tableEDNA.addCell(new Paragraph(dcInfo.getResObserved(), FONT_DOC));
        //

        document.add(tableEDNA);
        document.add(new Paragraph(" ", VERY_SMALL_FONT));
    }
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

private void setEDNATable2(Document document, DataCollectionInformation dcInfo) throws Exception {
    if (dcInfo.getSpacegroup() != "") {
        int noCol = 4;
        Table tableEDNA = new Table(noCol);
        int headerEDNA[] = { 10, 10, 10, 10 }; // percentage
        tableEDNA.setWidths(headerEDNA);
        tableEDNA.setWidth(100); // percentage
        tableEDNA.setPadding(3);/* ww w . ja v a 2  s  . c o m*/
        tableEDNA.setCellsFitPage(true);
        tableEDNA.setTableFitsPage(true);
        // tableEDNA.getDefaultCell().setBorderWidth(1);
        tableEDNA.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        // EDNA Header
        tableEDNA.getDefaultCell().setGrayFill(GREY_FILL_HEADER);
        tableEDNA.addCell(new Paragraph("Space Group", FONT_DOC_BOLD));
        tableEDNA.addCell(new Paragraph("Unit Cell (a, b, c, alpha, beta, gamma)", FONT_DOC_BOLD));
        tableEDNA.addCell(new Paragraph("Mosaicity (" + Constants.DEGREE + ")", FONT_DOC_BOLD));
        tableEDNA.addCell(new Paragraph("Ranking Resolution (" + Constants.ANGSTROM + ")", FONT_DOC_BOLD));
        tableEDNA.getDefaultCell().setBorderWidth(1);
        tableEDNA.getDefaultCell().setBackgroundColor(WHITE_COLOR);
        // EDNA data
        String unitCell = dcInfo.getCellA() + ", " + dcInfo.getCellB() + ", " + dcInfo.getCellC() + "\n"
                + dcInfo.getCellAlpha() + ", " + dcInfo.getCellBeta() + ", " + dcInfo.getCellGamma();
        tableEDNA.addCell(new Paragraph(dcInfo.getSpacegroup(), FONT_DOC));
        tableEDNA.addCell(new Paragraph(unitCell, FONT_DOC));
        tableEDNA.addCell(new Paragraph(dcInfo.getMosaicity(), FONT_DOC));
        tableEDNA.addCell(new Paragraph(dcInfo.getResObserved(), FONT_DOC));
        //

        document.add(tableEDNA);
        document.add(new Paragraph(" ", VERY_SMALL_FONT));
    }
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

private void setImagesTable(Document document, DataCollectionInformation dcInfo) throws Exception {
    String imgCrystal = dcInfo.getPathjpgCrystal();
    String imgDiff1 = dcInfo.getPathDiffractionImg1();
    String imgDiff2 = dcInfo.getPathDiffractionImg2();
    int nbCol = 0;
    if (imgCrystal != null && !imgCrystal.equals("")) {
        nbCol++;/* w  ww  . j  av  a 2 s .c  om*/
    }
    if (imgDiff1 != null && !imgDiff1.equals("")) {
        nbCol++;
    }
    if (imgDiff2 != null && !imgDiff2.equals("")) {
        nbCol++;
    }
    if (nbCol > 0) {
        Table tableImage = new Table(nbCol);
        tableImage.setCellsFitPage(true);
        tableImage.setWidth(100); // percentage
        tableImage.getDefaultCell().setBorderWidth(0);
        tableImage.setBorderWidth(0);
        tableImage.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
        // ------------------------------------- Insert crystal image
        // ----------------------------
        if (imgCrystal != null && !imgCrystal.equals("")) {
            try {
                Image jpgCrystal = Image.getInstance(imgCrystal);
                jpgCrystal.scaleAbsolute(CRYSTAL_IMAGE_WIDTH, CRYSTAL_IMAGE_HEIGHT);
                Cell cellCrystalImage = new Cell(jpgCrystal);
                cellCrystalImage.setLeading(0);
                cellCrystalImage.setBorderWidth(0);
                cellCrystalImage.setHorizontalAlignment(Element.ALIGN_CENTER);
                tableImage.addCell(cellCrystalImage);
            } catch (IOException e) {
                tableImage.addCell(new Paragraph(imgCrystal + " not found", FONT_DOC));
            }
        }
        // --- Image 1
        if (imgDiff1 != null && !imgDiff1.equals("")) {
            try {
                Image jpg1 = Image.getInstance(imgDiff1);
                jpg1.scaleAbsolute(DIFF_IMAGE_WIDTH, DIFF_IMAGE_HEIGHT);
                Cell cellDiffractionThumbnail1 = new Cell(jpg1);
                cellDiffractionThumbnail1.setLeading(0);
                cellDiffractionThumbnail1.setBorderWidth(0);
                cellDiffractionThumbnail1.setHorizontalAlignment(Element.ALIGN_CENTER);
                tableImage.addCell(cellDiffractionThumbnail1);
            } catch (IOException e) {
                tableImage.addCell(new Paragraph(imgDiff1 + " not found", FONT_DOC));
            }
        }
        // --- Image 2
        if (imgDiff2 != null && !imgDiff2.equals("")) {
            try {
                Image jpg2 = Image.getInstance(imgDiff2);
                jpg2.scaleAbsolute(DIFF_IMAGE_WIDTH, DIFF_IMAGE_HEIGHT);
                Cell cellDiffractionThumbnail2 = new Cell(jpg2);
                cellDiffractionThumbnail2.setLeading(0);
                cellDiffractionThumbnail2.setBorderWidth(0);
                cellDiffractionThumbnail2.setHorizontalAlignment(Element.ALIGN_CENTER);
                tableImage.addCell(cellDiffractionThumbnail2);
            } catch (IOException e) {
                tableImage.addCell(new Paragraph(imgDiff2 + " not found", FONT_DOC));
            }
        }
        //
        document.add(tableImage);
        document.add(new Paragraph(" ", VERY_SMALL_FONT));
    }
}

From source file:ispyb.client.mx.collection.PdfRtfExporter.java

License:Open Source License

/**
 * set the strategy table and wedge & subwedge strategy tables
 * /* w ww .j  a v a2s .  c  o m*/
 * @param document
 * @param dcInfo
 * @throws Exception
 */
private void setStrategyTable(Document document, DataCollectionInformation dcInfo) throws Exception {
    // ------------------------------------------- Strategy Wedge
    // ------------------------------------------------
    List<StrategyWedgeInformation> strategyWedgeInformationList = dcInfo.getListStrategyWedgeInformation();
    for (Iterator<StrategyWedgeInformation> i = strategyWedgeInformationList.iterator(); i.hasNext();) {
        document.add(new Paragraph(" ", VERY_SMALL_FONT));
        StrategyWedgeInformation swi = i.next();
        Table strategyWedgeTable = new Table(10);
        int headerStrategyWedge[] = { 8, 10, 10, 10, 10, 10, 10, 10, 10, 20 }; // percentage
        strategyWedgeTable.setWidths(headerStrategyWedge);
        strategyWedgeTable.setWidth(100);
        strategyWedgeTable.setCellsFitPage(true);
        strategyWedgeTable.setTableFitsPage(true);
        strategyWedgeTable.setPadding(0);
        strategyWedgeTable.getDefaultCell().setBorderWidth(0);
        strategyWedgeTable.setBorderWidth(0);
        strategyWedgeTable.getDefaultCell().setBackgroundColor(WEDGE_COLOR);

        strategyWedgeTable.addCell(new Paragraph("Wedge number", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Resolution\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Completeness", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Multiplicity", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Total dose", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Number of Images", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Phi\n(" + Constants.DEGREE + ")", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Kappa\n(" + Constants.DEGREE + ")", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Wavelength", FONT_DOC_BOLD));
        strategyWedgeTable.addCell(new Paragraph("Comments", FONT_DOC_BOLD));

        strategyWedgeTable.getDefaultCell().setBackgroundColor(WHITE_COLOR);
        // rows
        strategyWedgeTable.addCell(new Paragraph(swi.getWedgeNumber(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getResolution(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getCompleteness(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getMultiplicity(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getDoseTotal(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getNumberOfImages(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getPhi(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getKappa(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getWavelength(), FONT_DOC));
        strategyWedgeTable.addCell(new Paragraph(swi.getComments(), FONT_DOC));

        document.add(strategyWedgeTable);

        // --- strategy sub wedge
        if (swi.getListStrategySubWedgeInformation().size() > 0) {
            document.add(new Paragraph(" ", VERY_SMALL_FONT));

            Table strategySubWedgeTable = new Table(12);
            int headerStrategySubWedge[] = { 8, 15, 10, 10, 10, 10, 10, 10, 10, 8, 8, 20 }; // percentage
            strategySubWedgeTable.setWidths(headerStrategySubWedge);
            strategySubWedgeTable.setWidth(80);
            strategySubWedgeTable.setCellsFitPage(true);
            strategySubWedgeTable.setTableFitsPage(true);
            strategySubWedgeTable.setPadding(0);
            strategySubWedgeTable.getDefaultCell().setBorderWidth(0);
            strategySubWedgeTable.setBorderWidth(0);
            strategySubWedgeTable.getDefaultCell().setBackgroundColor(SUBWEDGE_COLOR);

            strategySubWedgeTable.addCell(new Paragraph("Sub Wedge number", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Rotation axis", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Axis start", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Axis end", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Exposure time", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Transmission", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Oscillation Range", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Completeness", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Multiplicity", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Total dose", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Number of images", FONT_DOC_BOLD));
            strategySubWedgeTable.addCell(new Paragraph("Comments", FONT_DOC_BOLD));

            strategySubWedgeTable.getDefaultCell().setBackgroundColor(WHITE_COLOR);
            // rows
            for (Iterator<StrategySubWedgeInformation> s = swi.getListStrategySubWedgeInformation()
                    .iterator(); s.hasNext();) {
                StrategySubWedgeInformation sswi = s.next();
                strategySubWedgeTable.addCell(new Paragraph(sswi.getSubWedgeNumber(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getRotationAxis(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getAxisStart(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getAxisEnd(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getExposureTime(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getTransmission(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getOscillationRange(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getCompleteness(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getMultiplicity(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getDoseTotal(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getNumberOfImages(), FONT_DOC));
                strategySubWedgeTable.addCell(new Paragraph(sswi.getComments(), FONT_DOC));
            }
            document.add(strategySubWedgeTable);
        }
    }
    document.add(new Paragraph(" ", VERY_SMALL_FONT));
}