List of usage examples for com.lowagie.text Element ALIGN_MIDDLE
int ALIGN_MIDDLE
To view the source code for com.lowagie.text Element ALIGN_MIDDLE.
Click Source Link
From source file:net.bull.javamelody.internal.web.pdf.PdfRuntimeDependenciesReport.java
License:Apache License
private void writeHeader() throws DocumentException { final List<String> headers = new ArrayList<String>(); headers.add("Beans"); headers.addAll(calledBeans);//w w w . j a v a2 s . co m final int[] relativeWidths = new int[headers.size()]; Arrays.fill(relativeWidths, 0, headers.size(), 1); relativeWidths[0] = 4; final PdfPTable table = new PdfPTable(headers.size()); table.setWidthPercentage(100); table.setWidths(relativeWidths); table.setHeaderRows(1); final PdfPCell defaultCell = table.getDefaultCell(); defaultCell.setGrayFill(0.9f); defaultCell.setHorizontalAlignment(Element.ALIGN_CENTER); defaultCell.setVerticalAlignment(Element.ALIGN_MIDDLE); defaultCell.setPaddingLeft(0); defaultCell.setPaddingRight(0); for (final String header : headers) { table.addCell(new Phrase(header, boldCellFont)); // pas la premire entte de colonne defaultCell.setRotation(90); } defaultCell.setRotation(0); defaultCell.setPaddingLeft(2); defaultCell.setPaddingRight(2); currentTable = table; }
From source file:open.dolphin.hiro.PrescriptionPDFMaker.java
/** * ?? * * @param pcell */ private void setAlignMiddle(PdfPCell pcell) { pcell.setVerticalAlignment(Element.ALIGN_MIDDLE); }
From source file:org.activityinfo.server.report.renderer.itext.ItextMapRenderer.java
License:Open Source License
private void renderLegend(MapReportElement element, Document doc) throws DocumentException, IOException { Table table = new Table(2); table.setBorderWidth(1);//from w ww. ja v a 2 s . com table.setWidth(100f); table.setBorderColor(new Color(100, 100, 100)); table.setPadding(5); table.setSpacing(0); table.setCellsFitPage(true); table.setTableFitsPage(true); table.setWidths(new int[] { 1, 3 }); Cell cell = new Cell(I18N.CONSTANTS.legend()); cell.setHeader(true); cell.setColspan(2); table.addCell(cell); table.endHeaders(); for (MapLayerLegend legend : element.getContent().getLegends()) { Cell symbolCell = new Cell(); symbolCell.setHorizontalAlignment(Element.ALIGN_CENTER); symbolCell.setVerticalAlignment(Element.ALIGN_MIDDLE); Image symbol = createLegendSymbol(legend, imageCreator); symbolCell.addElement(symbol); Cell descriptionCell = new Cell(); addLegendDescription(element, legend.getDefinition(), descriptionCell); table.addCell(symbolCell); table.addCell(descriptionCell); } doc.add(table); }
From source file:org.areasy.common.doclet.document.tags.HtmlTagUtility.java
License:Open Source License
/** * Returns the Element constant associated with the specified vertical * alignment (top, middle, bottom, baseline). *//*from w w w . ja v a 2 s . co m*/ public static int getVerticalAlignment(String htmlAlignString, int defaultAlign) { if (htmlAlignString == null) return defaultAlign; if ("top".equalsIgnoreCase(htmlAlignString)) return Element.ALIGN_TOP; if ("middle".equalsIgnoreCase(htmlAlignString)) return Element.ALIGN_MIDDLE; if ("bottom".equalsIgnoreCase(htmlAlignString)) return Element.ALIGN_BOTTOM; if ("baseline".equalsIgnoreCase(htmlAlignString)) return Element.ALIGN_BASELINE; return defaultAlign; }
From source file:org.areasy.common.doclet.document.tags.TagTD.java
License:Open Source License
private PdfPCell createCell(Element[] content) { int defaultAlign = (getType() == TAG_TH) ? Element.ALIGN_CENTER : Element.ALIGN_LEFT; String align = getInheritedAttribute("align", false); String valign = getInheritedAttribute("valign", false); String bgcolor = getInheritedAttribute("bgcolor", true); int alignment = HtmlTagUtility.getAlignment(align, defaultAlign); PdfPCell cell = PDFUtility.createElementCell(2, alignment, content); cell.setHorizontalAlignment(HtmlTagUtility.getAlignment(align, defaultAlign)); cell.setVerticalAlignment(HtmlTagUtility.getVerticalAlignment(valign, Element.ALIGN_MIDDLE)); cell.setBackgroundColor(HtmlTagUtility.getColor(bgcolor)); cell.setColspan(parseSpan(getAttribute("colspan"))); cell.setUseAscender(true); // needs newer iText cell.setUseDescender(true); // needs newer iText cell.setUseBorderPadding(true); // needs newer iText if (getAttribute("nowrap") != null) cell.setNoWrap(true);/*from w w w .j a va 2 s.c o m*/ if (getType() == TAG_TH) cell.setMarkupAttribute(HEADER_INDICATOR_ATTR, "true"); return cell; }
From source file:org.cgiar.ccafs.ap.summaries.projects.pdf.ProjectSummaryPDF.java
License:Open Source License
/** * This method add Activities for the summary project *//*from w w w .jav a 2s . co m*/ private void addActivities() { try { document.newPage(); Paragraph activityBlock = new Paragraph("6. " + this.getText("summaries.project.activity"), HEADING2_FONT); activityBlock.setAlignment(Element.ALIGN_JUSTIFIED); activityBlock.add(Chunk.NEWLINE); PdfPTable table; List<Activity> listActivities = project.getActivities(); if (listActivities.isEmpty()) { activityBlock.setFont(BODY_TEXT_FONT); activityBlock.add(this.getText("summaries.project.empty")); document.add(activityBlock); } else { activityBlock.add(Chunk.NEWLINE); document.add(activityBlock); int counter = 1; for (Activity activity : listActivities) { boolean printActity = true; if (activity != null) { if (!project.isReporting()) { Calendar c = Calendar.getInstance(); c.setTime(activity.getEndDate()); Calendar cStartDate = Calendar.getInstance(); cStartDate.setTime(activity.getStartDate()); if (c.get(Calendar.YEAR) != config.getPlanningCurrentYear()) { if (cStartDate.get(Calendar.YEAR) != config.getPlanningCurrentYear()) { printActity = false; } } if (activity.getActivityStatus() == Integer .parseInt(ProjectStatusEnum.Cancelled.getStatusId())) { printActity = false; } } if (printActity) { table = new PdfPTable(2); table.setTotalWidth(480); table.setLockedWidth(true); // Header table activityBlock = new Paragraph(); activityBlock.setAlignment(Element.ALIGN_CENTER); activityBlock.setFont(TABLE_HEADER_FONT); activityBlock.add("Activity #" + counter); PdfPCell cell_new = new PdfPCell(activityBlock); cell_new.setHorizontalAlignment(Element.ALIGN_CENTER); cell_new.setVerticalAlignment(Element.ALIGN_MIDDLE); cell_new.setBackgroundColor(TABLE_HEADER_BACKGROUND); cell_new.setUseBorderPadding(true); cell_new.setPadding(3); cell_new.setBorderColor(TABLE_CELL_BORDER_COLOR); cell_new.setColspan(2); this.addTableHeaderCell(table, cell_new); // Activity title activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.activities.title")); activityBlock.setFont(TABLE_BODY_FONT); activityBlock.add(this.messageReturn(activity.getTitle())); activityBlock.add(Chunk.NEWLINE); this.addTableColSpanCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1, 2); // Activity description activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.activities.description")); activityBlock.setFont(TABLE_BODY_FONT); activityBlock.add(this.messageReturn(activity.getDescription())); activityBlock.add(Chunk.NEWLINE); this.addTableColSpanCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1, 2); String startDate = null; String endDate = null; try { startDate = new SimpleDateFormat("dd-MM-yyyy").format(activity.getStartDate()); } catch (Exception e) { } try { endDate = new SimpleDateFormat("dd-MM-yyyy").format(activity.getEndDate()); } catch (Exception e) { } // Activity Start Date activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.startDate") + " (dd-MM-yyyy)" + ": "); activityBlock.setFont(TABLE_BODY_FONT); activityBlock.add(startDate); activityBlock.add(Chunk.NEWLINE); this.addTableBodyCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1); // Activity End Date activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.endDate") + " (dd-MM-yyyy)" + ": "); activityBlock.setFont(TABLE_BODY_FONT); activityBlock.add(endDate); activityBlock.add(Chunk.NEWLINE); this.addTableBodyCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1); // Activity Leader activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.activities.activityLeader") + ": "); activityBlock.setFont(TABLE_BODY_FONT); PartnerPerson activityPartnerPerson = activity.getLeader(); if (activityPartnerPerson != null) { activityBlock.add(activityPartnerPerson.getComposedName()); String partnerInstitution = this.mapPartnerPersons .get(String.valueOf(activityPartnerPerson.getId())); if (partnerInstitution != null) { activityBlock.add(", " + partnerInstitution); } } else { activityBlock.add(this.getText("summaries.project.empty")); } activityBlock.add(Chunk.NEWLINE); this.addTableColSpanCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1, 2); // if (project.isReporting()) { // status activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.activities.status")); activityBlock.setFont(TABLE_BODY_FONT); if (activity.getActivityStatus() > 0) { activityBlock.add(statuses.get(String.valueOf(activity.getActivityStatus()))); } else { activityBlock.add(" " + this.getText("summaries.project.empty")); // } activityBlock.add(Chunk.NEWLINE); if (activity.isStatusCancelled() || activity.isStatusExtended() || activity.isStatusOnGoing()) { this.addTableBodyCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1); activityBlock = new Paragraph(); activityBlock.setFont(TABLE_BODY_BOLD_FONT); activityBlock.add(this.getText("summaries.project.activities.justification")); activityBlock.setFont(TABLE_BODY_FONT); activityBlock.add(this.messageReturn(activity.getActivityProgress())); activityBlock.add(Chunk.NEWLINE); this.addTableBodyCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1); } else { this.addTableColSpanCell(table, activityBlock, Element.ALIGN_JUSTIFIED, 1, 2); } } // document.add(Chunk.NEWLINE); document.add(table); activityBlock = new Paragraph(); activityBlock.add(Chunk.NEWLINE); document.add(activityBlock); counter++; } } } // Leason regardins activityBlock = new Paragraph(); activityBlock.setAlignment(Element.ALIGN_JUSTIFIED); activityBlock.setFont(BODY_TEXT_BOLD_FONT); if (!project.isReporting()) { activityBlock.add(this.getText("summaries.project.activities.lessonsRegarding")); } else { activityBlock.add(this.getText("summaries.project.activities.reporting.lessonsRegarding")); } activityBlock.setFont(BODY_TEXT_FONT); if (project.getComponentLesson("activities") != null) { activityBlock.add(this.messageReturn(project.getComponentLesson("activities").getLessons())); } else { activityBlock.add(this.messageReturn(null)); } document.add(activityBlock); } } catch (DocumentException e) { LOG.error( "There was an error trying to add the project activities to the project summary pdf of project {} ", e, project.getId()); } }
From source file:org.cgiar.ccafs.ap.summaries.projects.pdf.ProjectSummaryPDF.java
License:Open Source License
/** * @param deliverable deliverable to add in the summary * @param counter number of deliverable// www.j a v a 2 s . co m **/ private void addDelivable(Deliverable deliverable, int counter) { try { if (deliverable != null) { PdfPTable table = new PdfPTable(2); table.setTotalWidth(480); table.setLockedWidth(true); StringBuilder stringBuilder = new StringBuilder(); PdfPCell cell_new; // **** Expected Deliverable #********* Paragraph deliverableBlock = new Paragraph(); deliverableBlock.setFont(HEADING4_FONT); if (project.isReporting()) { deliverableBlock.add(this.getText("summaries.project.deliverable") + " #" + counter); } else { if (deliverable.getYear() < config.getPlanningCurrentYear()) { deliverableBlock.add(this.getText("summaries.project.deliverable") + " #" + counter); } else { deliverableBlock .add(this.getText("summaries.project.deliverable.expected") + " #" + counter); } } deliverableBlock.add(Chunk.NEWLINE); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); // **** Deliverable Information ********* deliverableBlock = new Paragraph(); deliverableBlock.setFont(BODY_TEXT_BOLD_FONT); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.setFont(TABLE_HEADER_FONT); deliverableBlock.add(this.getText("summaries.project.deliverable.information")); cell_new = new PdfPCell(deliverableBlock); cell_new.setHorizontalAlignment(Element.ALIGN_CENTER); cell_new.setVerticalAlignment(Element.ALIGN_MIDDLE); cell_new.setBackgroundColor(TABLE_HEADER_BACKGROUND); cell_new.setUseBorderPadding(true); cell_new.setPadding(3); cell_new.setBorderColor(TABLE_CELL_BORDER_COLOR); cell_new.setColspan(2); this.addTableHeaderCell(table, cell_new); // Title deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.deliverable.information.title") + ": "); deliverableBlock.setFont(TABLE_BODY_FONT); deliverableBlock.add(this.messageReturn(deliverable.getTitle())); deliverableBlock.add(Chunk.NEWLINE); ; // document.add(deliverableBlock); this.addTableColSpanCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1, 2); // MOG deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); if (deliverable.getOutput() != null) { stringBuilder = new StringBuilder(); if (deliverable.getOutput().getProgram() != null && deliverable.getOutput().getProgram().getAcronym() != null) { stringBuilder.append(deliverable.getOutput().getProgram().getAcronym()); stringBuilder.append(" - MOG # "); } else { stringBuilder.append("MOG # "); } stringBuilder.append(this.getMOGIndex(deliverable.getOutput())); stringBuilder.append(": "); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder = new StringBuilder(); stringBuilder.append(deliverable.getOutput().getDescription()); } else { deliverableBlock.add("MOG :"); stringBuilder.append(this.getText("summaries.project.empty")); } deliverableBlock.add(stringBuilder.toString()); deliverableBlock.add(Chunk.NEWLINE); // document.add(deliverableBlock); this.addTableColSpanCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1, 2); // Main Type deliverableBlock = new Paragraph(); stringBuilder = new StringBuilder(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); stringBuilder.append(this.getText("summaries.project.deliverable.information.main")); stringBuilder.append(": "); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder = new StringBuilder(); if (deliverable.getType() != null && deliverable.getType().getCategory() != null) { stringBuilder.append(this.messageReturn(deliverable.getType().getCategory().getName())); } else { stringBuilder.append(this.messageReturn("")); } deliverableBlock.add(stringBuilder.toString()); deliverableBlock.add(Chunk.NEWLINE); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1); // Sub Type deliverableBlock = new Paragraph(); stringBuilder = new StringBuilder(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); stringBuilder.append(this.getText("summaries.project.deliverable.information.sub")); stringBuilder.append(": "); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder = new StringBuilder(); if (deliverable.getType() == null) { stringBuilder.append(this.messageReturn(this.getText("summaries.project.empty"))); } else if (deliverable.getType().getId() == 38) { stringBuilder.append(this.getText("summaries.project.deliverable.other.expected")); stringBuilder.append("("); stringBuilder.append(this.messageReturn(deliverable.getTypeOther())); stringBuilder.append(")"); } else { stringBuilder.append(this.messageReturn(deliverable.getType().getName())); } deliverableBlock.add(this.messageReturn(stringBuilder.toString())); deliverableBlock.add(Chunk.NEWLINE); ; // document.add(deliverableBlock); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // Year deliverableBlock = new Paragraph(); stringBuilder = new StringBuilder(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); stringBuilder.append(this.getText("summaries.project.deliverable.information.year")); stringBuilder.append(": "); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder = new StringBuilder(); stringBuilder.append(deliverable.getYear()); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.add(Chunk.NEWLINE); // document.add(deliverableBlock); this.addTableColSpanCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1, 2); // Status deliverableBlock = new Paragraph(); stringBuilder = new StringBuilder(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); stringBuilder.append(this.getText("summaries.project.deliverable.information.statuts")); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder = new StringBuilder(); if (deliverable.getStatus() != 0) { if (deliverable.getStatus() == Integer.parseInt(ProjectStatusEnum.Cancelled.getStatusId())) { deliverableBlock.setFont(TABLE_BODY_FONT_RED); } stringBuilder.append(this.statuses.get(String.valueOf(deliverable.getStatus()))); } else { stringBuilder.append(this.messageReturn(null)); } deliverableBlock.add(stringBuilder.toString()); deliverableBlock.add(Chunk.NEWLINE); // document.add(deliverableBlock); if (deliverable.isStatusCancelled() || deliverable.isStatusExtended() || deliverable.isStatusOnGoing()) { this.addTableColSpanCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1, 1); // Justification deliverableBlock = new Paragraph(); stringBuilder = new StringBuilder(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); stringBuilder.append(this.getText("summaries.project.deliverable.information.justification")); deliverableBlock.add(stringBuilder.toString()); deliverableBlock.setFont(TABLE_BODY_FONT); deliverableBlock.add(this.messageReturn(deliverable.getStatusDescription())); deliverableBlock.add(Chunk.NEWLINE); this.addTableColSpanCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1, 1); } else { this.addTableColSpanCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1, 2); } document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); // ********** Next Users************************************** counter = 1; List<NextUser> nextUsers = deliverable.getNextUsers(); for (NextUser nextUser : nextUsers) { if (nextUser != null) { table = new PdfPTable(1); table.setTotalWidth(480); table.setLockedWidth(true); // Next user title deliverableBlock = new Paragraph(); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.setFont(TABLE_HEADER_FONT); if (nextUsers.size() == 1) { deliverableBlock.add(this.getText("summaries.project.deliverable.next.user")); } else { deliverableBlock .add(this.getText("summaries.project.deliverable.next.user") + " #" + counter); } this.addTableHeaderCell(table, deliverableBlock); // Next user stringBuilder = new StringBuilder(); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder.append(nextUser.getUser()); deliverableBlock.add(this.messageReturn(stringBuilder.toString())); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1); // Expected Changes stringBuilder = new StringBuilder(); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock .add(this.getText("summaries.project.deliverable.next.user.expected.change")); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder.append(this.messageReturn(nextUser.getExpectedChanges())); deliverableBlock.add(stringBuilder.toString()); // document.add(deliverableBlock); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1); // Strategies stringBuilder = new StringBuilder(); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.deliverable.next.user.strategies")); deliverableBlock.setFont(TABLE_BODY_FONT); stringBuilder.append(this.messageReturn(nextUser.getStrategies())); deliverableBlock.add(stringBuilder.toString()); // document.add(deliverableBlock); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1); document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); counter++; } } // ********** Deliverable partnership**************************** // ******************Partner contributing counter = 1; table = new PdfPTable(1); table.setLockedWidth(true); table.setTotalWidth(480); // Title partners contributing deliverableBlock = new Paragraph(); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.setFont(TABLE_HEADER_FONT); deliverableBlock.add(this.getText("summaries.project.deliverable.partnership")); deliverableBlock.setFont(TABLE_HEADER_FONT); this.addTableHeaderCell(table, deliverableBlock); // Organization stringBuilder = new StringBuilder(); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.deliverable.partnership.organization") + " #" + counter + " (Responsible)" + ": "); deliverableBlock.setFont(TABLE_BODY_FONT); DeliverablePartner deliverableResponsiblePartner = deliverable.getResponsiblePartner(); PartnerPerson partnerPersonResponsible = null; if (deliverableResponsiblePartner != null) { partnerPersonResponsible = deliverableResponsiblePartner.getPartner(); } if (deliverableResponsiblePartner != null && partnerPersonResponsible != null) { stringBuilder.append(this.messageReturn(partnerPersonResponsible.getComposedName())); stringBuilder.append(", "); stringBuilder .append(this.mapPartnerPersons.get(String.valueOf(partnerPersonResponsible.getId()))); } else { stringBuilder.append(this.getText("summaries.project.empty")); } deliverableBlock.add(stringBuilder.toString()); deliverableBlock.add(Chunk.NEWLINE); ; this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1); counter = 1; // ************** Other Partners List<DeliverablePartner> listOtherPartner = deliverable.getOtherPartners(); PartnerPerson otherResponsiblepartnerPerson = null; if (!listOtherPartner.isEmpty()) { for (DeliverablePartner deliverablePartner : listOtherPartner) { if (deliverablePartner != null) { counter++; // Title partners contributing deliverableBlock = new Paragraph(); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.setFont(BODY_TEXT_BOLD_FONT); if (listOtherPartner.size() == 1) { deliverableBlock.add(this.getText("summaries.project.deliverable.partnership")); } else { deliverableBlock.add( this.getText("summaries.project.deliverable.partnership") + " #" + counter); } // Organization stringBuilder = new StringBuilder(); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock .add(this.getText("summaries.project.deliverable.partnership.organization") + " #" + counter + ": "); deliverableBlock.add(""); deliverableBlock.setFont(TABLE_BODY_FONT); otherResponsiblepartnerPerson = deliverablePartner.getPartner(); if (otherResponsiblepartnerPerson != null) { stringBuilder.append( this.messageReturn(otherResponsiblepartnerPerson.getComposedName())); stringBuilder.append(", "); stringBuilder.append(this.mapPartnerPersons .get(String.valueOf(otherResponsiblepartnerPerson.getId()))); } else { stringBuilder.append(this.getText("summaries.project.empty")); } deliverableBlock.add(stringBuilder.toString()); deliverableBlock.add(Chunk.NEWLINE); ; this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_JUSTIFIED, 1); } } } document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); } // ********** Ranking************************************** PdfPCell cell_new; if (project.isReporting()) { PdfPTable table = new PdfPTable(2); table.setLockedWidth(true); table.setTotalWidth(480); table.setWidths(new int[] { 7, 3 }); DeliverablesRanking deliverableRanking = deliverable.getRanking(); // summaries.project.reporting.deliverable.ranking Paragraph deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_HEADER_FONT); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.ranking")); cell_new = new PdfPCell(deliverableBlock); cell_new.setHorizontalAlignment(Element.ALIGN_CENTER); cell_new.setVerticalAlignment(Element.ALIGN_MIDDLE); cell_new.setBackgroundColor(TABLE_HEADER_BACKGROUND); cell_new.setUseBorderPadding(true); cell_new.setPadding(3); cell_new.setBorderColor(TABLE_CELL_BORDER_COLOR); cell_new.setColspan(2); this.addTableHeaderCell(table, cell_new); // address gender deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.addres.gender")); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableRanking != null && deliverableRanking.getAddress() != null) { deliverableBlock.add(this.messageReturn(deliverableRanking.getAddress().toString())); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_CENTER, 1); // Get Potential deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.contribution.outcome")); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableRanking != null && deliverableRanking.getPotential() != null) { deliverableBlock.add(this.messageReturn(deliverableRanking.getPotential().toString())); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_CENTER, 1); // Level deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.shared.ownership")); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableRanking != null && deliverableRanking.getLevel() != null) { deliverableBlock.add(this.messageReturn(deliverableRanking.getLevel().toString())); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_CENTER, 1); // Personal perspective deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.personal.prespective")); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableRanking != null && deliverableRanking.getPersonalPerspective() != null) { deliverableBlock .add(this.messageReturn(String.valueOf(deliverableRanking.getPersonalPerspective()))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_CENTER, 1); document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); // ********** Deliverable Dissemination************************************** DeliverableDissemination deliverableDissemination = deliverable.getDissemination(); table = new PdfPTable(1); table.setLockedWidth(true); table.setTotalWidth(480); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_HEADER_FONT); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.dissemination")); this.addTableHeaderCell(table, deliverableBlock); // Open access deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.dissemination.open")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableDissemination != null) { if (deliverableDissemination.getIsOpenAccess() != null && deliverableDissemination.getIsOpenAccess().booleanValue()) { deliverableBlock.add("Yes"); } else if (deliverableDissemination.getIntellectualProperty() != null && deliverableDissemination.getIntellectualProperty().booleanValue()) { deliverableBlock.add( this.getText("summaries.project.reporting.deliverable.dissemination.intellectual")); } else if (deliverableDissemination.getLimitedExclusivity() != null && deliverableDissemination.getLimitedExclusivity().booleanValue()) { deliverableBlock .add(this.getText("summaries.project.reporting.deliverable.dissemination.limited")); } else if (deliverableDissemination.getRestrictedUseAgreement() != null && deliverableDissemination.getRestrictedUseAgreement().booleanValue()) { deliverableBlock.add( this.getText("summaries.project.reporting.deliverable.dissemination.restricted")); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock .add(this.getText("summaries.project.reporting.deliverable.dissemination.access")); deliverableBlock.setFont(TABLE_BODY_FONT); deliverableBlock.add(deliverableDissemination.getRestrictedAccessUntilText()); } else if (deliverableDissemination.getEffectiveDateRestriction() != null && deliverableDissemination.getEffectiveDateRestriction().booleanValue()) { deliverableBlock.add( this.getText("summaries.project.reporting.deliverable.dissemination.effective")); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add( this.getText("summaries.project.reporting.deliverable.dissemination.embargoed")); deliverableBlock.setFont(TABLE_BODY_FONT); deliverableBlock.add(deliverableDissemination.getRestrictedEmbargoedText()); } else { deliverableBlock.add(this.messageReturn(null)); } } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // License adopted deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.dissemination.license")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableDissemination != null) { if (deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_LICENSE) != null) { deliverableBlock.add(this.messageReturn(deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_LICENSE))); } else { deliverableBlock.add("No"); } } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // // Dissemination channel deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.dissemination.channel")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableDissemination != null) { deliverableBlock.add(this.messageReturn(deliverableDissemination.getDisseminationChannel())); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // Dissemination URL deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.dissemination.url")); deliverableBlock.setFont(TABLE_BODY_FONT_LINK); if (deliverableDissemination != null) { deliverableBlock.add(this.messageReturn(deliverableDissemination.getDisseminationUrl())); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); // ********** Deliverable Metadata************************************** DeliverablePublicationMetadata deliverableMetadata = deliverable.getPublicationMetadata(); table = new PdfPTable(1); table.setLockedWidth(true); table.setTotalWidth(480); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_HEADER_FONT); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata")); this.addTableHeaderCell(table, deliverableBlock); // Description deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata.description")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableMetadata != null) { deliverableBlock.add(this.messageReturn(deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_DESCRIPTION))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // creator deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata.creator")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableMetadata != null) { deliverableBlock.add(this.messageReturn( deliverable.getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_CREATOR))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // authorID deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata.authorID")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableMetadata != null) { deliverableBlock.add(this.messageReturn(deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_CREATOR_ID))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // Creation deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata.creation")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableMetadata != null) { deliverableBlock.add(this.messageReturn(deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_PUBLICATION))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // Language deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata.language")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableMetadata != null) { deliverableBlock.add(this.messageReturn(this.messageReturn(deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_LANGUAGE)))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); // Coverage deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.metadata.coverage")); deliverableBlock.setFont(TABLE_BODY_FONT); if (deliverableMetadata != null) { deliverableBlock.add(this.messageReturn(deliverable .getMetadataValueByEncondedName(APConstants.DELIVERABLE_ENCONDING_COVERAGE))); } else { deliverableBlock.add(this.messageReturn(null)); } this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); // ********** Deliverable Data Sharing************************************** table = new PdfPTable(1); table.setLockedWidth(true); table.setTotalWidth(480); deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_HEADER_FONT); deliverableBlock.setAlignment(Element.ALIGN_LEFT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.datasharing")); this.addTableHeaderCell(table, deliverableBlock); // Files deliverableBlock = new Paragraph(); deliverableBlock.setFont(TABLE_BODY_BOLD_FONT); deliverableBlock.add(this.getText("summaries.project.reporting.deliverable.datasharing.files")); deliverableBlock.add("\n"); deliverableBlock.setFont(TABLE_BODY_FONT); List<DeliverableDataSharingFile> deliverableDataSharingFileList = deliverable.getDataSharingFile(); cell_new = new PdfPCell(deliverableBlock); cell_new.setHorizontalAlignment(Element.ALIGN_CENTER); cell_new.setVerticalAlignment(Element.ALIGN_MIDDLE); cell_new.setBackgroundColor(TABLE_BODY_ODD_ROW_BACKGROUND); cell_new.setUseBorderPadding(true); cell_new.setPadding(3); cell_new.setBorderColor(TABLE_CELL_BORDER_COLOR); cell_new.setColspan(2); Anchor anchor; Phrase myurl; counter = 0; if (deliverableDataSharingFileList != null) { for (DeliverableDataSharingFile deliverableDataSharingFile : deliverableDataSharingFileList) { if (deliverableDataSharingFile != null) { anchor = new Anchor(deliverableDataSharingFile.getFile(), TABLE_BODY_FONT_LINK); anchor.setReference(config.getDownloadURL() + "/projects/" + project.getId() + "/deliverableDataSharing/" + deliverableDataSharingFile.getFile()); myurl = new Phrase(); myurl.add(anchor); myurl.setFont(TABLE_BODY_FONT_LINK); cell_new.addElement(myurl); if (counter > 1) { cell_new.addElement(new Paragraph("\n")); } counter++; } } table.addCell(cell_new); } else { deliverableBlock.setFont(TABLE_BODY_FONT); deliverableBlock.add(this.messageReturn(null)); this.addTableBodyCell(table, deliverableBlock, Element.ALIGN_LEFT, 1); } document.add(table); deliverableBlock = new Paragraph(); deliverableBlock.add(Chunk.NEWLINE); deliverableBlock.add(Chunk.NEWLINE); document.add(deliverableBlock); } } catch (DocumentException e) { LOG.error( "-- generatePdf() > There was an error adding the table with content for case study summary. ", e); } }
From source file:org.cgiar.ccafs.ap.summaries.projects.pdf.ProjectSummaryPDF.java
License:Open Source License
private void addProjectCCAFSOutcomes(String number) { PdfPTable table = new PdfPTable(3); Paragraph cell = new Paragraph(); Paragraph indicatorsBlock = new Paragraph(); indicatorsBlock.setAlignment(Element.ALIGN_JUSTIFIED); indicatorsBlock.setKeepTogether(true); Paragraph title = new Paragraph(number + ".2 " + this.getText("summaries.project.indicatorsContribution"), HEADING3_FONT);/*from www . j av a 2 s . c o m*/ indicatorsBlock.add(Chunk.NEWLINE); indicatorsBlock.add(title); try { document.add(indicatorsBlock); List<IPElement> listIPElements = this.getMidOutcomesPerIndicators(); if (!listIPElements.isEmpty()) { if (project.isReporting()) { for (IPElement outcome : listIPElements) { Paragraph outcomeBlock = new Paragraph(); int indicatorIndex = 1; outcomeBlock.add(Chunk.NEWLINE); outcomeBlock.setAlignment(Element.ALIGN_JUSTIFIED); outcomeBlock.setFont(BODY_TEXT_BOLD_FONT); outcomeBlock.add(outcome.getProgram().getAcronym()); outcomeBlock.add(" - " + this.getText("summaries.project.midoutcome")); outcomeBlock.setFont(BODY_TEXT_FONT); outcomeBlock.add(outcome.getDescription()); outcomeBlock.add(Chunk.NEWLINE); outcomeBlock.add(Chunk.NEWLINE); document.add(outcomeBlock); for (IPIndicator outcomeIndicator : outcome.getIndicators()) { outcomeIndicator = outcomeIndicator.getParent() != null ? outcomeIndicator.getParent() : outcomeIndicator; List<IPIndicator> indicators = project.getIndicatorsByParent(outcomeIndicator.getId()); if (indicators.isEmpty()) { continue; } Paragraph indicatorDescription = new Paragraph(); indicatorDescription.setFont(BODY_TEXT_BOLD_FONT); indicatorDescription.add(this.getText("summaries.project.indicators")); indicatorDescription.add(String.valueOf(indicatorIndex) + ": "); indicatorDescription.setFont(BODY_TEXT_FONT); indicatorDescription.setAlignment(Element.ALIGN_JUSTIFIED); indicatorDescription.add(outcomeIndicator.getDescription()); document.add(indicatorDescription); document.add(Chunk.NEWLINE); ; PdfPCell cell_new; for (IPIndicator indicator : indicators) { table = new PdfPTable(3); table.setLockedWidth(true); table.setTotalWidth(480); table.setWidths(new int[] { 3, 3, 3 }); table.setHeaderRows(1); if (indicator.getOutcome().getId() != outcome.getId()) { continue; } cell = new Paragraph(this.messageReturn(String.valueOf(indicator.getYear())), TABLE_HEADER_FONT); cell_new = new PdfPCell(cell); // Set alignment cell_new.setHorizontalAlignment(Element.ALIGN_CENTER); cell_new.setVerticalAlignment(Element.ALIGN_MIDDLE); cell_new.setBackgroundColor(TABLE_HEADER_BACKGROUND); // Set padding cell_new.setUseBorderPadding(true); cell_new.setPadding(3); // Set border color cell_new.setBorderColor(TABLE_CELL_BORDER_COLOR); cell_new.setColspan(3); this.addTableHeaderCell(table, cell_new); // Target value cell = new Paragraph(this.getText("summaries.project.indicator.targetValue"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); cell.add(this.messageReturn(indicator.getTarget())); this.addTableBodyCell(table, cell, Element.ALIGN_JUSTIFIED, 1); // Cumulative target to date // TODO cell = new Paragraph(this.getText("summaries.project.indicator.cumulative"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); cell.add(this.messageReturn( project.calculateAcumulativeTarget(indicator.getYear(), indicator))); if (indicator.getYear() <= this.currentReportingYear) { this.addTableBodyCell(table, cell, Element.ALIGN_JUSTIFIED, 1); // achieved cell = new Paragraph(this.getText("summaries.project.indicator.archieved"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); if (indicator.getArchived() == null) { cell.add(this.messageReturn(null)); } else { cell.add(this.messageReturn(String.valueOf(indicator.getArchived()))); } this.addTableBodyCell(table, cell, Element.ALIGN_JUSTIFIED, 1); } else { this.addTableColSpanCell(table, cell, Element.ALIGN_JUSTIFIED, 1, 2); } // target narrative cell = new Paragraph(this.getText("summaries.project.indicator.targetNarrative"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); cell.add(this.messageReturn(indicator.getDescription())); this.addTableColSpanCell(table, cell, Element.ALIGN_JUSTIFIED, 1, 3); // targets achieved if (indicator.getYear() <= this.currentReportingYear) { cell = new Paragraph( this.getText("summaries.project.indicator.targetsAchieved"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); cell.add(this.messageReturn(indicator.getNarrativeTargets())); this.addTableColSpanCell(table, cell, Element.ALIGN_JUSTIFIED, 1, 3); } // Target gender cell = new Paragraph(this.getText("summaries.project.indicator.targetGender"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); cell.add(this.messageReturn(indicator.getGender())); this.addTableColSpanCell(table, cell, Element.ALIGN_JUSTIFIED, 1, 3); // Target achieved gender if (indicator.getYear() <= this.currentReportingYear) { cell = new Paragraph(this.getText("summaries.project.indicator.genderAchieved"), TABLE_BODY_BOLD_FONT); cell.setFont(TABLE_BODY_FONT); cell.add(this.messageReturn(indicator.getNarrativeGender())); this.addTableColSpanCell(table, cell, Element.ALIGN_JUSTIFIED, 1, 3); } document.add(table); document.add(Chunk.NEWLINE); } indicatorIndex++; } } //////////// Planning } else { for (IPElement outcome : listIPElements) { Paragraph outcomeBlock = new Paragraph(); int indicatorIndex = 1; outcomeBlock.add(Chunk.NEWLINE); outcomeBlock.setAlignment(Element.ALIGN_JUSTIFIED); outcomeBlock.setFont(BODY_TEXT_BOLD_FONT); outcomeBlock.add(outcome.getProgram().getAcronym()); outcomeBlock.add(" - " + this.getText("summaries.project.midoutcome")); outcomeBlock.setFont(BODY_TEXT_FONT); outcomeBlock.add(outcome.getDescription()); outcomeBlock.add(Chunk.NEWLINE); outcomeBlock.add(Chunk.NEWLINE); document.add(outcomeBlock); for (IPIndicator outcomeIndicator : outcome.getIndicators()) { outcomeIndicator = outcomeIndicator.getParent() != null ? outcomeIndicator.getParent() : outcomeIndicator; List<IPIndicator> indicators = project.getIndicatorsByParent(outcomeIndicator.getId()); if (indicators.isEmpty()) { continue; } Paragraph indicatorDescription = new Paragraph(); indicatorDescription.setFont(BODY_TEXT_BOLD_FONT); indicatorDescription.add(this.getText("summaries.project.indicators")); indicatorDescription.add(String.valueOf(indicatorIndex) + ": "); indicatorDescription.setFont(BODY_TEXT_FONT); indicatorDescription.setAlignment(Element.ALIGN_JUSTIFIED); indicatorDescription.add(outcomeIndicator.getDescription()); document.add(indicatorDescription); document.add(Chunk.NEWLINE); ; table = new PdfPTable(4); table.setLockedWidth(true); table.setTotalWidth(480); table.setWidths(new int[] { 1, 3, 3, 3 }); table.setHeaderRows(1); // Headers cell = new Paragraph(this.getText("summaries.project.indicator.year"), TABLE_HEADER_FONT); this.addTableHeaderCell(table, cell); cell = new Paragraph(this.getText("summaries.project.indicator.targetValue"), TABLE_HEADER_FONT); this.addTableHeaderCell(table, cell); cell = new Paragraph(this.getText("summaries.project.indicator.targetNarrative"), TABLE_HEADER_FONT); this.addTableHeaderCell(table, cell); cell = new Paragraph(this.getText("summaries.project.indicator.targetGender"), TABLE_HEADER_FONT); this.addTableHeaderCell(table, cell); for (IPIndicator indicator : indicators) { if (indicator.getOutcome().getId() != outcome.getId()) { continue; } cell = new Paragraph(this.messageReturn(String.valueOf(indicator.getYear())), TABLE_BODY_FONT); this.addTableBodyCell(table, cell, Element.ALIGN_CENTER, 1); cell = new Paragraph(this.messageReturn(indicator.getTarget()), TABLE_BODY_FONT); this.addTableBodyCell(table, cell, Element.ALIGN_CENTER, 1); cell = new Paragraph(this.messageReturn(indicator.getDescription()), TABLE_BODY_FONT); this.addTableBodyCell(table, cell, Element.ALIGN_JUSTIFIED, 1); cell = new Paragraph(this.messageReturn(indicator.getGender()), TABLE_BODY_FONT); this.addTableBodyCell(table, cell, Element.ALIGN_JUSTIFIED, 1); } indicatorIndex++; document.add(table); document.add(Chunk.NEWLINE); } } } // When there isn't elements in indicators } else { cell = new Paragraph(this.getText("summaries.project.empty")); document.add(cell); } } catch ( DocumentException e) { LOG.error("There was an error trying to add the project focuses to the project summary pdf", e); } }
From source file:org.egov.works.web.actions.estimate.EstimatePDFGenerator.java
License:Open Source License
private PdfPTable createDepositAppropriationTable(final AbstractEstimate estimate, final String appropriationNumber) throws DocumentException { int isReject = -1; depositWorksUsageService = abstractEstimateService.getDepositWorksUsageService(); BigDecimal totalUtilizedAmt;/*from w ww .j a v a 2 s. c o m*/ BigDecimal amtAppropriatedsofar; BigDecimal totalDepositAmt; BigDecimal balOnHand; BigDecimal balanceAvailable; BigDecimal amtAppropriated; final Accountdetailtype accountdetailtype = worksService.getAccountdetailtypeByName("DEPOSITCODE"); estimateAppropriationService = abstractEstimateService.getEstimateAppropriationService(); abstractEstimateAppropriationList = estimateAppropriationService.findAllBy( "from AbstractEstimateAppropriation aea where aea.abstractEstimate.id=? and aea.depositWorksUsage.id is not null order by id, aea.depositWorksUsage.financialYearId asc", estimate.getId()); final PdfPTable depositWorksAppropriationTable = new PdfPTable(2); depositWorksAppropriationTable.setWidthPercentage(100); depositWorksAppropriationTable.setWidths(new float[] { 2f, 8f }); if (appropriationNumber != null && appropriationNumber.toUpperCase().contains("BC")) isReject = 1; if (appropriationNumber != null && estimate.getTotalAmount() != null && isReject == -1) { addRow(depositWorksAppropriationTable, true, centerPara("Deposit Code"), centerPara(estimate.getDepositCode().getCode())); addRow(depositWorksAppropriationTable, true, centerPara("Account Code"), centerPara(estimate.getFinancialDetails().get(0).getCoa().getGlcode() + "-" + estimate.getFinancialDetails().get(0).getCoa().getName())); addRow(depositWorksAppropriationTable, true, makePara("Function Center"), centerPara(estimate.getFinancialDetails().get(0).getFunction().getName())); addRow(depositWorksAppropriationTable, true, makePara("Department"), centerPara(estimate.getUserDepartment().getName())); addRow(depositWorksAppropriationTable, true, makePara("Amount of the Estimate "), rightPara(toCurrency(estimate.getTotalAmount()))); final PdfPTable appropriationDetailTable = new PdfPTable(6); addRow(appropriationDetailTable, true, makePara(7f, "Appropriation Number"), makePara(7f, "Total Deposit Amount"), makePara(7f, "Amount Appropriated so far"), makePara(7f, "Amount Appropriated"), makePara(7f, "Balance on Hand"), makePara(7f, "Balance After Appropriation")); for (final AbstractEstimateAppropriation abstractEstimateAppropriation : abstractEstimateAppropriationList) if (abstractEstimateAppropriation.getDepositWorksUsage().getConsumedAmount().doubleValue() != 0) { totalDepositAmt = depositWorksUsageService.getTotalDepositWorksAmount( estimate.getDepositCode().getFund(), abstractEstimateAppropriation.getAbstractEstimate().getFinancialDetails().get(0) .getCoa(), accountdetailtype, estimate.getDepositCode().getId(), abstractEstimateAppropriation.getDepositWorksUsage().getAppropriationDate()); totalUtilizedAmt = depositWorksUsageService.getTotalUtilizedAmountForDepositWorks( abstractEstimateAppropriation.getAbstractEstimate().getFinancialDetails().get(0), abstractEstimateAppropriation.getDepositWorksUsage().getCreatedDate()); if (totalUtilizedAmt == null) totalUtilizedAmt = BigDecimal.ZERO; amtAppropriatedsofar = totalUtilizedAmt .subtract(abstractEstimateAppropriation.getDepositWorksUsage().getConsumedAmount()); balOnHand = totalDepositAmt.subtract(amtAppropriatedsofar); amtAppropriated = abstractEstimateAppropriation.getDepositWorksUsage().getConsumedAmount(); balanceAvailable = BigDecimal .valueOf(totalDepositAmt.doubleValue() - totalUtilizedAmt.doubleValue()); addRow(appropriationDetailTable, true, makePara(7f, abstractEstimateAppropriation.getDepositWorksUsage().getAppropriationNumber()), rightPara(7f, toCurrency(totalDepositAmt.doubleValue())), rightPara(7f, toCurrency(amtAppropriatedsofar.doubleValue())), rightPara(7f, toCurrency(amtAppropriated.doubleValue())), rightPara(7f, toCurrency(balOnHand.doubleValue())), rightPara(7f, toCurrency(balanceAvailable.doubleValue()))); } final PdfPCell appDetailpdfCell = new PdfPCell(appropriationDetailTable); appDetailpdfCell.setBorderWidth(0); final PdfPCell appDetailRightHeader = new PdfPCell( makePara("Financail Year Wise Appropriation Details")); appDetailRightHeader.setVerticalAlignment(Element.ALIGN_MIDDLE); depositWorksAppropriationTable.addCell(appDetailRightHeader); appropriationDetailTable.setWidthPercentage(100); depositWorksAppropriationTable.addCell(appDetailpdfCell); } return depositWorksAppropriationTable; }
From source file:org.kuali.kfs.module.cam.report.DepreciationReport.java
License:Open Source License
/** * This method adds the log lines into the report * /*from ww w . j av a 2 s . c o m*/ * @param reportLog */ private void generateReportLogBody(List<String[]> reportLog) { try { Font font = FontFactory.getFont(FontFactory.HELVETICA, 9, Font.NORMAL); int columnwidths[]; columnwidths = new int[] { 40, 15 }; Table aTable = new Table(2, linesPerPage); int rowsWritten = 0; for (String[] columns : reportLog) { if (pageNumber == 0 || line >= linesPerPage) { if (pageNumber > 0) { this.document.add(aTable); } int elementsLeft = reportLog.size() - rowsWritten; int rowsNeeded = (elementsLeft >= linesPerPage ? linesPerPage : elementsLeft); this.document.newPage(); this.generateColumnHeaders(); aTable = new Table(2, rowsNeeded); // 12 columns, 11 rows. aTable.setAutoFillEmptyCells(true); aTable.setPadding(3); aTable.setWidths(columnwidths); aTable.setWidth(100); aTable.setBorder(Rectangle.NO_BORDER); line = 0; pageNumber++; } rowsWritten++; Cell cell; cell = new Cell(new Phrase(columns[0], font)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); aTable.addCell(cell); cell = new Cell(new Phrase(columns[1], font)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); aTable.addCell(cell); line++; } this.document.add(aTable); } catch (DocumentException de) { throw new RuntimeException( "DepreciationReport.generateReportLogBody(List<String[]> reportLog) - error: " + de.getMessage()); } }