List of usage examples for com.lowagie.text Element ALIGN_CENTER
int ALIGN_CENTER
To view the source code for com.lowagie.text Element ALIGN_CENTER.
Click Source Link
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the header for the dataCollection table * /*w w w . j a v a2 s . co m*/ * @param document * @param table * @throws Exception */ private Table setDataCollectionHeader(Document document, Table table, boolean withAutoProcessing) throws Exception { int nbCol = NB_COL_DATACOLLECTION; boolean withoutAutoProc = !withAutoProcessing; boolean withSampleName = name != null; boolean isIfx = proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX); if (withoutAutoProc) { nbCol -= 5; } if (withSampleName) { nbCol += 1; } if (isIfx) { nbCol += 1; } table = new Table(nbCol); int[] headersWidth = new int[nbCol]; int i = 0; // image prefix headersWidth[i] = 12; if (withSampleName && !withAutoProcessing) headersWidth[i] = 10; i++; // beamline if (withSampleName) { headersWidth[i++] = 5; } // run no headersWidth[i++] = 5; // nb images headersWidth[i++] = 6; // auto proc if (withAutoProcessing) { headersWidth[i++] = 9; // space group headersWidth[i++] = 9; // unit cell headersWidth[i++] = 10; // completeness headersWidth[i++] = 9; // rsymm headersWidth[i++] = 9; // resolution } // detector headersWidth[i++] = 7; // wavelength headersWidth[i++] = 8; // phi range headersWidth[i++] = 5; // crytsl class if (isIfx) { headersWidth[i++] = 8; } // comments headersWidth[i++] = 17; // table.setWidths(headersWidth); table.setWidth(100); // percentage table.setPadding(3); table.setCellsFitPage(true); table.getDefaultCell().setBorderWidth(1); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // DataCollection Header table.getDefaultCell().setGrayFill(GREY_FILL_HEADER); table.addCell(new Paragraph("Image prefix", FONT_DOC_BOLD)); if (withSampleName) table.addCell(new Paragraph("Beamline", FONT_DOC_BOLD)); table.addCell(new Paragraph("Run no", FONT_DOC_BOLD)); table.addCell(new Paragraph("# images", FONT_DOC_BOLD)); if (withAutoProcessing) { table.addCell(new Paragraph("Space Group", FONT_DOC_BOLD)); table.addCell(new Paragraph("Unit Cell", FONT_DOC_BOLD)); table.addCell(new Paragraph("Completeness (Inner, Outer, Overall)", FONT_DOC_BOLD)); table.addCell(new Paragraph("Rsymm (Inner, Outer, Overall)", FONT_DOC_BOLD)); table.addCell(new Paragraph("Resolution", FONT_DOC_BOLD)); } table.addCell(new Paragraph("Detector\nResolution\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD)); table.addCell(new Paragraph("Wavelength\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD)); table.addCell(new Paragraph("Phi range\n(" + Constants.DEGREE + ")", FONT_DOC_BOLD)); // Column crystalClass only for IFX proposal in case of MXPress // experiment if (isIfx) table.addCell(new Paragraph("Crystal class", FONT_DOC_BOLD)); table.addCell(new Paragraph("Comments", FONT_DOC_BOLD)); table.getDefaultCell().setBorderWidth(1); return table; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set a line for a specified dataCollection in the dataCollection table * //from w ww . j a va2 s .c o m * @param document * @param table * @param col * @param session * @param df2 * @param df3 * @throws Exception */ private void setDataCollectionData(Document document, Table table, DataCollection3VO col, Session3Service sessionService, AutoProc3VO autoProcValue, AutoProcScalingStatistics3VO autoProcOverall, AutoProcScalingStatistics3VO autoProcInner, AutoProcScalingStatistics3VO autoProcOuter, boolean withAutoProcessing, boolean setEDNAInfo, ScreeningOutput3VO screeningOutput, ScreeningOutputLattice3VO screeningOutputLattice) throws Exception { // Session3VO slv = sessionService.findByPk(col.getSessionId(), false, // false, false); DataCollectionGroup3VO dcGroup = col.getDataCollectionGroupVO(); Session3VO slv = dcGroup.getSessionVO(); // here slv is not null if (col.getNumberOfImages() != null) { if (!DataCollectionExporter.isDataCollectionScreening(col)) { table.getDefaultCell().setGrayFill(GREY_FILL_DATA_COLLECT); } else table.getDefaultCell().setGrayFill(GREY_FILL_DATA); } if (col.getImagePrefix() != null) table.addCell(new Paragraph(col.getImagePrefix(), FONT_DOC)); else table.addCell(""); // The beamline name is only displayed for select by protein or by // sample name if (name != null) { if (slv.getBeamlineName() != null) table.addCell(new Paragraph(slv.getBeamlineName(), FONT_DOC)); else table.addCell(""); } if (col.getDataCollectionNumber() != null) table.addCell(new Paragraph(col.getDataCollectionNumber().toString(), FONT_DOC)); else table.addCell(""); if (col.getNumberOfImages() != null) table.addCell(new Paragraph(col.getNumberOfImages().toString(), FONT_DOC)); else table.addCell(""); if (withAutoProcessing) { // space group if (autoProcValue != null && autoProcValue.getSpaceGroup() != null) { Paragraph p = new Paragraph(autoProcValue.getSpaceGroup(), FONT_DOC); table.addCell(p); } else if (setEDNAInfo && screeningOutputLattice != null && screeningOutputLattice.getSpaceGroup() != null) { Paragraph p = new Paragraph(screeningOutputLattice.getSpaceGroup(), FONT_DOC); table.addCell(p); } else table.addCell(""); // unit cell if (autoProcValue != null && autoProcValue.getSpaceGroup() != null) table.addCell(new Paragraph(autoProcValue.getRefinedCellA() + " (" + autoProcValue.getRefinedCellAlpha() + ")\n" + autoProcValue.getRefinedCellB() + " (" + autoProcValue.getRefinedCellBeta() + ")\n" + autoProcValue.getRefinedCellC() + " (" + autoProcValue.getRefinedCellGamma() + ")", FONT_DOC)); else if (setEDNAInfo && screeningOutputLattice != null && screeningOutputLattice.getUnitCell_a() != null && screeningOutputLattice.getUnitCell_b() != null && screeningOutputLattice.getUnitCell_c() != null && screeningOutputLattice.getUnitCell_alpha() != null && screeningOutputLattice.getUnitCell_beta() != null && screeningOutputLattice.getUnitCell_gamma() != null) { Paragraph p = new Paragraph(df3.format(screeningOutputLattice.getUnitCell_a()) + " (" + df3.format(screeningOutputLattice.getUnitCell_alpha()) + ")\n" + df3.format(screeningOutputLattice.getUnitCell_b()) + " (" + df3.format(screeningOutputLattice.getUnitCell_beta()) + ")\n" + df3.format(screeningOutputLattice.getUnitCell_c()) + " (" + df3.format(screeningOutputLattice.getUnitCell_gamma()) + ")", FONT_DOC); table.addCell(p); } else table.addCell(""); // completeness, rsymm, processed resolution String completenessString = new String(); String rSymmString = new String(); String resolutionString = new String(); if (autoProcOverall != null && autoProcInner != null && autoProcOuter != null) { completenessString += df2.format(autoProcInner.getCompleteness()) + "\n" + df2.format(autoProcOuter.getCompleteness()) + "\n" + df2.format(autoProcOverall.getCompleteness()); rSymmString += (autoProcInner.getRmerge() == null ? "" : df2.format(autoProcInner.getRmerge())) + "\n" + (autoProcOuter.getRmerge() == null ? "" : df2.format(autoProcOuter.getRmerge())) + "\n" + (autoProcOverall.getRmerge() == null ? "" : df2.format(autoProcOverall.getRmerge())); resolutionString += autoProcInner.getResolutionLimitLow() + " - " + autoProcInner.getResolutionLimitHigh() + "\n" + autoProcOuter.getResolutionLimitLow() + " - " + autoProcOuter.getResolutionLimitHigh() + "\n" + autoProcOverall.getResolutionLimitLow() + " - " + autoProcOverall.getResolutionLimitHigh(); } else if (setEDNAInfo && screeningOutput != null && screeningOutput.getRankingResolution() != null) { resolutionString = df2.format(screeningOutput.getRankingResolution()); } table.addCell(new Paragraph(completenessString, FONT_DOC)); table.addCell(new Paragraph(rSymmString, FONT_DOC)); table.addCell(new Paragraph(resolutionString, FONT_DOC)); } // detector resolution if (col.getResolution() != null) table.addCell(new Paragraph(df2.format(col.getResolution()), FONT_DOC)); else table.addCell(""); // wavelength if (col.getWavelength() != null) table.addCell(new Paragraph(df3.format(col.getWavelength()), FONT_DOC)); else table.addCell(""); // phi range if (col.getAxisRange() != null) table.addCell(new Paragraph(df2.format(col.getAxisRange()), FONT_DOC)); else table.addCell(""); // Column crystalClass only for IFX proposal in case of MXPress // experiment if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) { // if (col.getCrystalClass() != null && col.getCrystalClass() != "") // table.addCell(new // Paragraph(col.getCrystalClass(), new Font(Font.HELVETICA, 8))); // else table.addCell(""); DataCollectionGroup3Service dataCollectionGroupService = (DataCollectionGroup3Service) ejb3ServiceLocator .getLocalService(DataCollectionGroup3Service.class); DataCollectionGroup3VO group = dataCollectionGroupService.findByPk(col.getDataCollectionGroupVOId(), true, true); boolean firstCollect = group.isFirstCollect(col); if (dcGroup.getCrystalClass() != null) { int idCC = getCrystalClassIndex(listOfCrystalClass, dcGroup.getCrystalClass().trim().toUpperCase()); String crystalS = ""; if (idCC == -1) { crystalS = dcGroup.getCrystalClass().toString(); } else { crystalS = listOfCrystalClass.get(idCC).getCrystalClassName(); } String crystalCell = crystalS; if (!firstCollect && crystalS != null && !crystalS.equals("")) { crystalCell = "(" + crystalS + ")"; } table.addCell(new Paragraph(crystalCell, FONT_DOC)); } else table.addCell(""); } table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); if (col.getComments() != null && col.getComments() != "") table.addCell(new Paragraph(col.getComments(), FONT_DOC)); else table.addCell(""); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the energy scan table//from w ww . j a v a 2s . co m * * @param document * @throws Exception */ private void setEnergyScansTable(Document document) throws Exception { if (slv == null) {// if session is null, no sense to display energy // scans return; } document.add(new Paragraph("Energy Scans:", FONT_TITLE)); document.add(new Paragraph(" ")); if (energyScanList == null || energyScanList.isEmpty()) { document.add(new Paragraph("There is no energy scan in this report", FONT_DOC)); } else { int NumColumnsES = 12; Table tableES = new Table(NumColumnsES); int headerwidthsSessionES[] = { 7, 7, 7, 7, 7, 7, 6, 6, 7, 7, 7, 25 }; // percentage int headerwidthsMXPressES[] = { 7, 7, 7, 7, 7, 7, 6, 6, 7, 7, 7, 8, 17 }; // percentage tableES.setWidths(headerwidthsSessionES); // Column crystalClass added only for IFX proposal in case of // MXPress experiment if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) { tableES = new Table(NumColumnsES + 1); tableES.setWidths(headerwidthsMXPressES); } tableES.setWidth(100); // percentage tableES.setPadding(3); tableES.setCellsFitPage(true); tableES.getDefaultCell().setBorderWidth(1); tableES.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // Energy Scan Header tableES.getDefaultCell().setGrayFill(GREY_FILL_HEADER); tableES.addCell(new Paragraph("Element", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Inflection Energy\n(keV)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Exposure Time\n(s)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Inflection f'\n(e)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Inflection f''\n(e)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Peak Energy\n(keV)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Peak f'\n(e)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Peak f''\n(e)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Beam size Hor.\n(" + Constants.MICRO + "m)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Beam size Ver.\n(" + Constants.MICRO + "m)", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Transm. Factor\n(%)", FONT_DOC_BOLD)); // Column crystalClass only for IFX proposal in case of MXPress // experiment if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) tableES.addCell(new Paragraph("Crystal class", FONT_DOC_BOLD)); tableES.addCell(new Paragraph("Comments", FONT_DOC_BOLD)); tableES.getDefaultCell().setGrayFill(GREY_FILL_DATA); tableES.getDefaultCell().setBorderWidth(1); // Energy Scan Rows Iterator<EnergyScan3VO> itES = energyScanList.iterator(); while (itES.hasNext()) { EnergyScan3VO col = itES.next(); if (col.getElement() != null) tableES.addCell(new Paragraph(col.getElement().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getExposureTime() != null) tableES.addCell(new Paragraph(col.getExposureTime().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getInflectionEnergy() != null) tableES.addCell(new Paragraph(col.getInflectionEnergy().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getInflectionFPrime() != null) tableES.addCell(new Paragraph(col.getInflectionFPrime().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getInflectionFDoublePrime() != null) tableES.addCell(new Paragraph(col.getInflectionFDoublePrime().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getPeakEnergy() != null) tableES.addCell(new Paragraph(col.getPeakEnergy().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getPeakFPrime() != null) tableES.addCell(new Paragraph(col.getPeakFPrime().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getPeakFDoublePrime() != null) tableES.addCell(new Paragraph(col.getPeakFDoublePrime().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getBeamSizeHorizontal() != null) tableES.addCell(new Paragraph(col.getBeamSizeHorizontal().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getBeamSizeVertical() != null) tableES.addCell(new Paragraph(col.getBeamSizeVertical().toString(), FONT_DOC)); else tableES.addCell(""); if (col.getTransmissionFactor() != null) tableES.addCell(new Paragraph(col.getTransmissionFactor().toString(), FONT_DOC)); else tableES.addCell(""); if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) { // if (col.getCrystalClass()!= null) tableES.addCell(new // Paragraph(col.getCrystalClass().toString(), // new Font(Font.HELVETICA, 8))); // else tableES.addCell(""); if (col.getCrystalClass() != null) { int idCC = getCrystalClassIndex(listOfCrystalClass, col.getCrystalClass().trim().toUpperCase()); if (idCC == -1) { tableES.addCell(new Paragraph(col.getCrystalClass().toString(), FONT_DOC)); } else tableES.addCell( new Paragraph(listOfCrystalClass.get(idCC).getCrystalClassName(), FONT_DOC)); } else tableES.addCell(""); } tableES.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); if (col.getComments() != null) tableES.addCell(new Paragraph(col.getComments().toString(), FONT_DOC)); else tableES.addCell(""); tableES.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); } document.add(tableES); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the XFR Spectra table/*from www.j a v a 2 s . co m*/ * * @param document * @throws Exception */ private void setXfrSpectraTable(Document document) throws Exception { if (slv == null) {// if session is null, no sense to display XFRSpectra return; } document.add(new Paragraph("XRF Spectra:", FONT_TITLE)); document.add(new Paragraph(" ")); if (xfeList == null || xfeList.isEmpty()) { document.add(new Paragraph("There is no XRF spectra in this report", FONT_DOC)); } else { int NumColumnsXRF = 6; Table tableXRF = new Table(NumColumnsXRF); int headerwidthsSessionXRF[] = { 15, 15, 15, 15, 15, 25 }; // percentage int headerwidthsMXPressXRF[] = { 16, 16, 15, 15, 15, 8, 17 }; // percentage tableXRF.setWidths(headerwidthsSessionXRF); // Column crystalClass added only for IFX proposal in case of // MXPress experiment if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) { tableXRF = new Table(NumColumnsXRF + 1); tableXRF.setWidths(headerwidthsMXPressXRF); } tableXRF.setWidth(100); // percentage tableXRF.setPadding(3); tableXRF.setCellsFitPage(true); tableXRF.getDefaultCell().setBorderWidth(1); tableXRF.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // XRF Spectra Header tableXRF.getDefaultCell().setGrayFill(GREY_FILL_HEADER); tableXRF.addCell(new Paragraph("Energy\n(keV)", FONT_DOC_BOLD)); tableXRF.addCell(new Paragraph("Exposure Time\n(s)", FONT_DOC_BOLD)); tableXRF.addCell(new Paragraph("Beam size Hor.\n(" + Constants.MICRO + "m)", FONT_DOC_BOLD)); tableXRF.addCell(new Paragraph("Beam size Ver.\n(" + Constants.MICRO + "m)", FONT_DOC_BOLD)); tableXRF.addCell(new Paragraph("Transm. Factor\n(%)", FONT_DOC_BOLD)); // Column crystalClass only for IFX proposal in case of MXPress // experiment if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) tableXRF.addCell(new Paragraph("Crystal class", FONT_DOC_BOLD)); tableXRF.addCell(new Paragraph("Comments", FONT_DOC_BOLD)); tableXRF.getDefaultCell().setGrayFill(GREY_FILL_DATA); tableXRF.getDefaultCell().setBorderWidth(1); // XRF Spectra Rows Iterator<XFEFluorescenceSpectrum3VO> itES = xfeList.iterator(); while (itES.hasNext()) { XFEFluorescenceSpectrum3VO col = itES.next(); if (col.getEnergy() != null) tableXRF.addCell(new Paragraph(col.getEnergy().toString(), FONT_DOC)); else tableXRF.addCell(""); if (col.getExposureTime() != null) tableXRF.addCell(new Paragraph(col.getExposureTime().toString(), FONT_DOC)); else tableXRF.addCell(""); if (col.getBeamSizeHorizontal() != null) tableXRF.addCell(new Paragraph(col.getBeamSizeHorizontal().toString(), FONT_DOC)); else tableXRF.addCell(""); if (col.getBeamSizeVertical() != null) tableXRF.addCell(new Paragraph(col.getBeamSizeVertical().toString(), FONT_DOC)); else tableXRF.addCell(""); if (col.getBeamTransmission() != null) tableXRF.addCell(new Paragraph(col.getBeamTransmission().toString(), FONT_DOC)); else tableXRF.addCell(""); if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX)) { // if (col.getCrystalClass()!= null) tableXRF.addCell(new // Paragraph(col.getCrystalClass().toString(), new // Font(Font.HELVETICA, 8))); // else tableXRF.addCell(""); if (col.getCrystalClass() != null) { int idCC = getCrystalClassIndex(listOfCrystalClass, col.getCrystalClass().trim().toUpperCase()); if (idCC == -1) { tableXRF.addCell(new Paragraph(col.getCrystalClass().toString(), FONT_DOC)); } else tableXRF.addCell( new Paragraph(listOfCrystalClass.get(idCC).getCrystalClassName(), FONT_DOC)); } else tableXRF.addCell(""); } tableXRF.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); if (col.getComments() != null) tableXRF.addCell(new Paragraph(col.getComments().toString(), FONT_DOC)); else tableXRF.addCell(""); tableXRF.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); } document.add(tableXRF); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the summary - IFX proposal/* w ww .ja v a 2 s . c o m*/ * * @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
/** * set a table for a sessionDataObject/* w w w. j av a 2 s. c om*/ * * @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
/** * set the EDNA Table// w ww.jav a 2s .c o 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);/*from w ww.ja v a2s . 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++;/*from w w w. jav a 2s .c o m*/ } 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 copy from * setStrategyTable, waiting for feedback that we can remove the old reports * and the first method//from w w w . j av a 2s . co m * * @param document * @param dcInfo * @throws Exception */ private void setStrategyTable2(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(1); strategyWedgeTable.getDefaultCell().setBorderWidth(1); strategyWedgeTable.setBorderWidth(1); strategyWedgeTable.getDefaultCell().setBackgroundColor(LIGHT_GREY_COLOR); strategyWedgeTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); strategyWedgeTable.addCell(new Paragraph("Wedge number", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Resolution (" + 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 (" + Constants.DEGREE + ")", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Kappa (" + 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(97); strategySubWedgeTable.setCellsFitPage(true); strategySubWedgeTable.setTableFitsPage(true); strategySubWedgeTable.setPadding(1); strategySubWedgeTable.getDefaultCell().setBorderWidth(1); strategySubWedgeTable.setBorderWidth(1); strategySubWedgeTable.getDefaultCell().setBackgroundColor(LIGHT_GREY_COLOR); strategySubWedgeTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); 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)); }