summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java')
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java256
1 files changed, 0 insertions, 256 deletions
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java
deleted file mode 100644
index 34e38062..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.pdf;
-
-import java.awt.Color;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-
-import com.lowagie.text.BadElementException;
-import com.lowagie.text.Cell;
-import com.lowagie.text.Document;
-import com.lowagie.text.ExceptionConverter;
-import com.lowagie.text.Font;
-import com.lowagie.text.FontFactory;
-import com.lowagie.text.Image;
-import com.lowagie.text.Paragraph;
-import com.lowagie.text.Rectangle;
-import com.lowagie.text.pdf.PdfContentByte;
-import com.lowagie.text.pdf.PdfDestination;
-import com.lowagie.text.pdf.PdfOutline;
-import com.lowagie.text.pdf.PdfPCell;
-import com.lowagie.text.pdf.PdfPTable;
-import com.lowagie.text.pdf.PdfPageEventHelper;
-import com.lowagie.text.pdf.PdfWriter;
-
-class PageEvent extends PdfPageEventHelper {
- private PdfBean pb;
- private int pageNo = 0;
- private int omit_page_count = 0;
- private int DEFAULT_LOGO_SIZE = 100;
-
- public PageEvent(PdfBean pb) {
- this.pb = pb;
- }
-
- private int getWidthEntries(int howManyLogos){
- int widthEntries = 0;
-
- if(howManyLogos == 2)
- widthEntries = 3;
- else
- if(howManyLogos == 1)
- widthEntries = 2;
- else
- widthEntries = 0;
-
- return widthEntries;
- }
-
- private int getHowManyLogos(){
- int howManyLogos = 0;
-
- if(AppUtils.isNotEmpty(pb.getLogo1Url()) && !pb.getLogo1Url().equalsIgnoreCase("<no logo>"))
- howManyLogos ++;
-
- if(AppUtils.isNotEmpty(pb.getLogo2Url()) && !pb.getLogo2Url().equalsIgnoreCase("<no logo>"))
- howManyLogos ++;
-
- return howManyLogos;
- }
-
- private float[] fillWidthsArray(int howManyLogos){
- float[] widthsArray = new float[howManyLogos + 1];
-
- //If one logo, we will need two columns in the header[left log, spacer]
- if(howManyLogos == 1){
- widthsArray = new float[2];
- widthsArray[0] = 0.1f;
- widthsArray[1] = 0.1f;
- }
- //If two logs, we will need three columns in the header [left log, spacer, right log]
- else
- if(howManyLogos == 2){
- widthsArray = new float[3];
- widthsArray[0] = 0.1f;
- widthsArray[1] = 0.5f;
- widthsArray[2] = 0.1f;
- }
-
- return widthsArray;
- }
- public void onStartPage(PdfWriter writer, Document document) {
-
- Font font = FontFactory.getFont(Globals.getFooterFontFamily(), Globals.getFooterFontSize(), Font.NORMAL, Color.BLACK);
- int howManyLogos = getHowManyLogos();
-
- //No need to draw anything in the header if no logo was set in the report.
- if(howManyLogos == 0)
- return;
-
- float[] widths = fillWidthsArray(howManyLogos);
-
- PdfPTable foot = new PdfPTable(widths);
-
- if(AppUtils.isNotEmpty(pb.getLogo1Url()) && !pb.getLogo1Url().equalsIgnoreCase("<no logo>"))
- addLogo(foot, font, pb.getLogo1Url().substring(pb.getLogo1Url().indexOf("|") + 1).trim(), Cell.ALIGN_LEFT, pb.getLogo1Size() == null ? DEFAULT_LOGO_SIZE : pb.getLogo1Size());
-
- PdfPCell spacingCell = new PdfPCell();
- spacingCell.setBorderColor(Color.WHITE);
- foot.addCell(spacingCell);
-
- //Using logo1 size for now - use logo2 size if it is required to deal it separately.
- if(AppUtils.isNotEmpty(pb.getLogo2Url()) && !pb.getLogo2Url().equalsIgnoreCase("<no logo>"))
- addLogo(foot, font, pb.getLogo2Url().substring(pb.getLogo2Url().indexOf("|") + 1).trim(), Cell.ALIGN_RIGHT, pb.getLogo2Size() == null ? DEFAULT_LOGO_SIZE : pb.getLogo2Size());
-
- foot.setTotalWidth(getPageWidth(document));
- foot.writeSelectedRows(0, -1, 36, 600, writer.getDirectContent());
- }
-
- public void onEndPage(PdfWriter writer, Document document) {
-
- Font font = FontFactory.getFont(Globals.getFooterFontFamily(), Globals.getFooterFontSize(), Font.NORMAL, Color.BLACK);
-
- try {
-
- // footer
- float[] f = { 1f, 0.4f, 1f };
- PdfPTable foot = new PdfPTable(f);
- foot.getDefaultCell().setBorderWidth(0);
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- foot.getDefaultCell().setVerticalAlignment(Rectangle.ALIGN_BOTTOM);
-
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_LEFT);
- addLeftFooter(foot, font);
-
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- addPageNumber(foot, font, pb.isPageNumberAtFooter(), document.getPageNumber());
-
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_RIGHT);
- foot.getDefaultCell().setNoWrap(true);
-
- foot.addCell(new Paragraph(" " + PdfReportHandler.currentTime(pb.getTimestampPattern()), font));
-
- foot.setTotalWidth(getPageWidth(document));
- foot.writeSelectedRows(0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent());
-
- // bookmark
- pageNo++;
- PdfContentByte cb = writer.getDirectContent();
- PdfDestination destination = new PdfDestination(PdfDestination.FITH);
- String bookmark = "Data Page " + (pageNo - omit_page_count);
- if (pageNo == 1) {
- if (pb.isCoverPageIncluded()) {
- bookmark = "Cover Page";
- omit_page_count++;
- } else if (pb.isDisplayChart()) {
- bookmark = "Chart";
- omit_page_count++;
- }
- }
- if (pageNo == 2 && pb.isCoverPageIncluded() && pb.isDisplayChart()) {
- bookmark = "Chart";
- omit_page_count++;
- }
-
- PdfOutline outline = new PdfOutline(cb.getRootOutline(), destination, bookmark);
-
- } catch (Exception e) {
- throw new ExceptionConverter(e);
- }
- }
-
- private void addPageNumber(PdfPTable table, Font font, boolean isAdd, int pageNum) {
- if (isAdd)
- table.addCell(new Paragraph(Globals.getWordBeforePageNumber() + " " + pageNum + " " + Globals.getWordAfterPageNumber(), font));
- else
- table.addCell("");
- }
-
- private void addLeftFooter(PdfPTable table, Font font) {
- Font font1 = new Font(font);
- font1.setSize(Globals.getAttProprieraryFontSize());
-
- if (isEmpty(pb.getLeftFooter()))
- table.addCell(new Paragraph(" " + Globals.getAttProprietary(), font1));
- else
- table.addCell(new Paragraph(pb.getLeftFooter(), font));
- }
-
- private void addHeaderDummy(PdfPTable table, Font font) {
- Font font1 = new Font(font);
- font1.setSize(Globals.getAttProprieraryFontSize());
-
- table.addCell(new Paragraph("Header row", font1));
- }
-
- private void addLogo(PdfPTable table, Font font, String imgSrc, int alignment, int absoluteSize) {
-
- Image img = null;
- try {
- img = Image.getInstance(pb.getFullWebContextPath() + AppUtils.getImgFolderURL() + File.separator + imgSrc);
- } catch (BadElementException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- img = null;
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- img = null;
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
-
- }
- if(img == null){
- //log that the input file couldnt be loaded -
- }
- else{
- //img.scaleAbsolute(absoluteSize, absoluteSize);
- img.scalePercent(absoluteSize, absoluteSize);
- PdfPCell cell = new PdfPCell(img);
- cell.setBorderColor(Color.WHITE);
- cell.setHorizontalAlignment(alignment);
- table.addCell(cell);
- }
-
- }
-
- public static float getPageWidth(Document doc) {
- return doc.getPageSize().width() - doc.leftMargin() - doc.rightMargin();
- }
-
- public static float getPageHeight(Document doc) {
- return doc.getPageSize().height() - doc.topMargin() - doc.bottomMargin();
- }
-
- private float getHeadTopMargin(Document doc, PdfPTable table) {
- return doc.getPageSize().height() - doc.topMargin() + table.getTotalHeight();
- }
-
- private boolean isEmpty(String str) {
- return str == null || str.trim().length() == 0;
- }
-
-} // PageEvent