Example usage for com.lowagie.text Cell setRowspan

List of usage examples for com.lowagie.text Cell setRowspan

Introduction

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

Prototype

public void setRowspan(int value) 

Source Link

Document

Sets the rowspan.

Usage

From source file:QMSMultiQuoteController.java

License:Open Source License

private int doPDFGeneration(MultiQuoteFinalDOB finalDOB, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    int mailFlag = 0;
    int faxFlag = 0;
    int printFlag = 0;
    int returnFlag = 3;
    //@@Modified by kiran.v on 01/08/2011 for Wpbn Issue 271485
    ArrayList Sd = null;//from  ww  w. j  ava 2  s  .c  o m
    ArrayList Cd = null;
    ArrayList Cdn = null;
    boolean frequencyFlag = false;
    boolean carrierFlag = false;
    boolean serviceFlag = false;
    Map<String, String> surChargesMap = null;
    //Kiran ends
    String transitTime = null;
    String[] contents = null;
    String[] levels = null;
    String[] aligns = null;
    String[] headFoot = null;
    String charge_desc = null;//@@Added by govind for the issue 258189
    //@@Added by Kameswari for the WPBN issue-61289
    ArrayList dobList = new ArrayList();
    MultiQuoteAttachmentDOB attachmentDOB = null;
    //@@Added by Kameswari for the WPBN issue-146448
    ArrayList charges = null;
    int chargesSize = 0;
    int noOfLanes = 0;
    MultiQuoteCharges chargesDOB = null;
    MultiQuoteChargeInfo multiQuoteChargeInfo = null;
    ArrayList freightCharges = null;
    MultiQuoteFreightLegSellRates legCharges = null;
    MultiQuoteFreightLegSellRates legOrginCharges = null;
    MultiQuoteFreightLegSellRates legDestCharges = null;
    String str1[] = null;
    ArrayList frequency = new ArrayList();
    ArrayList carrier = new ArrayList();
    ArrayList transittime = new ArrayList();
    ArrayList ratevalidity = new ArrayList();
    ArrayList frequency_o = new ArrayList();
    ArrayList frequency_d = new ArrayList();
    ArrayList carrier_o = new ArrayList();
    ArrayList carrier_d = new ArrayList();
    ArrayList transit_o = new ArrayList();
    ArrayList transit_d = new ArrayList();
    ArrayList validity_o = new ArrayList();
    ArrayList validity_d = new ArrayList();
    int size = 0;

    int gTemp = 0; // Added By Gowtham For PDF View Issue
    String placeDesc = null; // Added By Gowtham For PDF View Issue
    String tmpOrgPort = ""; // Added by Gowtham
    int gTemp1 = 0;
    String tmpfrq = "";
    String tmpServl = "";
    String tmpCarrier = "";
    String tmpDestPort = "";
    int LegSize = 0;
    HashSet PortAbbSet = null;
    //@@WPBN issue-146448
    ArrayList filesList = new ArrayList();
    File file = null;
    byte[] buffer = null;
    ArrayList bufferList = new ArrayList();
    ArrayList pdfFilesList = new ArrayList();
    HttpSession session = request.getSession();
    // Added by kiran.v on 16/09/2011
    String operation = finalDOB.getOperation() != null ? finalDOB.getOperation()
            : finalDOB.getMasterDOB().getOperation();

    PdfWriter writer = null; //Method: doPDFGeneration Defect: PdfWriter is not closedSuggestion: Close and nullify the writer in the finally block.
    //   @@ Added by subrahmanyam for the WPBN ISSUE: 146460 on 29/01/2009    
    QMSMultiQuoteSessionHome home = null;
    QMSMultiQuoteSession remote = null;
    int incoSize = 0; // Added by Gowtham on 24Feb2011 for IncoTerms display in PDF
    //   @@ Ended by subrahmanyam for the WPBN ISSUE: 146460 on 29/01/2009   

    //@@ WPBN issue-61289
    PdfPTable pTable;
    PdfPCell pCell;

    try {
        Sd = new ArrayList();
        Cd = new ArrayList();
        Cdn = new ArrayList();
        String carrierChecked = request.getParameter("selectCarrier");
        String serviceLevelChecked = request.getParameter("selectService");
        String frequencyChecked = request.getParameter("selectFrequecy");
        String transitTimeChecked = request.getParameter("selectTransitTime");
        String validityChecked = request.getParameter("selectFrieghtValidity");
        boolean carrierflag = false;
        boolean serviceflag = false;
        boolean frequencyflag = false;
        //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
        boolean transittimeflag = false;
        boolean freightValidity = false;
        DecimalFormat df = new DecimalFormat("###,###,###,##0.00");
        MultiQuoteHeader headerDOB = finalDOB.getHeaderDOB();
        MultiQuoteMasterDOB masterDOB = finalDOB.getMasterDOB();
        ESupplyDateUtility eSupplyDateUtility = new ESupplyDateUtility();
        ESupplyGlobalParameters loginbean = (ESupplyGlobalParameters) request.getSession()
                .getAttribute("loginbean");

        eSupplyDateUtility.setPatternWithTime("DD-MONTH-YYYY");
        //eSupplyDateUtility.setPatternWithTime(loginbean.getUserPreferences().getDateFormat());
        //@@ Commented & Added by subrahmanyam for the Effective pbn Issue 212006 on # 26-Jul-10
        /* String[] strDate  = eSupplyDateUtility.getDisplayStringArray(headerDOB.getDateOfQuotation());
        String[] effDate  = eSupplyDateUtility.getDisplayStringArray(headerDOB.getEffDate());
        */
        String[] strDate = null;
        String[] effDate = null;
        if ("View".equalsIgnoreCase(request.getParameter("Operation"))) {
            if ("PDF".equalsIgnoreCase(request.getParameter("pdf"))) {
                strDate = eSupplyDateUtility.getDisplayStringArray(masterDOB.getModifiedDate());
                effDate = eSupplyDateUtility.getDisplayStringArray(masterDOB.getEffDate());
            } else {
                strDate = eSupplyDateUtility.getDisplayStringArray(masterDOB.getModifiedDate());
                //effDate  = eSupplyDateUtility.getDisplayStringArray(masterDOB.getCreatedDate());
                //@@Modified by kiran.v on 28/07/2011 for Wpbn Issue -256087
                effDate = eSupplyDateUtility.getDisplayStringArray(masterDOB.getEffDate());
            }

        } else {
            strDate = eSupplyDateUtility.getDisplayStringArray(headerDOB.getDateOfQuotation());
            effDate = eSupplyDateUtility.getDisplayStringArray(headerDOB.getEffDate());

        }

        String[] validDate;
        String validUptoStr = null;
        if (headerDOB.getValidUpto() != null) {
            validDate = eSupplyDateUtility.getDisplayStringArray(headerDOB.getValidUpto());
            validUptoStr = validDate[0];
        }

        StringBuffer attentionTo = new StringBuffer("");
        if (masterDOB.getCustContactNames() != null) {
            for (int i = 0; i < masterDOB.getCustContactNames().length; i++) {
                attentionTo.append(
                        masterDOB.getCustContactNames()[i] != null ? masterDOB.getCustContactNames()[i] : "");
                if (i != (masterDOB.getCustContactNames().length - 1))
                    attentionTo.append(",");
            }
        }
        charges = finalDOB.getLegDetails();

        chargesSize = charges.size();
        // System.out.println("Before Document Objec--------------------------->");
        Document document = new Document(PageSize.A4, 54f, 54f, 68.4f, 68.4f);//@@ 36 points represent 0.5 inch
        if (!"Charges".equalsIgnoreCase(masterDOB.getQuoteWith()))
            document.setPageSize(PageSize.A4.rotate());
        String PDF_FILE_NAME = "Approved.pdf";
        document.addTitle("Approved Report");
        document.addSubject("Report PDF");
        document.addKeywords("Test, Key Words");
        document.addAuthor("QuoteShop");
        document.addCreator("QuoteShop");
        document.addCreationDate();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ByteArrayOutputStream baosFile = new ByteArrayOutputStream();
        writer = PdfWriter.getInstance(document, baos);
        // int b = writer.getPageNumber();
        baos.close();

        document.open();

        //jyothi
        PdfContentByte cb = writer.getDirectContent();
        cb.rectangle(document.left(), document.bottom(), document.right() - document.left(),
                document.top() - document.bottom());

        cb.stroke();
        //jyothi
        // Graphic horizontalLine = new Graphic();
        //horizontalLine.setHorizontalLine(1f, 100f);
        // horizontalLine.setColorStroke(Color.BLACK);
        //horizontalLine.setLineWidth(100);

        // PdfFileStamp fileStamp = new PdfFileStamp("Approved.pdf");

        //PdfPageEventHelper helper

        //writer.setPageEvent(new PdfPageEventHelper());

        //document.setMargins(15,15,15,15);            
        // Draw a rectangle inside the page's margins.
        //PdfContentByte cb = writer.getDirectContent();
        //cb.rectangle (document.left (), document.bottom (), document.right ()-document.left (),document.top ()-document.bottom ());
        //cb.stroke ();
        int[] widths = { 12, 12, 12, 12, 12, 12, 28 };
        /*Table mainT = new Table(2);
        mainT.setWidth(80);
        //mainT.setWidths(widths);
        mainT.setBorderColor(Color.white);
        mainT.setPadding(1);
        mainT.setSpacing(0);*/

        int[] width = { 4, 1 };
        Table mainT = new Table(2, 2);
        mainT.setWidth(100);
        mainT.setWidths(width);
        mainT.setBorderColor(Color.white);
        mainT.setPadding(3);
        mainT.setSpacing(0);

        Phrase headingPhrase = new Phrase("", FontFactory.getFont("ARIAL", 12, Font.BOLD, Color.BLACK));
        Cell cellHeading = new Cell(headingPhrase);
        cellHeading.setBorderColor(new Color(255, 255, 255));
        cellHeading.setHorizontalAlignment(cellHeading.ALIGN_CENTER);
        cellHeading.setBorderWidth(0);
        // cellHeading.setColspan(6);
        mainT.addCell(cellHeading);

        Cell imageCell = new Cell();
        java.net.URL url = getServletConfig().getServletContext().getResource("/images/DHLlogo.gif");
        Image img0 = Image.getInstance(url);
        img0.setAlignment(Image.ALIGN_RIGHT);
        // img0.scaleToFit(6.0f, 1.9f);
        //System.out.println("Lower Left:   "" Upper   Left:   "+img0.getRight()+"   "+);

        // imageCell.setWidth("6");

        // imageCell.setColspan(2);
        imageCell.setHorizontalAlignment(imageCell.ALIGN_LEFT);
        imageCell.add(img0);
        imageCell.setBorderWidth(0);
        imageCell.setNoWrap(true);
        System.out.println(imageCell.cellWidth());
        mainT.addCell(imageCell);
        mainT.setAlignment(mainT.ALIGN_CENTER);

        document.add(mainT);

        pTable = new PdfPTable(1);
        pTable.setSpacingAfter(10f);
        pCell = new PdfPCell(new Phrase(new Chunk("")));
        pCell.setBorder(0);
        pTable.addCell(pCell);

        document.add(pTable);
        // System.out.println("After Image && Before Content--------------------------->");

        Table partCountry = new Table(4, 5);

        Table partCountry1 = new Table(4);
        int[] widths1 = { 30, 20, 30, 20 };
        //partCountry1.setBorderWidth(0);
        partCountry1.setBorderWidth(1f);//modified by silpa.p on 3-06-11
        partCountry1.setWidths(widths1);
        partCountry1.setWidth(100);
        partCountry1.setBorderColor(Color.black);
        partCountry1.setPadding(1);
        partCountry1.setSpacing(0);
        partCountry1.setBorder(1);//added by silpa.p on 3-06-11
        partCountry1.setAutoFillEmptyCells(true);
        //partCountry.setTableFitsPage(true);
        partCountry.setAlignment(partCountry.ALIGN_CENTER);
        partCountry.setBorderWidth(0);
        ;

        int[] widths2 = { 20, 30, 20, 30 };
        partCountry.setBorderWidth(0);
        partCountry.setBorderWidth(1f);//modified by silpa.p on 3-06-11
        partCountry.setWidths(widths2);
        partCountry.setWidth(100);
        partCountry.setBorderColor(Color.black);
        partCountry.setPadding(1);
        partCountry.setBorder(1);//added by silpa.p on 3-06-11
        partCountry.setSpacing(0);
        partCountry.setAutoFillEmptyCells(true);
        //partCountry.setTableFitsPage(true);
        partCountry.setAlignment(partCountry.ALIGN_CENTER);
        //Jyothi
        partCountry.setBorderWidthBottom(1);
        partCountry.setBorderWidthTop(0);
        partCountry.setBorderWidthLeft(1);
        partCountry.setBorderWidthRight(1);
        //Jyothi
        partCountry.setBorderWidth(0);
        ;
        Cell cellCountry;

        String shipmentMode = "";
        if (!finalDOB.isMultiModalQuote()) {
            if (finalDOB.getMasterDOB().getShipmentMode() == 1) {
                shipmentMode = "AIR FREIGHT PROPOSAL";
                transitTime = "Approximate Transit Time";
            } else if (finalDOB.getMasterDOB().getShipmentMode() == 2) {
                shipmentMode = "SEA FREIGHT PROPOSAL";
                transitTime = "Approximate Transit Days";
            } else if (finalDOB.getMasterDOB().getShipmentMode() == 4) {
                shipmentMode = "TRUCK FREIGHT PROPOSAL";
                transitTime = "Approximate Transit Time";
            }
        } else {
            shipmentMode = " MULTI-MODAL FREIGHT PROPOSAL ";
            transitTime = "Approximate Transit time and Days";

        }

        Chunk chk = new Chunk(shipmentMode, FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setWidth("100");
        //cellCountry.setColspan(1);
        cellCountry.setBorderWidth(0);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
        partCountry1.addCell(cellCountry);

        chk = new Chunk("");
        cellCountry = new Cell(chk);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setWidth("100");
        //cellCountry.setColspan(1);
        cellCountry.setBorderWidth(0);
        partCountry1.addCell(cellCountry);

        chk = new Chunk("SERVICE INFORMATION", FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setWidth("100");
        //cellCountry.setColspan(2);
        cellCountry.setBorderWidth(0);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
        partCountry1.addCell(cellCountry);

        chk = new Chunk("");
        cellCountry = new Cell(chk);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setWidth("100");
        //cellCountry.setColspan(1);
        cellCountry.setBorderWidth(0);
        partCountry1.addCell(cellCountry);

        document.add(partCountry1);

        chk = new Chunk("Customer Name: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("30");
        cellCountry.setBorderWidth(0);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk(headerDOB.getCustomerName() != null ? toTitleCase(headerDOB.getCustomerName()) : "",
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Agent: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("30");
        cellCountry.setBorderWidth(0);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk(headerDOB.getAgent() != null ? headerDOB.getAgent() : "",
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Attention To: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk(toTitleCase(attentionTo.toString()),
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Commodity Or Product: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        //chk = new Chunk(headerDOB.getCommodity()!=null?toTitleCase(headerDOB.getCommodity()):"",FontFactory.getFont("ARIAL", 7, Font.NORMAL,Color.BLACK));//commented by silpa.p on 21-06-11
        chk = new Chunk(headerDOB.getCommodity() != null ? (headerDOB.getCommodity()) : "",
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//added by silpa.p on 21-06-11
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Quote Reference: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk(masterDOB.getQuoteId() != null ? masterDOB.getQuoteId() : "",
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Notes: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//modified by silpa.p on 13-06-11
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk(headerDOB.getNotes() != null ? toTitleCase(headerDOB.getNotes()) : "",
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Date Of Quotation: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk(strDate[0], FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Date Effective: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk((effDate[0] != null ? effDate[0] : ""),
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Sales Person : ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk((headerDOB.getPreparedBy() != null ? toTitleCase(headerDOB.getPreparedBy()) : ""),
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setLeading(10.0f);
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk("Validity Of Quote: ", FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        chk = new Chunk((validUptoStr != null ? validUptoStr : "VALID UNTIL FURTHER NOTICE"),
                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
        cellCountry = new Cell(chk);
        cellCountry.setHeader(true);
        cellCountry.setWidth("100");
        cellCountry.setBorderWidth(0);
        cellCountry.setNoWrap(true);
        cellCountry.setLeading(10.0f);
        cellCountry.setBackgroundColor(Color.LIGHT_GRAY);//modified by silpa.p on 3-06-11
        cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
        partCountry.addCell(cellCountry);

        document.add(partCountry);

        pTable = new PdfPTable(1);
        pTable.setSpacingAfter(10f);
        pCell = new PdfPCell(new Phrase(new Chunk("")));
        pCell.setBorder(0);
        pTable.addCell(pCell);

        document.add(pTable);

        /* if(chargesSize==1)
         {
         if("MY".equalsIgnoreCase(masterDOB.getCountryId()))
         {
         chk = new Chunk((headerDOB.getOriginCountry()!=null?headerDOB.getOriginCountry()[0].toUpperCase():"")+" TO "+(headerDOB.getDestinationCountry()!=null?headerDOB.getDestinationCountry()[0].toUpperCase():""),FontFactory.getFont("ARIAL", 16, Font.BOLD,Color.BLUE));
         cellCountry = new Cell(chk);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(13.0f);//@@Do Not Decrease.
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);
                
         cellCountry = new Cell("");
         cellCountry.setBorderWidth(0);
         cellCountry.setLeading(5.0f);
         partCountry.addCell(cellCountry);
                 
                 
         chk = new Chunk(headerDOB.getCustomerName(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.BLUE));
         cellCountry = new Cell(chk);
         cellCountry.setHeader(true);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(10.0f);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("ATTENTION TO: "+attentionTo.toString(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.BLUE));
         cellCountry = new Cell(chk);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(10.0f);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);
         }
         else
         {
         chk = new Chunk((headerDOB.getOriginCountry()!=null?headerDOB.getOriginCountry()[0].toUpperCase():"")+" TO "+(headerDOB.getDestinationCountry()!=null?headerDOB.getDestinationCountry()[0].toUpperCase():""),FontFactory.getFont("ARIAL", 16, Font.BOLD,Color.RED));
         cellCountry = new Cell(chk);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(13.0f);//@@Do Not Decrease.
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);
                 
         cellCountry = new Cell("");
         cellCountry.setBorderWidth(0);
         cellCountry.setLeading(5.0f);
         partCountry.addCell(cellCountry);
                 
                 
         chk = new Chunk(headerDOB.getCustomerName(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.RED));
         cellCountry = new Cell(chk);
         cellCountry.setHeader(true);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(10.0f);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("ATTENTION TO: "+attentionTo.toString(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.RED));
         cellCountry = new Cell(chk);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(10.0f);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);
         }
         }else{
          if("MY".equalsIgnoreCase(masterDOB.getCountryId()))
          {
          //chk = new Chunk("Multi-Lane/Multi-Carrier",FontFactory.getFont("ARIAL", 16, Font.BOLD,Color.BLUE)); // Commented by Gowtham on 24Feb2011
          chk = new Chunk("Multiple Origins And/Or Destinations",FontFactory.getFont("ARIAL", 16, Font.BOLD,Color.BLUE));
          cellCountry = new Cell(chk);
          cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
          cellCountry.setNoWrap(true); 
          cellCountry.setLeading(13.0f);//@@Do Not Decrease.
          cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
          partCountry.addCell(cellCountry);
                   
          cellCountry = new Cell("");
          cellCountry.setBorderWidth(0);
          cellCountry.setLeading(5.0f);
          partCountry.addCell(cellCountry);
                  
                  
          chk = new Chunk(headerDOB.getCustomerName(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.BLUE));
          cellCountry = new Cell(chk);
          cellCountry.setHeader(true);
          cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
          cellCountry.setNoWrap(true); 
          cellCountry.setLeading(10.0f);
          cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
          partCountry.addCell(cellCountry);
                  
          chk = new Chunk("ATTENTION TO: "+attentionTo.toString(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.BLUE));
          cellCountry = new Cell(chk);
          cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
          cellCountry.setNoWrap(true); 
          cellCountry.setLeading(10.0f);
          cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
          partCountry.addCell(cellCountry);
          }
          else
          {
            //chk = new Chunk("Multi-Lane/Multi-Carrier",FontFactory.getFont("ARIAL", 16, Font.BOLD,Color.RED));
            chk = new Chunk("Multiple Origins And/Or Destinations",FontFactory.getFont("ARIAL", 16, Font.BOLD,Color.RED)); // Commented by Gowtham on 24Feb2011
            cellCountry = new Cell(chk);
            cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
            cellCountry.setNoWrap(true); 
            cellCountry.setLeading(13.0f);//@@Do Not Decrease.
            cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
            partCountry.addCell(cellCountry);
                    
            cellCountry = new Cell("");
            cellCountry.setBorderWidth(0);
            cellCountry.setLeading(5.0f);
            partCountry.addCell(cellCountry);
                    
                    
            chk = new Chunk(headerDOB.getCustomerName(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.RED));
            cellCountry = new Cell(chk);
            cellCountry.setHeader(true);
            cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
            cellCountry.setNoWrap(true); 
            cellCountry.setLeading(10.0f);
            cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
            partCountry.addCell(cellCountry);
                    
            chk = new Chunk("ATTENTION TO: "+attentionTo.toString(),FontFactory.getFont("ARIAL", 14, Font.BOLD,Color.RED));
            cellCountry = new Cell(chk);
            cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
            cellCountry.setNoWrap(true); 
            cellCountry.setLeading(10.0f);
            cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
            partCountry.addCell(cellCountry);
          }
         }
         cellCountry = new Cell("");
         cellCountry.setBorderWidth(0);
         cellCountry.setLeading(5.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("QUOTE REFERENCE: "+masterDOB.getQuoteId(),FontFactory.getFont("ARIAL", 12, Font.BOLD,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setWidth("100");
         cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(10.0f);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry);  
         chk = new Chunk("DATE OF QUOTATION: "+strDate[0],FontFactory.getFont("ARIAL", 12, Font.BOLD,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setWidth("100");cellCountry.setBorderWidth(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(10.0f);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         partCountry.addCell(cellCountry); */

        contents = masterDOB.getContentOnQuote();
        levels = masterDOB.getLevels();
        aligns = masterDOB.getAlign();
        headFoot = masterDOB.getHeaderFooter();
        Table content = null;
        if (contents != null && contents.length > 0) {
            content = new Table(1);
            content.setOffset(5);
            content.setWidth(100);
            content.setPadding(1);
            content.setSpacing(0);
            content.setBackgroundColor(Color.WHITE);
            content.setBorderColor(Color.black);
            content.setBorderWidth(1f);
            Cell cellContent = null;
            chk = null;
            int headFootLen = headFoot.length;
            for (int i = 0; i < headFootLen; i++) {
                if (headFoot[i] != null && "H".equalsIgnoreCase(headFoot[i])) {
                    chk = new Chunk(contents[i], FontFactory.getFont("ARIAL", 7, Font.ITALIC, Color.BLACK));
                    cellContent = new Cell(chk);
                    cellContent.setBorder(0);
                    cellContent.setLeading(8.0f);
                    cellContent.setBackgroundColor(Color.LIGHT_GRAY);
                    if ("L".equalsIgnoreCase(aligns[i]))
                        cellContent.setHorizontalAlignment(cellContent.ALIGN_LEFT);
                    else if ("C".equalsIgnoreCase(aligns[i]))
                        cellContent.setHorizontalAlignment(cellContent.ALIGN_CENTER);
                    else if ("R".equalsIgnoreCase(aligns[i]))
                        cellContent.setHorizontalAlignment(cellContent.ALIGN_RIGHT);
                    content.addCell(cellContent);
                }
            }
            document.add(content);
            /*content = null;
            cellContent =  null;*/
        }
        /*content = new Table(1);
        Cell cellContent1 = new Cell(new Chunk(""));
        content.addCell(cellContent1); */

        if (!"Charges".equalsIgnoreCase(masterDOB.getQuoteWith())) {
            //@@Added by Kameswari for the WPBN issue-146448 on 03/12/08
            for (int i = 0; i < chargesSize; i++) {
                legCharges = (MultiQuoteFreightLegSellRates) charges.get(0);
                freightCharges = legCharges.getFreightChargesList();
                int tempCount = freightCharges.size();
                for (int j = 0; j < tempCount; j++) {
                    multiQuoteChargeInfo = (MultiQuoteChargeInfo) freightCharges.get(i);//govind

                    if (multiQuoteChargeInfo.getSelectedLaneNum() == i) {
                        if (multiQuoteChargeInfo != null && multiQuoteChargeInfo.getValidUpto() != null) {
                            str1 = eSupplyDateUtility
                                    .getDisplayStringArray(multiQuoteChargeInfo.getValidUpto());
                        }
                        ///////////////////////////////////////////Second Table////////////////////////////
                        if (chargesSize > 1) {
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())) {
                                //Added by kiran.v on 16/09/2011
                                frequencyFlag = true;
                                frequency.add(multiQuoteChargeInfo.getFrequency());
                                frequency_o.add(legCharges.getOrigin());
                                frequency_d.add(legCharges.getDestination());
                            }
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())) {
                                transittime.add(multiQuoteChargeInfo.getTransitTime());
                                transit_o.add(legCharges.getOrigin());
                                transit_d.add(legCharges.getDestination());
                            }
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())) {
                                carrierFlag = true;
                                carrier.add(multiQuoteChargeInfo.getCarrier());
                                carrier_o.add(legCharges.getOrigin());
                                carrier_d.add(legCharges.getDestination());
                            }
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())) {
                                if (multiQuoteChargeInfo.getValidUpto() != null) {
                                    str1 = eSupplyDateUtility
                                            .getDisplayStringArray(multiQuoteChargeInfo.getValidUpto());
                                    ratevalidity.add(str1[0]);
                                }

                                validity_o.add(legCharges.getOrigin());
                                validity_d.add(legCharges.getDestination());
                            }
                        } else {

                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())) {
                                frequency.add(multiQuoteChargeInfo.getFrequency());
                            }
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())) {
                                transittime.add(multiQuoteChargeInfo.getTransitTime());
                            }
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())) {
                                carrier.add(multiQuoteChargeInfo.getCarrier());
                            }
                            if ("Y".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())) {
                                if (multiQuoteChargeInfo.getValidUpto() != null) {
                                    str1 = eSupplyDateUtility
                                            .getDisplayStringArray(multiQuoteChargeInfo.getValidUpto());
                                    ratevalidity.add(str1[0]);
                                }

                            }
                        }
                    }
                }
            }
        } // partCountry  =  new Table(2,13);
        size = frequency.size() + transittime.size() + carrier.size() + ratevalidity.size();
        /* Table prepareTable = new Table(1) ;
         prepareTable.setWidth(100);
         prepareTable.setBackgroundColor(Color.white);
         prepareTable.setBorderColor(Color.white);
         prepareTable.setPadding(1);
         chk = new Chunk("Prepared By: "+(headerDOB.getPreparedBy()!=null?headerDOB.getPreparedBy().toUpperCase():""),FontFactory.getFont("ARIAL", 10, Font.BOLD,Color.BLACK));
         cellCountry = new Cell(chk);
        // cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setBorder(0);
         cellCountry.setNoWrap(true);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_LEFT);
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
         prepareTable.addCell(cellCountry);
                
         document.add(prepareTable); */

        /*  partCountry  =  new Table(2,13+size);
                  
        //@@WPBN issue-146448 on 03/12/08
          partCountry.setOffset(5);
          partCountry.setWidth(100);
          partCountry.setPadding(1);
          partCountry.setSpacing(0);
          partCountry.setBackgroundColor(Color.WHITE);
          partCountry.setBorderColor(Color.WHITE);
          partCountry.setBorderWidth(1f);
                  
          /*chk = new Chunk("Prepared By: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
          cellCountry = new Cell(chk);
         // cellCountry.setBackgroundColor(Color.lightGray);
          cellCountry.setBorder(0);
          cellCountry.setNoWrap(true);
          cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
          cellCountry.setBorder(0);
          cellCountry.setLeading(8.0f);
          partCountry.addCell(cellCountry);*/

        /* chk = new Chunk("SERVICE INFORMATION ",FontFactory.getFont("Courier-Bold", 12, Font.UNDERLINE,Color.blue));
         cellCountry = new Cell(chk);
         cellCountry.setColspan(2);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_CENTER);
         //cellCountry.setBackgroundColor(Color.ORANGE);
         cellCountry.setBorder(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("Agent: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk); 
         //cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setBorder(0);
         cellCountry.setNoWrap(true); 
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("   "+(headerDOB.getAgent()!=null?headerDOB.getAgent().toUpperCase():""),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setNoWrap(true);
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                
         chk = new Chunk("Commodity or Product: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
        // cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("   "+(headerDOB.getCommodity()!=null?headerDOB.getCommodity().toUpperCase():""),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("Type Of Service Quoted: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
        // cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("   "+(headerDOB.getTypeOfService()!=null?headerDOB.getTypeOfService().toUpperCase():""),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
          partCountry.addCell(cellCountry);
                 
         chk = new Chunk("Notes: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
        // cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk(" "+(headerDOB.getNotes()!=null?headerDOB.getNotes().toUpperCase()+'\n':""),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setLeading(8.0f);
         cellCountry.setBorder(0);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("Date Effective: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         //cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("   "+(effDate[0]!=null?effDate[0]:""),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("Validity Of Quote: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
        //  cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("   "+(validUptoStr!=null?validUptoStr:"VALID UNTIL FURTHER NOTICE"),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setNoWrap(true);
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         if(headerDOB.getPaymentTerms()!=null && headerDOB.getPaymentTerms().trim().length()!=0)
         {
         chk = new Chunk("Payment Terms: ",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         //cellCountry.setBackgroundColor(Color.lightGray);
         cellCountry.setNoWrap(true);
         cellCountry.setBorder(0);
         cellCountry.setHorizontalAlignment(cellCountry.ALIGN_RIGHT);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
                 
         chk = new Chunk("   "+headerDOB.getPaymentTerms(),FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         cellCountry = new Cell(chk);
         cellCountry.setNoWrap(true); 
         cellCountry.setBorder(0);
         cellCountry.setLeading(8.0f);
         partCountry.addCell(cellCountry);
         }
                 
         document.add(partCountry);*/
        partCountry.complete();
        //System.out.println("After Page Country-------------------------------->");
        //Origin Charges
        //document.setMargins(10,10,10,10);
        // b1= writer.getPageNumber();

        //@@Added by Kameswari for the WPBN issue-146448
        charges = finalDOB.getLegDetails();
        noOfLanes = charges.size();
        //Added by kiran.v on 16/09/2011
        // session.setAttribute("legSize",noOfLanes);           
        PdfPTable chargeCountry2 = null;
        Table chargeCountry = null;
        PdfPCell cell2 = null;
        Cell cell = null;
        Table frtHeader = null;
        Table chargeTitle = null;
        Table chargeCountry1 = null;
        Cell cell1 = null;
        CustomCell border = new CustomCell();
        // float cellWidths[]   = {40,20,10,15,25};//@@Added by Kameswari for the WPBN issue - on 12/11/08
        float cellWidths[] = { 40, 15, 15, 15, 25, 15 };
        float cellWidths1 = 40;

        /* chk = new Chunk("Charge Name",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
         Cell cell = new Cell(chk);
         cell.setHeader(true);
         cell.setBackgroundColor(Color.ORANGE);
         cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
         chargeCountry.addCell(cell);
                 
         chk = new Chunk("Breakpoint",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
        cell = new Cell(chk);
         cell.setHeader(true);
         cell.setBackgroundColor(Color.ORANGE);
         cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
         chargeCountry.addCell(cell);
                 
         chk = new Chunk("Currency",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
        cell = new Cell(chk);
         cell.setHeader(true);
         cell.setBackgroundColor(Color.ORANGE);
         cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
         chargeCountry.addCell(cell);
                 
         chk = new Chunk("Rate",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
        cell = new Cell(chk);
         cell.setHeader(true);
         cell.setBackgroundColor(Color.ORANGE);
         cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
         chargeCountry.addCell(cell);
                 
         chk = new Chunk("Basis",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
        cell = new Cell(chk);
         cell.setHeader(true);
         cell.setBackgroundColor(Color.ORANGE);
         cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
         chargeCountry.addCell(cell);           
                 
         chargeCountry.endHeaders();
         System.out.println("End of Charge Headers--------------------------------->");
         System.out.println("");*/
        //    boolean b3 = document.newPage();
        //  QuoteCharges chargesDOB           = null;
        ArrayList originChargeInfo = null;
        int originChargesInfoSize = 0;
        MultiQuoteChargeInfo chargeInfo = null;
        ArrayList originLaneCharges = finalDOB.getLegDetails();//.get(0)).getOriginChargesList();
        for (int c = 0; c < noOfLanes; c++) //charges........
        {
            legOrginCharges = (MultiQuoteFreightLegSellRates) originLaneCharges.get(c);
            ArrayList originCharges = legOrginCharges.getOriginChargesList();
            int[] originIndices = legOrginCharges.getSelectedOriginChargesListIndices();
            int originChargesSize = 0;
            if (originIndices != null)
                originChargesSize = originIndices.length;
            else
                originChargesSize = 0;

            /*PdfPCell hLine = new PdfPCell(new Phrase(""));
            hLine.setBorder(PdfPCell.NO_BORDER);*/

            if (originChargesSize <= 0) {
                continue;
            }
            /*  if(b1>1)
             {
            chk = new Chunk("QUOTE REFERENCE:"+masterDOB.getQuoteId(),FontFactory.getFont("ARIAL", 10, Font.BOLD,Color.BLACK));
             cell = new Cell(chk);
             cell.setColspan(5);cell.setLeading(10.0f);
             cell.setBackgroundColor(Color.WHITE);                
             cell.setHeader(true);
             cell.setBorder(0);
             chargeCountry.addCell(cell); 
             }*/
            // chargeCountry  = new Table(5);
            home = (QMSMultiQuoteSessionHome) LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");
            remote = home.create();
            //document.add(horizontalLine);

            chargeTitle = new Table(1);
            chargeTitle.setWidth(100);
            chargeTitle.setPadding(1);
            chargeTitle.setSpacing(1);
            chargeTitle.setBorderColor(Color.BLACK);
            chargeTitle.setDefaultHorizontalAlignment(Element.ALIGN_LEFT);
            chargeTitle.setBackgroundColor(Color.ORANGE);//modified by silpa.p on 3-06-11
            chargeTitle.setBorderWidth(1f);
            //chargeTitle.setBorder(1);

            if (legOrginCharges.getShipmentMode() == 2)
                chk = new Chunk(remote.getPortName(legOrginCharges.getOrigin()) + "-Origin Charges",
                        FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.black));
            else
                chk = new Chunk(remote.getLocationName(legOrginCharges.getOrigin()) + "-Origin Charges",
                        FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.black));
            cell1 = new Cell(chk);
            cell1.setLeading(10.0f);
            cell1.setBorder(0);
            cell1.setHeader(true);
            chargeTitle.addCell(cell1);
            document.add(chargeTitle);

            //chargeCountry  = new PdfPTable(6);
            chargeCountry = new Table(6);
            //chargeCountry.setWidth(100);
            chargeCountry.setWidths(cellWidths);
            chargeCountry.setBorder(1);
            chargeCountry.setWidth(100);
            chargeCountry.setDefaultVerticalAlignment(cell.ALIGN_MIDDLE);
            chargeCountry.setDefaultHorizontalAlignment(cell.ALIGN_CENTER);
            chargeCountry.setPadding(3);
            chargeCountry.setSpacing(0);
            //chargeCountry.setOffset(5);
            //chargeCountry.setBackgroundColor(Color.WHITE);
            // chargeCountry.setBorderColor(Color.WHITE);
            // chargeCountry.setDefaultHorizontalAlignment(Element.ALIGN_CENTER);
            chargeCountry.setBorderWidth(1f);
            //chargeCountry.setWidthPercentage(100);

            chargeCountry.setWidths(cellWidths);
            //document.add(horizontalLine);
            chk = new Chunk("Charge Description", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK)); // Added by Gowtham on 01-Feb-2011.
            // cell = new PdfPCell(new Phrase(chk));
            cell = new Cell(new Phrase(chk));
            //cell.setColspan(5);/@@Added by Kameswari for the WPBN issue - on 12/11/08
            // cell.setColspan(6);
            //cell.setLeading(10.0f);
            cell.setHorizontalAlignment(cell.ALIGN_LEFT);
            // cell.setBackgroundColor(Color.ORANGE);  
            ////cell.setBorder(0);
            //cell.setHeader(true);
            //cell.setBorder(Rectangle.BOTTOM);
            cell.setBorderWidth(1);
            //cell.setCellEvent(border); 
            chargeCountry.addCell(cell);

            chk = new Chunk("Weight Break Slab", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
            cell = new Cell(new Phrase(chk));
            //cell.setBorder(Rectangle.BOTTOM);
            //cell.setCellEvent(border); 
            cell.setHorizontalAlignment(cell.ALIGN_CENTER);
            cell.setBorderWidth(1);
            chargeCountry.addCell(cell);

            chk = new Chunk("Currency", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
            cell = new Cell(new Phrase(chk));
            //cell.setBorder(Rectangle.BOTTOM);
            //cell.setCellEvent(border);
            cell.setBorderWidth(1);
            cell.setHorizontalAlignment(cell.ALIGN_CENTER);
            chargeCountry.addCell(cell);

            chk = new Chunk("Charge Rate", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
            cell = new Cell(new Phrase(chk));
            //cell.setBorder(Rectangle.BOTTOM);
            //cell.setCellEvent(border);
            cell.setBorderWidth(1);
            cell.setHorizontalAlignment(cell.ALIGN_CENTER);
            chargeCountry.addCell(cell);

            chk = new Chunk("Basis", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
            cell = new Cell(new Phrase(chk));
            //cell.setBorder(Rectangle.BOTTOM);
            //cell.setCellEvent(border);
            cell.setBorderWidth(1);
            cell.setHorizontalAlignment(cell.ALIGN_LEFT);
            chargeCountry.addCell(cell);

            chk = new Chunk("Density Ratio", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
            cell = new Cell(new Phrase(chk));
            //cell.setBorder(Rectangle.BOTTOM);
            //cell.setCellEvent(border);
            cell.setBorderWidth(1);
            cell.setHorizontalAlignment(cell.ALIGN_CENTER);
            chargeCountry.addCell(cell);

            //@@Commented and Modified by Kameswari for the internal issue on 09/04/09
            /*chk = new Chunk("ORIGIN CHARGES",FontFactory.getFont("ARIAL", 8, Font.BOLD,Color.BLACK));
            cell = new Cell(chk);
            //cell.setColspan(5);/@@Added by Kameswari for the WPBN issue - on 12/11/08
            cell.setColspan(6);
            cell.setLeading(10.0f);
            cell.setBackgroundColor(Color.ORANGE);                
            cell.setHeader(true);
            chargeCountry.addCell(cell);*/
            //   boolean b = document.newPage();
            // charge_desc  = "";
            for (int lc = 0; lc < originChargesSize; lc++) {
                if ((operation != null && "view".equalsIgnoreCase(operation) || ("Y".equalsIgnoreCase(
                        legOrginCharges.getOriginChargesSelectedFlag()[originIndices[lc]])))) {

                    //chargeCountry.endHeaders();
                    chargesDOB = (MultiQuoteCharges) originCharges.get(originIndices[lc]);

                    // for(int i=0;i<originChargesSize;i++)
                    //{
                    if (originIndices[lc] != -1) {

                        logger.info("Origin Charges doPDFGeneration::" + lc + ":" + chargesDOB); // newly added                  
                        originChargeInfo = chargesDOB.getChargeInfoList();
                        originChargesInfoSize = originChargeInfo.size();
                        int m = 0;//146455
                        String breakPoint = null;//146455

                        for (int k = 0; k < originChargesInfoSize; k++) {
                            chargeInfo = (MultiQuoteChargeInfo) originChargeInfo.get(k);
                            if (k == 0) {
                                if ("B".equalsIgnoreCase(chargesDOB.getSellBuyFlag())
                                        || "S".equalsIgnoreCase(chargesDOB.getSellBuyFlag()))//||"BC".equalsIgnoreCase(chargesDOB.getSellBuyFlag())||"SC".equalsIgnoreCase(chargesDOB.getSellBuyFlag())) // Added by Gowtham
                                    chk = new Chunk(
                                            chargesDOB.getExternalName() != null ? chargesDOB.getExternalName()
                                                    : "",
                                            FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                else
                                    chk = new Chunk(
                                            chargesDOB.getChargeDescriptionId() != null
                                                    ? chargesDOB.getChargeDescriptionId()
                                                    : "",
                                            FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));

                                cell = new Cell(new Phrase(chk));
                                cell.setLeading(7.0f);
                                cell.setBorder(1);
                                cell.setRowspan(originChargesInfoSize);
                                cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                cell.setVerticalAlignment(cell.ALIGN_LEFT);
                                cell.setBorderWidthTop(0);
                                cell.setBorderWidthBottom(0.1f);
                                if (lc == originChargesSize - 1 && k == originChargesInfoSize - 1) {
                                    cell.setBorderWidthBottom(0.1f);
                                    cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                    //cell.setVerticalAlignment(cell.ALIGN_MIDDLE);

                                } else if (k == originChargesInfoSize - 1) {
                                    cell.setBorderWidthBottom(0.1f);
                                    cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                    //cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                                    //cell.setBorderWidthBottom(0.1f);                            
                                } else {
                                    cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                    //cell.setVerticalAlignment(cell.ALIGN_CENTER);

                                }
                                chargeCountry.addCell(cell);

                            }
                            /* else if (k==originChargesInfoSize-1) 
                             {
                               cell = new Cell(new Phrase(new Chunk("")));
                             //  cell.setLeading(15.0f);
                               //cell.setBorder(Rectangle.BOTTOM);
                            // cell.setCellEvent(border);                        
                               if(lc!=originChargesSize-1){
                               cell.setBorder(0);
                               cell.setBorderWidth(0f);
                               }    
                               else{
                                  cell.setBorderWidthBottom(0.1f);  
                                      
                               }
                             cell.setHorizontalAlignment(cell.ALIGN_BOTTOM);
                                      
                            cell.setVerticalAlignment(cell.ALIGN_CENTER);
                             chargeCountry.addCell(cell);
                                    
                             }*/

                            /*else{
                               cell = new Cell(new Phrase(new Chunk("")));
                              //cell.setBorder(0);
                               //cell.setCellEvent(border); 
                              cell.setBorder(0);
                                 cell.setBorderWidth(0f);
                                // cell.setLeading(15.0f);
                               cell.setHorizontalAlignment(cell.ALIGN_BOTTOM);
                                     
                              cell.setVerticalAlignment(cell.ALIGN_CENTER);
                                     
                              chargeCountry.addCell(cell);
                                       
                            }*/
                            //@@ Commented by subrahmanyam for 146455 on 19/02/09
                            /* chk = new Chunk((chargeInfo.getBreakPoint()!=null && !"Absolute".equalsIgnoreCase(chargeInfo.getBreakPoint()) && !"Percent".equalsIgnoreCase(chargeInfo.getBreakPoint()))?chargeInfo.getBreakPoint().toUpperCase():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                             cell = new Cell(chk);cell.setLeading(8.0f);
                             cell.setBackgroundColor(Color.lightGray);
                             cell.setHeader(true);
                             chargeCountry.addCell(cell);*/
                            //@@ Added by subrahmanyam for 146455 on 19/02/09                      

                            if (chargeInfo.getBreakPoint().equalsIgnoreCase("MIN")) {
                                breakPoint = "Min";
                            }

                            else if (chargeInfo.getBreakPoint().equalsIgnoreCase("FLAT")) {
                                breakPoint = "Flat";
                            }

                            else if (chargeInfo.getBreakPoint().equalsIgnoreCase("MAX")) {
                                breakPoint = "Max";
                            } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("CSF")) {
                                breakPoint = "Absolute";
                            } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("SURCHARGE")) {
                                breakPoint = "Percent";
                            } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("BASE")) {
                                breakPoint = "Base";
                            }

                            else {
                                breakPoint = chargeInfo.getBreakPoint();
                            }

                            //chk = new Chunk(breakPoint!=null&& !"Absolute".equalsIgnoreCase(breakPoint)&&!"Percent".equalsIgnoreCase(breakPoint)?breakPoint:"",FontFactory.getFont("ARIAL", 7, Font.NORMAL,Color.BLACK)); Commented by silpa for not displaying the abslute brak in pdf
                            chk = new Chunk(breakPoint != null ? breakPoint : "",
                                    FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//added by silpa.p on 16-06-11
                            cell = new Cell(new Phrase(chk));
                            cell.setLeading(7.0f);
                            if (k == originChargesInfoSize - 1) {
                                //cell.setBorder(Rectangle.ALIGN_CENTER);
                                // cell.setCellEvent(border); 
                                //  cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            } else {
                                ;
                                //cell.setBorder(0);
                                //cell.setCellEvent(border); 
                                // cell.setBorder(Rectangle.ALIGN_CENTER);                          
                                //cell.setVerticalAlignment(cell.ALIGN_MIDDLE);
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            }

                            chargeCountry.addCell(cell);
                            //   @@ Ended by subrahmanyam for 146455 on 19/02/09                

                            chk = new Chunk(chargeInfo.getCurrency(),
                                    FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                            cell = new Cell(new Phrase(chk));
                            cell.setLeading(7.0f);
                            if (k == originChargesInfoSize - 1) {
                                //cell.setBorder(Rectangle.BOTTOM);
                                // cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            } else {
                                //cell.setBorder(0);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            }
                            chargeCountry.addCell(cell);

                            chk = new Chunk(
                                    df.format(chargeInfo.getSellRate())
                                            + (chargeInfo.isPercentValue() ? " %" : ""),
                                    FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                            cell = new Cell(new Phrase(chk));
                            cell.setLeading(7.0f);
                            if (k == originChargesInfoSize - 1) {
                                //cell.setBorder(Rectangle.BOTTOM);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            } else {
                                //cell.setBorder(0);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            }
                            chargeCountry.addCell(cell);

                            chk = new Chunk(chargeInfo.getBasis() != null ? chargeInfo.getBasis() : "",
                                    FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                            cell = new Cell(new Phrase(chk));
                            cell.setLeading(7.0f);
                            if (k == originChargesInfoSize - 1) {
                                //cell.setBorder(Rectangle.BOTTOM);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                            } else {
                                //cell.setBorder(0);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                            }
                            chargeCountry.addCell(cell);

                            //@@Added by Kameswari for the WPBN issue- on 12/11/08
                            chk = new Chunk(chargeInfo.getRatio() != null ? "1:" + chargeInfo.getRatio() : "",
                                    FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                            cell = new Cell(new Phrase(chk));
                            cell.setLeading(7.0f);
                            if (k == originChargesInfoSize - 1) {
                                //cell.setBorder(Rectangle.BOTTOM);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            } else {
                                //cell.setBorder(0);
                                //cell.setCellEvent(border); 
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                            }
                            chargeCountry.addCell(cell);

                        }
                    }
                    //}
                }
            }

            if (chargeCountry != null)
                document.add(chargeCountry);

            pTable = new PdfPTable(1);
            pTable.setSpacingAfter(10f);
            pCell = new PdfPCell(new Phrase(new Chunk("")));
            pCell.setBorder(0);
            pTable.addCell(pCell);
            document.add(pTable);

            //} // Added by Gowtham on 01-Feb-2011.
            //@@Added by kiran.v on 31/01/2012 for Wpbn Issue-287659

        }
        pTable = new PdfPTable(1);
        pTable.setSpacingAfter(10f);
        pCell = new PdfPCell(new Phrase(new Chunk("")));
        pCell.setBorder(0);
        pTable.addCell(pCell);

        document.add(pTable);

        // document.newPage();

        // boolean b1 = document.newPage();

        //Freight Charges
        //document.setMargins(10,10,10,10);
        //System.out.println("After         Origin Charges --------------------------------->");

        if (!"Charges".equalsIgnoreCase(masterDOB.getQuoteWith())) {
            // Added by Gowtham. to skip in case of quote with charges.
            //Table   chargeCountry1 = null;
            //Cell   cell1         =null;
            int freightChargesSize = 0;
            int freightChargesInfoSize = 0;
            int[] frtIndices = null;
            int tableColwidth = 0; //Added by Gowtham for Landscape Issue.
            String tmpBasis = "";
            int tmpBrkptsize = 0;
            String tmpmultiBrkpt = "";
            int tmpTableWidth = 0;
            String rates = null;
            Double rates1 = 0.00;
            int tmpCount = 0;
            String basis = "";
            String orgDesc = "";
            String destDesc = "";
            String breakpt = "";
            String tmpFreq = "";
            String tmpFreq1 = "";
            int tmpFrCnt = 0; //Added by Gowtham for Landscape Issue
            MultiQuoteChargeInfo viewDOB = null;
            ArrayList chargesInfolist = new ArrayList();
            int[] tmpBrksize = null;

            //QuoteFreightLegSellRates       legCharges       = null;
            // ArrayList                      freightCharges = null;
            ArrayList freightChargeInfo = null;
            int m = 0;
            String breakPoint = null;
            String space = "";
            Table country = null;
            String serviceLevelDesc = "";//Added by silpa on 16-05-2011
            String carrierDesc = "";//Added by silpa on 16-05-2011

            // b2= writer.getPageNumber();
            // int[] frtCellWidths = {15,16,15,15,18,12,25,12,12,20,15}; // Modified by Gowtham on 24Feb2011

            if ("View".equalsIgnoreCase(request.getParameter("Operation"))) {
                home = (QMSMultiQuoteSessionHome) LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");
                remote = home.create();

                chargesInfolist = remote.getChargeInfoDetailsforView(masterDOB.getQuoteId());
                viewDOB = (MultiQuoteChargeInfo) chargesInfolist.get(0);
                tmpBrkptsize = viewDOB.getMultiBreakPoints().length;
                surChargesMap = viewDOB.getSurChragesMap();

            } else {

                surChargesMap = new HashMap<String, String>();
                for (int lane = 0; lane < noOfLanes; lane++) {
                    legCharges = (MultiQuoteFreightLegSellRates) charges.get(lane);
                    freightCharges = legCharges.getFreightChargesList();
                    MultiQuoteChargeInfo tempChargeInfo = freightCharges != null
                            ? (MultiQuoteChargeInfo) freightCharges.get(lane)
                            : null;
                    // tmpBrkptsize =   tempChargeInfo!=null?finalDOB.getMultiQuoteSelectedBreaks().split(",").length:0;

                    String[] breakpoints = tempChargeInfo != null ? tempChargeInfo.getMultiBreakPoints() : null;
                    String[] rateDescs = tempChargeInfo != null ? tempChargeInfo.getMultiRateDescriptions()
                            : null;
                    String chargeDesc = null;

                    for (int i = 0; i < (breakpoints != null ? breakpoints.length : 0); i++) {
                        chargeDesc = rateDescs[i];
                        /*if(chargeDesc!=null && !"-".equals(chargeDesc) && !"A FREIGHT RATE".equals(chargeDesc)){
                           surChargesMap.put(breakpoints[i].length()>=7?breakpoints[i].substring(0, 3):breakpoints[i],chargeDesc.substring(0, chargeDesc.length()-3) );
                        }*/
                        if (!"List".equalsIgnoreCase(finalDOB.getMasterDOB().getMultiquoteweightBrake())) {
                            if (chargeDesc != null && !"-".equals(chargeDesc)
                                    && !"A FREIGHT RATE".equals(chargeDesc)) {
                                if (breakpoints[i].length() >= 7)
                                    surChargesMap.put(breakpoints[i].substring(0, 3),
                                            chargeDesc.substring(0, chargeDesc.length() - 3));
                            }
                        }

                        if ("List".equalsIgnoreCase(finalDOB.getMasterDOB().getMultiquoteweightBrake())) {
                            if (chargeDesc != null && !"-".equals(chargeDesc)
                                    && !"A FREIGHT RATE".equals(chargeDesc)) {
                                if (breakpoints[i].length() > 4 && breakpoints[i].length() < 10)
                                    surChargesMap.put(breakpoints[i].substring(4, 7),
                                            chargeDesc.substring(0, chargeDesc.length() - 3));
                            }
                        }
                    }
                }

                legCharges = (MultiQuoteFreightLegSellRates) charges.get(0);
                freightCharges = legCharges.getFreightChargesList();
                MultiQuoteChargeInfo tempChargeInfo = freightCharges != null
                        ? (MultiQuoteChargeInfo) freightCharges.get(0)
                        : null;
                tmpBrkptsize = tempChargeInfo != null ? finalDOB.getMultiQuoteSelectedBreaks().split(",").length
                        : 0;

                tmpBrksize = new int[tmpBrkptsize];
                int tmpBrk = 0;
                for (int frtCnt1 = 0; frtCnt1 < tmpBrkptsize; frtCnt1++) {
                    tmpBrk = Integer.parseInt(finalDOB.getMultiQuoteSelectedBreaks().split(",")[frtCnt1]);
                    //if("Y".equalsIgnoreCase(tempChargeInfo.getChecked_Flag().split(",")[frtCnt1]))
                    //{ 
                    tmpBasis = tmpBasis != "" ? (tmpBasis + tempChargeInfo.getBasis().split(",")[tmpBrk] + ",")
                            : (tempChargeInfo.getBasis().split(",")[tmpBrk] + ",");
                    tmpmultiBrkpt = tmpmultiBrkpt != ""
                            ? (tmpmultiBrkpt + tempChargeInfo.getMultiBreakPoints()[tmpBrk] + ",")
                            : (tempChargeInfo.getMultiBreakPoints()[tmpBrk] + ",");
                    tmpBrksize[frtCnt1] = tmpBrk;
                    // tmpTableWidth++;
                    // }
                }
            }

            /* if("Add".equalsIgnoreCase(request.getParameter("Operation"))||"Modify".equalsIgnoreCase(request.getParameter("Operation"))||"Copy".equalsIgnoreCase(request.getParameter("Operation")))
             {      
                     
             tableColwidth = tmpBrkptsize;
                     
             }
             else
             tableColwidth =  tmpBrkptsize;*/

            // tableColwidth = tmpBrkptsize + 4;   //added by silpa.p on 16-05-11//commented by silpa.p on 23-06-11
            tableColwidth = tmpBrkptsize + 5; //added by silpa.p on 23-06-11 for currency add
            //@@Modified by kiran on 10/08/2011 for WPBN Issue-258778
            // 09/11/2011
            if ("add".equalsIgnoreCase(operation) || "modify".equalsIgnoreCase(operation)
                    || "Copy".equalsIgnoreCase(operation)) {
                if ("checked".equalsIgnoreCase(request.getParameter("selectCarrier"))) {
                    tableColwidth = tableColwidth + 1;
                }
                if ("checked".equalsIgnoreCase(request.getParameter("selectService"))) {
                    tableColwidth = tableColwidth + 1;
                }
                if ("checked".equalsIgnoreCase(request.getParameter("selectFrequecy"))) {
                    tableColwidth = tableColwidth + 1;
                }
                //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                if ("checked".equalsIgnoreCase(request.getParameter("selectTransitTime"))) {
                    tableColwidth = tableColwidth + 1;
                }
                if ("checked".equalsIgnoreCase(request.getParameter("selectFrieghtValidity"))) {
                    tableColwidth = tableColwidth + 1;
                }
            } else {
                if ("checked".equalsIgnoreCase(request.getParameter("selectCarrier"))
                        || "Y".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getCarrierChecked() : "N")
                        || "on".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getCarrierChecked() : "")) {
                    tableColwidth = tableColwidth + 1;
                }
                if ("checked".equalsIgnoreCase(request.getParameter("selectService"))
                        || "Y".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getServiceChecked() : "N")
                        || "on".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getServiceChecked() : "")) {
                    tableColwidth = tableColwidth + 1;
                }
                if ("checked".equalsIgnoreCase(request.getParameter("selectFrequecy"))
                        || "Y".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getFrequencyChecked() : "N")
                        || "on".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getFrequencyChecked()
                                        : "")) {
                    tableColwidth = tableColwidth + 1;
                }
                //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                if ("checked".equalsIgnoreCase(request.getParameter("selectTransitTime"))
                        || "Y".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getTransitTimeChecked()
                                        : "N")
                        || "on".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getTransitTimeChecked()
                                        : "")) {
                    tableColwidth = tableColwidth + 1;
                }
                if ("checked".equalsIgnoreCase(request.getParameter("selectFrieghtValidity"))
                        || "Y".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getRateValidityChecked()
                                        : "N")
                        || "on".equalsIgnoreCase(
                                multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getRateValidityChecked()
                                        : "")) {
                    tableColwidth = tableColwidth + 1;
                }
            }
            //@@Ended by kiran.v
            int[] frtCellWidths = new int[tableColwidth];//modified by silpa.p 0n 16-05-11
            for (int frtcnt = 0; frtcnt < tableColwidth; frtcnt++)//modified by silpa.p 0n 16-05-11
            {
                frtCellWidths[frtcnt] = 10;
            }
            if (noOfLanes > 0) {

                //if( originChargesSize >0)
                //document.newPage(); 
                //document.add(horizontalLine);
                frtHeader = new Table(1);
                frtHeader.setWidth(100);
                frtHeader.setBackgroundColor(Color.white);
                frtHeader.setBorderColor(Color.BLACK);
                //frtHeader.setBorder(Rectangle.TOP);
                frtHeader.setBorderWidth(1f);
                frtHeader.setDefaultHorizontalAlignment(Element.ALIGN_LEFT);
                frtHeader.setPadding(1);
                frtHeader.setSpacing(1);
                frtHeader.setTableFitsPage(true);

                chk = new Chunk("FREIGHT CHARGES", FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.BLACK));
                cell1 = new Cell(chk);
                cell1.setLeading(10.0f);
                cell1.setBorder(0);
                cell1.setBackgroundColor(Color.ORANGE);//modified by silpa.p on 3-06-11
                frtHeader.addCell(cell1);
                document.add(frtHeader);
                //document.add(horizontalLine);
                chargeCountry2 = new PdfPTable(tableColwidth);//modified by silpa.p on 16-05-11
                chargeCountry2.setWidthPercentage(100);
                chargeCountry2.setWidths(frtCellWidths);

                /*chargeCountry.setPadding(1);
                chargeCountry.setSpacing(0);
                chargeCountry.setOffset(5);*/

                /*
                cell = new PdfPCell(new Phrase(new Chunk("")));
                 cell.setBorder(Rectangle.BOTTOM);
                cell.setCellEvent(border); 
                cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                chargeCountry.addCell(cell);*/

                /* chargeCountry.setBackgroundColor(Color.WHITE);
                 chargeCountry.setBorderColor(Color.white);
                 chargeCountry.setDefaultHorizontalAlignment(Element.ALIGN_CENTER);
                 //chargeCountry.setBorderWidth(1f);
                 chargeCountry.setTableFitsPage(true);//@@Added by kameswari 
                */
                if (!"Charges".equalsIgnoreCase(masterDOB.getQuoteWith())) {//Added by Anil.k
                    //for(int i=0;i<noOfLanes;i++)//testttttttttttinggggggggg

                    legCharges = (MultiQuoteFreightLegSellRates) charges.get(0);
                    freightCharges = legCharges.getFreightChargesList();

                    freightChargesSize = freightCharges.size();//No of rates per lane
                    //Added By Kishore Podili (this change was over rided)
                    if ("View".equalsIgnoreCase(request.getParameter("Operation")))
                        freightChargesSize = chargesInfolist.size();

                    //added by silpa.p on 16-05-11
                    //ended                      
                    if (freightChargesSize > 0) {

                        chk = new Chunk("Origin",
                                FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                        chk = new Chunk("Destination",
                                FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);
                        System.out.println("operation" + operation);
                        //@@Modified by kiran on 10/08/2011 for WPBN Issue-258778
                        // 09/11/2011
                        if ("add".equalsIgnoreCase(operation) || "modify".equalsIgnoreCase(operation)
                                || "Copy".equalsIgnoreCase(operation)) {
                            if ("checked".equalsIgnoreCase(carrierChecked)) {//added by silpa.p on 14-05-11
                                chk = new Chunk("Carrier",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            } //ended

                            if ("checked".equalsIgnoreCase(serviceLevelChecked)) {//added by silpa.p on 14-05-11
                                chk = new Chunk("Service level",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                // serviceflag=true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);

                            } //ended
                            if ("checked".equalsIgnoreCase(frequencyChecked)) {//added by silpa.p on 16-05-11
                                chk = new Chunk("Frequency",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                // frequencyflag=true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                            if ("checked".equalsIgnoreCase(transitTimeChecked)) {
                                chk = new Chunk("TransitTime",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                // frequencyflag=true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("checked".equalsIgnoreCase(validityChecked)) {
                                chk = new Chunk("FreightValidity",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                // frequencyflag=true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        } else {
                            if ("checked".equalsIgnoreCase(carrierChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())) {//added by silpa.p on 14-05-11
                                chk = new Chunk("Carrier",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                carrierFlag = true;
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            } //ended
                            if ("checked".equalsIgnoreCase(serviceLevelChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getServiceChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getServiceChecked())) {//added by silpa.p on 14-05-11
                                chk = new Chunk("Service level",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                serviceflag = true;
                                serviceFlag = true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);

                            } //ended
                            if ("checked".equalsIgnoreCase(frequencyChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())) {//added by silpa.p on 16-05-11
                                chk = new Chunk("Frequency",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                frequencyflag = true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                            if ("checked".equalsIgnoreCase(transitTimeChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())) {
                                chk = new Chunk("TransitTime",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                transittimeflag = true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("checked".equalsIgnoreCase(validityChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())) {
                                chk = new Chunk("FreightValidity",
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                freightValidity = true;
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        }
                        //@@ Ended by kiran.v
                        chk = new Chunk("Incoterms",
                                FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);
                        //added by silpa.p on 23-06-11 for currency add
                        chk = new Chunk("Currency",
                                FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);//ended

                        if ("Add".equalsIgnoreCase(request.getParameter("Operation"))
                                || "Modify".equalsIgnoreCase(request.getParameter("Operation"))
                                || "Copy".equalsIgnoreCase(request.getParameter("Operation"))) {
                            for (int brk1 = 0; brk1 < tmpBrkptsize; brk1++) {

                                if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("MIN")) {
                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 7)
                                        breakpt = "MIN" + "\n" + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "MIN";
                                    else
                                        breakpt = "MIN";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("BASIC")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 7)
                                        breakpt = "BASIC" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "BASIC";
                                    else
                                        breakpt = "BASIC";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("FLAT")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 7)
                                        breakpt = "FLAT" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt ="FLAT";
                                    else
                                        breakpt = "FLAT";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("ABSOLUTE")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 10)
                                        breakpt = "ABSOLUTE" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "ABSOLUTE";
                                    else
                                        breakpt = "ABSOLUTE";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("PERCENT")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 10)
                                        breakpt = "PERCENT" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "PERCENT";
                                    else
                                        breakpt = "PERCENT";
                                } else if (isInteger(tmpmultiBrkpt.split(",")[brk1])
                                        || isDouble(tmpmultiBrkpt.split(",")[brk1])) {
                                    breakpt = tmpmultiBrkpt.split(",")[brk1];
                                } else
                                    breakpt = tmpmultiBrkpt
                                            .split(",")[brk1] != null
                                                    ? (tmpmultiBrkpt.split(",")[brk1].length() > 5
                                                            ? tmpmultiBrkpt.split(",")[brk1].substring(0, 4)
                                                                    + "\n"
                                                                    + tmpmultiBrkpt.split(",")[brk1].substring(
                                                                            4,
                                                                            tmpmultiBrkpt.split(",")[brk1]
                                                                                    .length() - 2)
                                                            : tmpmultiBrkpt.split(",")[brk1])
                                                    : "";
                                basis = tmpBasis.split(",")[brk1] != null ? tmpBasis.split(",")[brk1] : "";

                                //chk = new Chunk(breakpt+"\n"+basis,FontFactory.getFont("Courier-Bold ", 8, Font.BOLD,Color.BLACK));
                                chk = new Chunk(breakpt,
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        } else {
                            for (int t = 0; t < tmpBrkptsize; t++) {
                                if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("MIN")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "MIN" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "MIN";
                                    else
                                        breakpt = "MIN";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("BASIC")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "BASIC" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "BASIC";
                                    else
                                        breakpt = "BASIC";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("FLAT")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "FLAT" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "FLAT";

                                    else
                                        breakpt = "FLAT";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase()
                                        .endsWith("ABSOLUTE")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 10)
                                        breakpt = "ABSOLUTE" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "ABSOLUTE";
                                    else
                                        breakpt = "ABSOLUTE";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("PERCENT")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "PERCENT" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "PERCENT";
                                    else
                                        breakpt = "PERCENT";
                                } else
                                    breakpt = viewDOB.getMultiBreakPoints()[t] != null
                                            ? (viewDOB.getMultiBreakPoints()[t].length() > 5
                                                    ? viewDOB.getMultiBreakPoints()[t].substring(0, 4) + "\n"
                                                            + viewDOB.getMultiBreakPoints()[t].substring(4,
                                                                    viewDOB.getMultiBreakPoints()[t].length()
                                                                            - 2)
                                                    : viewDOB.getMultiBreakPoints()[t])
                                            : "";

                                //chk = new Chunk(breakpt+"\n"+viewDOB.getBasis().split(",")[t],FontFactory.getFont("Courier-Bold ", 8, Font.BOLD,Color.BLACK));
                                chk = new Chunk(breakpt,
                                        FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);

                            }
                        }

                        chk = new Chunk("Density Ratio",
                                FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                    }

                    //added by silpa.p on 16-05-11 for adding new line for pdf
                    if (freightChargesSize > 0) {

                        chk = new Chunk("", FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);
                        chk = new Chunk("", FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        //@@ Modified by kiran.v on 28/08/2011 for Wpbn Issue -258778
                        // 09/11/2011
                        if ("add".equalsIgnoreCase(operation) || "modify".equalsIgnoreCase(operation)
                                || "Copy".equalsIgnoreCase(operation)) {
                            if ("checked".equalsIgnoreCase(carrierChecked)) {//added by silpa.p on 14-05-11
                                chk = new Chunk("",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }

                            if ("checked".equalsIgnoreCase(serviceLevelChecked)) {//added by silpa.p on 14-05-11
                                chk = new Chunk("",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);

                            }
                            if ("checked".equalsIgnoreCase(frequencyChecked)) {//added by silpa.p on 16-05-11
                                chk = new Chunk("",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                            if ("checked".equalsIgnoreCase(transitTimeChecked)) {
                                chk = new Chunk("",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("checked".equalsIgnoreCase(validityChecked)) {
                                chk = new Chunk("",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        } else {
                            if ("Y".equalsIgnoreCase(
                                    multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getCarrierChecked()
                                            : "N")
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo != null
                                            ? multiQuoteChargeInfo.getCarrierChecked()
                                            : "")) {//added by silpa.p on 14-05-11
                                chk = new Chunk(" ",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }

                            if ("Y".equalsIgnoreCase(
                                    multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getServiceChecked()
                                            : "N")
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo != null
                                            ? multiQuoteChargeInfo.getServiceChecked()
                                            : "")) {//added by silpa.p on 14-05-11
                                chk = new Chunk(" ",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);

                            }
                            if ("Y".equalsIgnoreCase(
                                    multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getFrequencyChecked()
                                            : "N")
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo != null
                                            ? multiQuoteChargeInfo.getFrequencyChecked()
                                            : "")) {//added by silpa.p on 16-05-11
                                chk = new Chunk(" ",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                            if ("Y".equalsIgnoreCase(
                                    multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getTransitTimeChecked()
                                            : "N")
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo != null
                                            ? multiQuoteChargeInfo.getTransitTimeChecked()
                                            : "")) {
                                chk = new Chunk(" ",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("Y".equalsIgnoreCase(
                                    multiQuoteChargeInfo != null ? multiQuoteChargeInfo.getRateValidityChecked()
                                            : "N")
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo != null
                                            ? multiQuoteChargeInfo.getRateValidityChecked()
                                            : "")) {
                                chk = new Chunk(" ",
                                        FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        }
                        chk = new Chunk("", FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);
                        //added by silpa.p on 23-06-11 for currency add
                        chk = new Chunk("", FontFactory.getFont("Courier-Bold ", 8, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);//ended

                        if ("Add".equalsIgnoreCase(request.getParameter("Operation"))
                                || "Modify".equalsIgnoreCase(request.getParameter("Operation"))
                                || "Copy".equalsIgnoreCase(request.getParameter("Operation"))) {
                            for (int brk1 = 0; brk1 < tmpBrkptsize; brk1++) {

                                if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("MIN")) {
                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 7)
                                        breakpt = "MIN" + "\n" + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "MIN";
                                    else
                                        breakpt = "MIN";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("BASIC")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 7)
                                        breakpt = "BASIC" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "BASIC";
                                    else
                                        breakpt = "BASIC";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("FLAT")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 7)
                                        breakpt = "FLAT" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt ="FLAT";
                                    else
                                        breakpt = "FLAT";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("ABSOLUTE")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 10)
                                        breakpt = "ABSOLUTE" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "ABSOLUTE";
                                    else
                                        breakpt = "ABSOLUTE";
                                } else if (tmpmultiBrkpt.split(",")[brk1] != null
                                        && tmpmultiBrkpt.split(",")[brk1].toUpperCase().endsWith("PERCENT")) {

                                    if (tmpmultiBrkpt.split(",")[brk1].length() > 10)
                                        breakpt = "PERCENT" + "\n"
                                                + tmpmultiBrkpt.split(",")[brk1].substring(0, 3);
                                    //breakpt = "PERCENT";
                                    else
                                        breakpt = "PERCENT";
                                } else if (isInteger(tmpmultiBrkpt.split(",")[brk1])
                                        || isDouble(tmpmultiBrkpt.split(",")[brk1])) {
                                    breakpt = tmpmultiBrkpt.split(",")[brk1];
                                } else
                                    breakpt = tmpmultiBrkpt
                                            .split(",")[brk1] != null
                                                    ? (tmpmultiBrkpt.split(",")[brk1].length() > 5
                                                            ? tmpmultiBrkpt.split(",")[brk1].substring(0, 4)
                                                                    + "\n"
                                                                    + tmpmultiBrkpt.split(",")[brk1].substring(
                                                                            4,
                                                                            tmpmultiBrkpt.split(",")[brk1]
                                                                                    .length() - 2)
                                                            : tmpmultiBrkpt.split(",")[brk1])
                                                    : "";
                                basis = tmpBasis.split(",")[brk1] != null ? tmpBasis.split(",")[brk1] : "";

                                //chk = new Chunk(breakpt+"\n"+basis,FontFactory.getFont("Courier-Bold ", 8, Font.BOLD,Color.BLACK));
                                chk = new Chunk(basis,
                                        FontFactory.getFont("Courier-Bold ", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }

                        } else {
                            for (int t = 0; t < tmpBrkptsize; t++) {
                                if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("MIN")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "MIN" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "MIN";
                                    else
                                        breakpt = "MIN";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("BASIC")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "BASIC" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "BASIC";
                                    else
                                        breakpt = "BASIC";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("FLAT")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "FLAT" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "FLAT";

                                    else
                                        breakpt = "FLAT";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase()
                                        .endsWith("ABSOLUTE")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 10)
                                        breakpt = "ABSOLUTE" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "ABSOLUTE";
                                    else
                                        breakpt = "ABSOLUTE";
                                } else if (viewDOB.getMultiBreakPoints()[t].toUpperCase().endsWith("PERCENT")) {
                                    if (viewDOB.getMultiBreakPoints()[t].length() > 7)
                                        breakpt = "PERCENT" + "\n"
                                                + viewDOB.getMultiBreakPoints()[t].substring(0, 3);
                                    //breakpt= "PERCENT";
                                    else
                                        breakpt = "PERCENT";
                                } else
                                    breakpt = viewDOB.getMultiBreakPoints()[t] != null
                                            ? (viewDOB.getMultiBreakPoints()[t].length() > 5
                                                    ? viewDOB.getMultiBreakPoints()[t].substring(0, 4) + "\n"
                                                            + viewDOB.getMultiBreakPoints()[t].substring(4,
                                                                    viewDOB.getMultiBreakPoints()[t].length()
                                                                            - 2)
                                                    : viewDOB.getMultiBreakPoints()[t])
                                            : "";

                                //chk = new Chunk(breakpt+"\n"+viewDOB.getBasis().split(",")[t],FontFactory.getFont("Courier-Bold ", 8, Font.BOLD,Color.BLACK));
                                chk = new Chunk(viewDOB.getBasis().split(",")[t],
                                        FontFactory.getFont("Courier-Bold ", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);

                            }
                        }
                        chk = new Chunk("", FontFactory.getFont("Courier-Bold ", 7, Font.BOLD, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                    } //ended
                    if ("View".equalsIgnoreCase(request.getParameter("Operation")))
                        freightChargesSize = chargesInfolist.size();
                    for (int j = 0; j < freightChargesSize; j++) {
                        if ("View".equalsIgnoreCase(request.getParameter("Operation"))) {
                            multiQuoteChargeInfo = (MultiQuoteChargeInfo) chargesInfolist.get(j);
                            // multiQuoteChargeInfo         = (MultiQuoteChargeInfo)freightCharges.get(j);
                        } else
                            multiQuoteChargeInfo = (MultiQuoteChargeInfo) freightCharges.get(j);
                        logger.info("Freight Charges doPDFGeneration::" + j + ":" + chargesDOB); // newly added

                        home = (QMSMultiQuoteSessionHome) LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");
                        remote = home.create();
                        //orgDesc = remote.getLocationName(multiQuoteChargeInfo.getOrginLoc());//Commented by silpa.p on 5-07-11
                        orgDesc = multiQuoteChargeInfo.getOrginLoc();//modified by silpa.p on 5-07-11
                        chk = new Chunk(orgDesc != null ? orgDesc : "",
                                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                        //destDesc = remote.getLocationName(multiQuoteChargeInfo.getDestLoc());//commented by silpa.p on 5-07-11
                        destDesc = multiQuoteChargeInfo.getDestLoc();//modified by silpa.p on 5-07-11

                        chk = new Chunk(destDesc != null ? destDesc : "",
                                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                        // tmpCarrier1 = multiQuoteChargeInfo.getCarrier(); Commented by Gowtham
                        /* if("View".equalsIgnoreCase(request.getParameter("Operation"))&& ("C".equalsIgnoreCase(CarrierChecked)))
                        {     
                        chk = new Chunk(multiQuoteChargeInfo.getCarrier()!=null?multiQuoteChargeInfo.getCarrier():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                        cell = new PdfPCell(new Phrase(chk));
                          cell.setBorder(Rectangle.BOTTOM);
                        cell.setCellEvent(border); 
                        cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry.addCell(cell);
                                
                        }
                        else
                        {
                           if("C".equalsIgnoreCase(CarrierChecked)){
                           chk = new Chunk(multiQuoteChargeInfo.getCarrierName()!=null?multiQuoteChargeInfo.getCarrierName():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                           cell = new PdfPCell(new Phrase(chk));
                             cell.setBorder(Rectangle.BOTTOM);
                           cell.setCellEvent(border); 
                           cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                           chargeCountry.addCell(cell);
                           }
                        }*/ //carrierDesc = remote.getServiceLevelName(multiQuoteChargeInfo.getServiceLevel());
                        //@@Added by kiran.v on 01/08/2011 for Wpbn Issue 258778
                        carrierDesc = multiQuoteChargeInfo.getCarrier();
                        Cd.add(carrierDesc);
                        String carrierName = remote.getCarrierName(multiQuoteChargeInfo.getCarrier());
                        Cdn.add(carrierName);
                        //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                        String time = multiQuoteChargeInfo.getTransitTime();
                        //Cdn.add(multiQuoteChargeInfo.getCarrierName());
                        // carrierDesc = remote.getCarrierName(multiQuoteChargeInfo.getCarrier());//added by silpa.p on 16-05-11
                        if ("View".equalsIgnoreCase(request.getParameter("Operation")))
                            //chk = new Chunk(multiQuoteChargeInfo.getCarrierName()!=null?multiQuoteChargeInfo.getCarrierName():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                            chk = new Chunk(carrierDesc != null ? carrierDesc : "",
                                    FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//modified by silpa.p on 16-05-11
                        //@@Modified by kiran on 10/08/2011 for WPBN Issue-258778
                        // 09/11/2011
                        if ("add".equalsIgnoreCase(operation) || "modify".equalsIgnoreCase(operation)
                                || "Copy".equalsIgnoreCase(operation)) {
                            if ("checked".equalsIgnoreCase(carrierChecked)) {//added by silpa.p on 14-05-11                            
                                // chk = new Chunk(multiQuoteChargeInfo.getCarrier()!=null?multiQuoteChargeInfo.getCarrier():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(carrierDesc != null ? carrierDesc : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            } //ended
                            //@@Added by kiran.v on 01/08/2011 for Wpbn Issue 258778
                            serviceLevelDesc = multiQuoteChargeInfo.getServiceLevel();

                            Sd.add(serviceLevelDesc);
                            // serviceLevelDesc = remote.getServiceLevelName(multiQuoteChargeInfo.getServiceLevel());//added by silpa.p on 16-05-11
                            //tmpServl1=multiQuoteChargeInfo.getServiceLevel(); Commented by Gowtham
                            if ("checked".equalsIgnoreCase(serviceLevelChecked)) {//added by silpa.p on 14-05-11
                                //chk = new Chunk(multiQuoteChargeInfo.getServiceLevel()!=null?multiQuoteChargeInfo.getServiceLevel():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(serviceLevelDesc != null ? serviceLevelDesc : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//modified by silpa.p on 16-05-11
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("checked".equalsIgnoreCase(frequencyChecked)) {//added by silpa.p on 16-05-11
                                tmpFrCnt = multiQuoteChargeInfo.getFrequency() != null
                                        ? multiQuoteChargeInfo.getFrequency().split(",").length
                                        : 0;
                                if (tmpFrCnt > 1) {
                                    for (int tmpFc = 0; tmpFc < tmpFrCnt; tmpFc++) {
                                        if ("1".equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Mon";
                                        else if ("2"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Tue";
                                        else if ("3"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Wed";
                                        else if ("4"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Thr";
                                        else if ("5"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Fri";
                                        else if ("6"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Sat";
                                        else if ("7"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Sun";
                                        if (tmpFc == tmpFrCnt - 1)
                                            tmpFreq1 = tmpFreq1 + tmpFreq;
                                        else
                                            tmpFreq1 = tmpFreq1 + tmpFreq + ",";
                                    }
                                } else if (multiQuoteChargeInfo.getFrequency() != null
                                        && isInteger(multiQuoteChargeInfo.getFrequency())) {
                                    if ("1".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Mon";
                                    else if ("2".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Tue";
                                    else if ("3".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Wed";
                                    else if ("4".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Thr";
                                    else if ("5".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Fri";
                                    else if ("6".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Sat";
                                    else if ("7".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Sun";
                                } else
                                    tmpFreq1 = multiQuoteChargeInfo.getFrequency() != null
                                            ? multiQuoteChargeInfo.getFrequency()
                                            : "";

                                chk = new Chunk(tmpFreq1 != null ? tmpFreq1 : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                            String time1 = multiQuoteChargeInfo.getTransitTime();
                            String validity = multiQuoteChargeInfo.getRateValidity();
                            if ("checked".equalsIgnoreCase(transitTimeChecked)) {
                                //chk = new Chunk(multiQuoteChargeInfo.getServiceLevel()!=null?multiQuoteChargeInfo.getServiceLevel():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(time1 != null ? time1 : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("checked".equalsIgnoreCase(validityChecked)) {
                                //chk = new Chunk(multiQuoteChargeInfo.getServiceLevel()!=null?multiQuoteChargeInfo.getServiceLevel():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(validity != null ? validity : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        } else {
                            if ("checked".equalsIgnoreCase(carrierChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getCarrierChecked())
                                    || carrierFlag) {//added by silpa.p on 14-05-11                            
                                // chk = new Chunk(multiQuoteChargeInfo.getCarrier()!=null?multiQuoteChargeInfo.getCarrier():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(carrierDesc != null ? carrierDesc : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            } //ended
                              //@@Added by kiran.v on 01/08/2011 for Wpbn Issue 258778
                            serviceLevelDesc = multiQuoteChargeInfo.getServiceLevel();

                            Sd.add(serviceLevelDesc);
                            // serviceLevelDesc = remote.getServiceLevelName(multiQuoteChargeInfo.getServiceLevel());//added by silpa.p on 16-05-11
                            //tmpServl1=multiQuoteChargeInfo.getServiceLevel(); Commented by Gowtham                     
                            if ("checked".equalsIgnoreCase(serviceLevelChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getServiceChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getServiceChecked())
                                    || serviceflag) {//added by silpa.p on 14-05-11
                                //chk = new Chunk(multiQuoteChargeInfo.getServiceLevel()!=null?multiQuoteChargeInfo.getServiceLevel():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(serviceLevelDesc != null ? serviceLevelDesc : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//modified by silpa.p on 16-05-11
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            if ("checked".equalsIgnoreCase(frequencyChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getFrequencyChecked())
                                    || frequencyflag) {//added by silpa.p on 16-05-11
                                tmpFrCnt = multiQuoteChargeInfo.getFrequency() != null
                                        ? multiQuoteChargeInfo.getFrequency().split(",").length
                                        : 0;
                                if (tmpFrCnt > 1) {
                                    for (int tmpFc = 0; tmpFc < tmpFrCnt; tmpFc++) {
                                        if ("1".equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Mon";
                                        else if ("2"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Tue";
                                        else if ("3"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Wed";
                                        else if ("4"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Thr";
                                        else if ("5"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Fri";
                                        else if ("6"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Sat";
                                        else if ("7"
                                                .equals(multiQuoteChargeInfo.getFrequency().split(",")[tmpFc]))
                                            tmpFreq = "Sun";
                                        if (tmpFc == tmpFrCnt - 1)
                                            tmpFreq1 = tmpFreq1 + tmpFreq;
                                        else
                                            tmpFreq1 = tmpFreq1 + tmpFreq + ",";
                                    }
                                } else if (multiQuoteChargeInfo.getFrequency() != null
                                        && isInteger(multiQuoteChargeInfo.getFrequency())) {
                                    if ("1".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Mon";
                                    else if ("2".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Tue";
                                    else if ("3".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Wed";
                                    else if ("4".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Thr";
                                    else if ("5".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Fri";
                                    else if ("6".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Sat";
                                    else if ("7".equals(multiQuoteChargeInfo.getFrequency()))
                                        tmpFreq1 = "Sun";
                                } else
                                    tmpFreq1 = multiQuoteChargeInfo.getFrequency() != null
                                            ? multiQuoteChargeInfo.getFrequency()
                                            : "";

                                chk = new Chunk(tmpFreq1 != null ? tmpFreq1 : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            //@@Added by kiran.v on 23/09/2011 for Wpbn Issue 272712
                            String time1 = multiQuoteChargeInfo.getTransitTime();
                            if ("checked".equalsIgnoreCase(transitTimeChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getTransitTimeChecked())
                                    || transittimeflag) {
                                //chk = new Chunk(multiQuoteChargeInfo.getServiceLevel()!=null?multiQuoteChargeInfo.getServiceLevel():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(time1 != null ? time1 : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                            String validity = multiQuoteChargeInfo.getRateValidity();

                            if ("checked".equalsIgnoreCase(validityChecked)
                                    || "Y".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())
                                    || "on".equalsIgnoreCase(multiQuoteChargeInfo.getRateValidityChecked())
                                    || freightValidity) {
                                //chk = new Chunk(multiQuoteChargeInfo.getServiceLevel()!=null?multiQuoteChargeInfo.getServiceLevel():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                chk = new Chunk(validity != null ? validity : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell2 = new PdfPCell(new Phrase(chk));
                                cell2.setBorder(Rectangle.BOTTOM);
                                cell2.setCellEvent(border);
                                cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry2.addCell(cell2);
                            }
                        }
                        //@@Ended by kiran.v
                        chk = new Chunk((multiQuoteChargeInfo.getIncoTerms() != null
                                ? multiQuoteChargeInfo.getIncoTerms()
                                : ""), FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);
                        //added by silpa.p on 23-06-11 for currency add
                        if ("View".equalsIgnoreCase(request.getParameter("Operation"))) {
                            chk = new Chunk((multiQuoteChargeInfo.getCurrency() != null
                                    ? multiQuoteChargeInfo.getCurrency()
                                    : ""), FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                        } else {
                            chk = new Chunk((multiQuoteChargeInfo.getCurrency() != null
                                    ? multiQuoteChargeInfo.getCurrency()
                                    : ""), FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                        }
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);//ended

                        for (int trc = 0; trc < tmpBrkptsize; trc++) {
                            if ("View".equalsIgnoreCase(request.getParameter("Operation"))) {
                                rates1 = Double.parseDouble(multiQuoteChargeInfo.getMultiBuyRates()[trc]);
                                rates = ("0.00".equals(rates1.toString()) || "0".equals(rates1.toString()))
                                        ? "-"
                                        : rates1.toString();
                            } else
                                rates = multiQuoteChargeInfo.getMultiCalSellRates()[tmpBrksize[trc]] != null
                                        ? ("0.00".equals(
                                                multiQuoteChargeInfo.getMultiCalSellRates()[tmpBrksize[trc]])
                                                || ("0".equals(multiQuoteChargeInfo
                                                        .getMultiCalSellRates()[tmpBrksize[trc]]))
                                                                ? "-"
                                                                : multiQuoteChargeInfo
                                                                        .getMultiCalSellRates()[tmpBrksize[trc]])
                                        : "0.00";//modified by silpa.p on 3-06-11

                            chk = new Chunk(rates, FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                            cell2 = new PdfPCell(new Phrase(chk));
                            cell2.setBorder(Rectangle.BOTTOM);
                            cell2.setCellEvent(border);
                            cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                            chargeCountry2.addCell(cell2);
                        }

                        chk = new Chunk(
                                multiQuoteChargeInfo.getRatio() != null ? "1:" + multiQuoteChargeInfo.getRatio()
                                        : "",
                                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                        cell2 = new PdfPCell(new Phrase(chk));
                        cell2.setBorder(Rectangle.BOTTOM);
                        cell2.setCellEvent(border);
                        cell2.setHorizontalAlignment(cell.ALIGN_CENTER);
                        chargeCountry2.addCell(cell2);

                        tmpFreq1 = "";
                    }
                    //02Mar11
                }

                document.add(chargeCountry2);

            } //end of if(charge)
              //document.newPage();

        } // Added by Gowtham. to skip in case of quote with charges.

        pTable = new PdfPTable(1);
        pTable.setSpacingAfter(20f);
        pCell = new PdfPCell(new Phrase(new Chunk("")));
        pCell.setBorder(0);
        pTable.addCell(pCell);

        document.add(pTable);

        ArrayList destChargeInfo = null;
        //Destination
        MultiQuoteChargeInfo chargeInfo1 = null;
        ArrayList destLaneCharges = finalDOB.getLegDetails();//.get(0)).getOriginChargesList();

        for (int dc = 0; dc < noOfLanes; dc++) {
            legDestCharges = (MultiQuoteFreightLegSellRates) destLaneCharges.get(dc);
            ArrayList destCharges = legDestCharges.getDestChargesList();
            int[] destIndices = legDestCharges.getSelctedDestChargesListIndices();
            int destChargesSize = 0;
            String breakPoint = "";
            if (destIndices != null)
                destChargesSize = destIndices.length;
            else
                destChargesSize = 0;

            int destChargesInfoSize = 0;
            if (destChargesSize > 0) { //document.newPage();  
                //document.add(horizontalLine);
                chargeTitle = new Table(1);
                chargeTitle.setWidth(100);
                chargeTitle.setPadding(1);
                chargeTitle.setSpacing(1);
                chargeTitle.setBorderColor(Color.BLACK);
                chargeTitle.setDefaultHorizontalAlignment(Element.ALIGN_LEFT);
                chargeTitle.setBackgroundColor(Color.ORANGE);//modified by silpa.p on 3-06-11
                chargeTitle.setBorderWidth(1f);

                home = (QMSMultiQuoteSessionHome) LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");
                remote = home.create();
                if (legOrginCharges.getShipmentMode() == 2
                        && !"Charges".equalsIgnoreCase(masterDOB.getQuoteWith()))//added by silpa.p on 16-06-11
                {
                    chk = new Chunk(
                            (legDestCharges.getDestination() != null
                                    ? remote.getPortName(legDestCharges.getDestination())
                                    : "") + "-Destination Charges",
                            FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.BLACK)); // Added by Gowtham on 01-Feb-2011.   
                } else
                    chk = new Chunk(
                            (legDestCharges.getDestination() != null
                                    ? remote.getLocationName(legDestCharges.getDestination())
                                    : "") + "-Destination Charges",
                            FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.BLACK));// Added by Gowtham on 01-Feb-2011.
                cell1 = new Cell(chk);

                cell1.setLeading(10.0f);
                cell1.setBackgroundColor(Color.WHITE);
                cell1.setHeader(true);
                cell1.setBorder(0);
                cell1.setBackgroundColor(Color.ORANGE);//modified by silpa.p on 3-06-11
                chargeTitle.addCell(cell1);
                //document.newPage();
                document.add(chargeTitle);

                //document.add(horizontalLine);

                /* chargeCountry1  = new Table(6);
                 chargeCountry1.setWidth(100);
                 chargeCountry1.setWidths(cellWidths);
                 chargeCountry1.setPadding(1);
                 chargeCountry1.setSpacing(0);
                 chargeCountry1.setOffset(5);
                 chargeCountry1.setBackgroundColor(Color.WHITE);
                 chargeCountry1.setBorderColor(Color.WHITE);
                 chargeCountry1.setDefaultHorizontalAlignment(Element.ALIGN_CENTER);
                 chargeCountry1.setBorderWidth(1f);
                 chargeCountry1.setTableFitsPage(true);*/

                chargeTitle.setWidth(100);
                chargeTitle.setBorderWidth(1f);

                chargeCountry = new Table(6);
                chargeCountry.setWidths(cellWidths);
                //chargeCountry.setWidthPercentage(100);
                chargeCountry.setPadding(3);
                chargeCountry.setSpacing(0);
                chargeCountry.setWidths(cellWidths);
                chargeCountry.setBorder(1);
                chargeCountry.setWidth(100);
                chargeCountry.setBorderWidth(1f);
                /* home        = (QMSMultiQuoteSessionHome)LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");//146460
                remote      = home.create();
                 if(legOrginCharges.getShipmentMode()==2)
                 {       
                 chk = new Chunk((legDestCharges.getDestination()!=null?remote.getPortName(legDestCharges.getDestination()):"")+"-Destination Charges",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK)); // Added by Gowtham on 01-Feb-2011.   
                 }
                 else
                chk = new Chunk((legDestCharges.getDestination()!=null ? remote.getLocationName(legDestCharges.getDestination()):"")+"-Destination Charges",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));// Added by Gowtham on 01-Feb-2011.
                cell = new Cell(chk);
                        
                cell.setLeading(10.0f);
                cell.setBackgroundColor(Color.ORANGE);                
                cell.setHeader(true);
                chargeCountry.addCell(cell);*/
                chk = new Chunk("Charge Description", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
                cell = new Cell(new Phrase(chk));
                cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                ////cell.setBorder(Rectangle.BOTTOM);
                cell.setBorderWidth(1);
                chargeCountry.addCell(cell);

                chk = new Chunk("Weight Break Slab", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
                cell = new Cell(new Phrase(chk));
                ////cell.setBorder(Rectangle.BOTTOM);
                cell.setBorderWidth(1);
                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                chargeCountry.addCell(cell);

                chk = new Chunk("Currency", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
                cell = new Cell(new Phrase(chk));
                ////cell.setBorder(Rectangle.BOTTOM);
                cell.setBorderWidth(1);
                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                chargeCountry.addCell(cell);

                chk = new Chunk("Charge Rate", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
                cell = new Cell(new Phrase(chk));
                ////cell.setBorder(Rectangle.BOTTOM);
                cell.setBorderWidth(1);
                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                chargeCountry.addCell(cell);

                chk = new Chunk("Basis", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
                cell = new Cell(new Phrase(chk));
                ////cell.setBorder(Rectangle.BOTTOM);
                cell.setBorderWidth(1);
                cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                chargeCountry.addCell(cell);

                chk = new Chunk("Density Ratio", FontFactory.getFont("ARIAL", 7, Font.BOLD, Color.BLACK));
                cell = new Cell(new Phrase(chk));
                ////cell.setBorder(Rectangle.BOTTOM);
                cell.setBorderWidth(1);
                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                chargeCountry.addCell(cell);

                for (int dcc = 0; dcc < destChargesSize; dcc++) {
                    if ((operation != null && operation.equals("View")) || ("Y"
                            .equalsIgnoreCase(legDestCharges.getDestChargesSelectedFlag()[destIndices[dcc]])))//modified by silpa.p on 21-06-11
                    {

                        chargesDOB = (MultiQuoteCharges) destCharges.get(destIndices[dcc]);

                        //  for(int j=0;j<destChargesSize;j++)
                        //{
                        if (destIndices[dcc] != -1) {
                            // chargesDOB            = (MultiQuoteCharges)destCharges.get(destIndices[j]);
                            logger.info("Destination Charges doPDFGeneration::" + dcc + ":" + chargesDOB); // newly added                      
                            destChargeInfo = chargesDOB.getChargeInfoList();
                            destChargesInfoSize = destChargeInfo.size();
                            for (int k = 0; k < destChargesInfoSize; k++) {
                                chargeInfo = (MultiQuoteChargeInfo) destChargeInfo.get(k);
                                // if(k==destChargesInfoSize/2 )
                                if (k == 0) {
                                    if ("B".equalsIgnoreCase(chargesDOB.getSellBuyFlag())
                                            || "S".equalsIgnoreCase(chargesDOB.getSellBuyFlag()))
                                        chk = new Chunk(
                                                chargesDOB.getExternalName() != null
                                                        ? chargesDOB.getExternalName()
                                                        : "",
                                                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                    else
                                        chk = new Chunk(
                                                chargesDOB.getChargeDescriptionId() != null
                                                        ? chargesDOB.getChargeDescriptionId()
                                                        : "",
                                                FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));

                                    /*cell1 = new Cell(chk);
                                    cell1.setLeading(9.0f);
                                    //cell.setRowspan(destChargesInfoSize);
                                    //cell.setBorderWidth(0);
                                    //cell.setBackgroundColor(Color.lightGray);
                                    cell1.setBorder(0);
                                    cell1.setHeader(true);       
                                    cell1.setHorizontalAlignment(cell1.ALIGN_LEFT);
                                    chargeCountry1.addCell(cell1)*/;

                                    cell = new Cell(new Phrase(chk));
                                    cell.setLeading(7.0f);
                                    cell.setBorder(1);
                                    cell.setRowspan(destChargesInfoSize);
                                    cell.setBorderWidthTop(0);
                                    cell.setBorderWidthBottom(0.1f);
                                    cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                    cell.setVerticalAlignment(cell.ALIGN_LEFT);

                                    if (dcc == destChargesSize - 1 && k == destChargesInfoSize - 1) {
                                        cell.setBorderWidthBottom(0.1f);
                                        cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                    } else if (k == destChargesInfoSize - 1) {
                                        cell.setBorderWidthBottom(0.1f);
                                        cell.setHorizontalAlignment(cell.ALIGN_LEFT);

                                    } else {
                                        cell.setHorizontalAlignment(cell.ALIGN_LEFT);
                                    }
                                    // cell.setBorderWidthTop(0);
                                    // cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                                    chargeCountry.addCell(cell);

                                }
                                /*else if (k==destChargesInfoSize-1) 
                                {
                                   cell = new Cell(new Phrase(new Chunk("")));
                                   ////cell.setBorder(Rectangle.BOTTOM);
                                 ////cell.setCellEvent(border); 
                                   if(dcc!=destChargesSize-1){
                                 cell.setBorder(0);
                                 cell.setBorderWidth(0f);
                                 cell.setLeading(7.0f);
                                   }
                                   else
                                {
                                    cell.setBorder(1);  
                                    cell.setBorderWidthTop(0);
                                    cell.setBorderWidthBottom(0.1f);
                                    cell.setLeading(7.0f);
                                            
                                   }
                                  cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                                  chargeCountry.addCell(cell);
                                        
                                }
                                else
                                {
                                     cell = new Cell(new Phrase(new Chunk("")));
                                  ////cell.setBorder(0);
                                  ////cell.setCellEvent(border); 
                                  cell.setBorder(0);
                                     cell.setLeading(7.0f);
                                    cell.setBorderWidth(0f);                                
                                  cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                                  chargeCountry.addCell(cell);
                                }*/

                                //@@Commented by subrahmanyam for 146455 on 18/02/09                   
                                /* chk = new Chunk((chargeInfo.getBreakPoint()!=null && !"Absolute".equalsIgnoreCase(chargeInfo.getBreakPoint()) && !"Percent".equalsIgnoreCase(chargeInfo.getBreakPoint()))?chargeInfo.getBreakPoint().toUpperCase():"",FontFactory.getFont("ARIAL", 8, Font.NORMAL,Color.BLACK));
                                 cell = new Cell(chk);cell.setLeading(8.0f);
                                 cell.setBackgroundColor(Color.lightGray);
                                 cell.setHeader(true);
                                 chargeCountry.addCell(cell);*/
                                //@@Added by subrahmanyam for 146455 on 18/02/09                        
                                if (chargeInfo.getBreakPoint().equalsIgnoreCase("MIN")) {
                                    breakPoint = "Min";
                                }

                                else if (chargeInfo.getBreakPoint().equalsIgnoreCase("FLAT")) {
                                    breakPoint = "Flat";
                                } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("CSF")) {
                                    breakPoint = "Absolute";
                                } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("SURCHARGE")) {
                                    breakPoint = "Percent";
                                } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("MAX")) {
                                    breakPoint = "Max";
                                } else if (chargeInfo.getBreakPoint().equalsIgnoreCase("BASE")) {
                                    breakPoint = "Base";
                                }

                                else {
                                    breakPoint = chargeInfo.getBreakPoint();
                                }

                                // chk = new Chunk(breakPoint!=null&& !"Absolute".equalsIgnoreCase(breakPoint)&&!"Percent".equalsIgnoreCase(breakPoint)?breakPoint:"",FontFactory.getFont("ARIAL", 7, Font.NORMAL,Color.BLACK));

                                chk = new Chunk(breakPoint != null ? breakPoint : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));//added by silpa.p on 16-06-11
                                /*cell1 = new Cell(chk);cell1.setLeading(8.0f);
                                // cell.setBackgroundColor(Color.lightGray);
                                cell1.setHeader(true);
                                cell1.setBorder(0);
                                  chargeCountry1.addCell(cell1);*/

                                cell = new Cell(new Phrase(chk));
                                cell.setLeading(7.0f);
                                if (k == destChargesInfoSize - 1) {
                                    ////cell.setBorder(Rectangle.BOTTOM);
                                    ////cell.setCellEvent(border); 

                                } else {
                                    // //cell.setBorder(0);
                                }
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry.addCell(cell);

                                //@@Ended by subrahmanyam for 146455 on 18/02/09   

                                chk = new Chunk(chargeInfo.getCurrency(),
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell = new Cell(new Phrase(chk));
                                cell.setLeading(7.0f);
                                if (k == destChargesInfoSize - 1) {
                                    ////cell.setBorder(Rectangle.BOTTOM);
                                    ////cell.setCellEvent(border); 

                                } else {
                                    ////cell.setBorder(0);
                                }
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry.addCell(cell);

                                chk = new Chunk(
                                        df.format(chargeInfo.getSellRate())
                                                + (chargeInfo.isPercentValue() ? " %" : ""),
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell = new Cell(new Phrase(chk));
                                cell.setLeading(7.0f);
                                if (k == destChargesInfoSize - 1) {
                                    ////cell.setBorder(Rectangle.BOTTOM);
                                    // //cell.setCellEvent(border); 

                                } else {
                                    ////cell.setBorder(0);
                                }
                                cell.setHorizontalAlignment(cell.ALIGN_CENTER);
                                chargeCountry.addCell(cell);

                                chk = new Chunk(chargeInfo.getBasis() != null ? chargeInfo.getBasis() : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell = new Cell(new Phrase(chk));
                                cell.setLeading(7.0f);
                                if (k == destChargesInfoSize - 1) {
                                    ////cell.setBorder(Rectangle.BOTTOM);
                                    ////cell.setCellEvent(border); 

                                } else {
                                    //cell.setBorder(0);
                                }
                                cell.setHorizontalAlignment(cell1.ALIGN_LEFT);
                                chargeCountry.addCell(cell);

                                //@@Added by Kameswari for the WPBN issue- on 12/11/08
                                chk = new Chunk(
                                        chargeInfo.getRatio() != null ? "1:" + chargeInfo.getRatio() : "",
                                        FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                                cell = new Cell(new Phrase(chk));
                                cell.setLeading(7.0f);
                                if (k == destChargesInfoSize - 1) {
                                    ////cell.setBorder(Rectangle.BOTTOM);
                                    //  //cell.setCellEvent(border); 

                                } else {
                                    //cell.setBorder(0);
                                }
                                cell.setHorizontalAlignment(cell1.ALIGN_CENTER);
                                chargeCountry.addCell(cell);
                            }
                        }
                        //}
                    }
                }
                document.add(chargeCountry);
                pTable = new PdfPTable(1);
                pTable.setSpacingAfter(10f);
                pCell = new PdfPCell(new Phrase(new Chunk("")));
                pCell.setBorder(0);
                pTable.addCell(pCell);

                document.add(pTable);
            }

        }
        if (finalDOB.getExternalNotes() != null && finalDOB.getExternalNotes().length > 0) {
            Table notes = new Table(1, finalDOB.getExternalNotes().length + 1);
            notes.setWidth(100);
            notes.setPadding(1);
            notes.setSpacing(1);
            notes.setOffset(5);
            notes.setBackgroundColor(Color.WHITE);
            notes.setBorderColor(Color.black);
            //@@Commented and Modified by Kameswari for the internal issue on 08/04/09
            notes.setDefaultHorizontalAlignment(Element.ALIGN_LEFT);
            notes.setBorderWidth(1f);
            Cell notesCell;

            chk = new Chunk("NOTES", FontFactory.getFont("ARIAL", 8, Font.BOLD, Color.BLACK));
            notesCell = new Cell(chk);
            notesCell.setHeader(true);
            notesCell.setLeading(8.0f);
            notesCell.setBackgroundColor(Color.ORANGE);//MODIFIED BY SILPA.P ON 3-06-11
            notes.addCell(notesCell);
            for (int i = 0; i < finalDOB.getExternalNotes().length; i++) {
                if (finalDOB.getExternalNotes()[i] != null
                        && !"".equals(finalDOB.getExternalNotes()[i].trim())) {
                    chk = new Chunk(
                            finalDOB.getExternalNotes()[i] != null ? finalDOB.getExternalNotes()[i] : "",
                            FontFactory.getFont("ARIAL", 7, Font.NORMAL, Color.BLACK));
                    notesCell = new Cell(chk);
                    notesCell.setLeading(8.0f);
                    notes.addCell(notesCell);
                }
            }
            document.add(notes);
        }

        if (contents != null && contents.length > 0) {
            content = new Table(1);
            content.setOffset(5);
            content.setWidth(100);
            content.setPadding(1);
            content.setSpacing(0);
            content.setBackgroundColor(Color.WHITE);
            content.setBorderColor(Color.black);
            content.setBorderWidth(1f);
            content.setTableFitsPage(true);
            Cell cellContent = null;
            int hFLen = headFoot.length;
            for (int i = 0; i < hFLen; i++) {
                if (headFoot[i] != null && "F".equalsIgnoreCase(headFoot[i])) {
                    chk = new Chunk(contents[i], FontFactory.getFont("ARIAL", 7, Font.ITALIC, Color.BLACK));//modified by silpa.p on 2-06-11
                    cellContent = new Cell(chk);
                    cellContent.setBorder(0);
                    cellContent.setLeading(8.0f);
                    cellContent.setBackgroundColor(Color.LIGHT_GRAY);
                    if ("L".equalsIgnoreCase(aligns[i]))
                        cellContent.setHorizontalAlignment(cellContent.ALIGN_LEFT);
                    else if ("C".equalsIgnoreCase(aligns[i]))
                        cellContent.setHorizontalAlignment(cellContent.ALIGN_CENTER);
                    else if ("R".equalsIgnoreCase(aligns[i]))
                        cellContent.setHorizontalAlignment(cellContent.ALIGN_RIGHT);
                    content.addCell(cellContent);
                }
            }
            document.add(content);
        }
        //@@Modified by kiran.v on 19/09/2011 for Wpbn Issue 271485
        if (!"Charges".equalsIgnoreCase(masterDOB.getQuoteWith())) {
            String filename = "Abbrivation.pdf";
            doPdfAbbrivations(filename, finalDOB, request, response, Sd, Cd, Cdn, frequencyFlag, carrierFlag,
                    serviceFlag, surChargesMap);
        }
        //@@Ended by kiran.v
        PdfContentByte cb1 = writer.getDirectContent();
        cb1.rectangle(document.left(), document.bottom(), document.right() - document.left(),
                document.top() - document.bottom());
        cb1.stroke();

        //Jyothi
        document.close();

        //System.out.println("After     document Close----------------------------------------->");
        // write ByteArrayOutputStream to the ServletOutputStream            
        // ServletOutputStream sout = response.getOutputStream();
        //baos.writeTo(sout);
        //System.out.println("after writer");
        // sout.flush();
        //dataList  = (ArrayList)  remote.sendEmail(dataList);
        // Thread.sleep(1000);

        String file_tsmp = "" + new java.sql.Timestamp((new java.util.Date()).getTime())
                + masterDOB.getQuoteId();
        file_tsmp = file_tsmp.replaceAll("\\:", "");
        file_tsmp = file_tsmp.replaceAll("\\.", "");
        file_tsmp = file_tsmp.replaceAll("\\-", "");
        file_tsmp = file_tsmp.replaceAll(" ", "");
        File f = new File("Quote.pdf");
        FileOutputStream fileOutputStream = new FileOutputStream(f);
        baos.writeTo(fileOutputStream);
        //@@Added by Kameswari for the WPBN issue-80440
        PdfReader reader = new PdfReader("Quote.pdf");
        int n = reader.getNumberOfPages();
        File fs = new File("Quote" + file_tsmp + ".pdf");

        // we create a stamper that will copy the document to a new file
        PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(fs));

        // adding some metadata
        // adding content to each page

        int k = 0;
        PdfContentByte under = null;
        PdfContentByte over = null;
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
        while (k < n) {
            k++;
            over = stamp.getOverContent(k);
            under = stamp.getOverContent(k);
            //jyothi
            //over.rectangle(30, 30, 550, 800);
            over.rectangle(document.left(), document.bottom(), document.right() - document.left(),
                    document.top() - document.bottom());
            over.stroke();
            //jyothi
            over.beginText();
            over.setFontAndSize(bf, 8);
            over.setTextMatrix(15, 15);
            over.showText("page " + k + " of " + n);
            if (k > 1) {
                // over.setFontAndSize(bf, 10);
                over.setFontAndSize(bf, 7);
                over.showText(
                        "                                                                                                    QUOTE REFERENCE:"
                                + masterDOB.getQuoteId());
                //@@ Added by subrahmanyam for WPBN:146452 on 12/12/2008               
                over.endText();
                over.beginText();
                over.showText(
                        "                                                                                                                                CUSTOMER NAME: "
                                + headerDOB.getCustomerName() + "\n\n\n");//subrahmanyam 12/12/2008

                //   @@ Ended by subrahmanyam for WPBN ISSUE:146452 on 12/12/2008               

            }
            over.endText();
        }
        stamp.close();
        //@@WPBN issue-80440    
        file = new File("Concatenated" + file_tsmp + ".pdf");
        pdfFilesList.add((String) file.getName());
        //@@Added by Kameswari for the WPBN issue-61289
        //@@ Added by subrahmanyam for the  WPBN ISSUE:146460 on 29/01/09             
        if (finalDOB.getAttachmentDOBList() != null && finalDOB.getAttachmentDOBList().size() == 0
                && "View".equalsIgnoreCase(request.getParameter("Operation"))) {

            home = (QMSMultiQuoteSessionHome) LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");//146460
            remote = home.create();//146460
            filesList = remote.getQuoteAttachmentDtls(finalDOB);
            if (filesList != null) {
                finalDOB.setAttachmentDOBList(filesList);
            }
        }
        //   @@ Ended by subrahmanyam for the WPBN ISSUE: 146460 on 29/01/09   
        /* if(finalDOB.getAttachmentDOBList()!=null)
        {
          //filesList = finalDOB.getAttachmentDOBList(); // commented for for 192431 on 16-dec-09
             //@@ Added by subrahmanyam for 192431 on 16-dec-09
               if("pdf".equalsIgnoreCase(request.getParameter("pdf")))
               {
                 home        = (QMSMultiQuoteSessionHome)LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");   
                 remote      = home.create();//146460
                 filesList  = remote.getQuoteAttachmentDtls(finalDOB);
               }
              else
                filesList = finalDOB.getAttachmentDOBList();
                // ended for 192431 on 16-dec-09
                
               int fileListSize   = filesList.size();   
        for(int i=0;i<fileListSize;i++)
        {
             attachmentDOB = (MultiQuoteAttachmentDOB)filesList.get(i);
              FileOutputStream  fileStream= new FileOutputStream(attachmentDOB.getFileName());
              fileStream.write(attachmentDOB.getPdfFile());
              pdfFilesList.add((String)attachmentDOB.getFileName());
        }
        }
             buffer = concatPDF(pdfFilesList);
        //@@WPBN issue-61289  
                
        //@@ Commented By Subrahmanyam for enhancement 146460           
        //  if("on".equalsIgnoreCase(request.getParameter("print")))
        {     
        //     request.getSession().setAttribute("QuoteOuptutStream",fs);
        //     request.getSession().setAttribute("filepdf",buffer); //@@Added by Kameswari for the WPBN issue-61289
                
                
        //  }
        //@@ Added by subrahmanyam for the enhancement 146460
        if("PDF".equalsIgnoreCase(request.getParameter("pdf"))||"on".equalsIgnoreCase(request.getParameter("print")))
        {
        request.getSession().setAttribute("QuoteOuptutStream",fs);
        request.getSession().setAttribute("filepdf",buffer);
        }
        */
        //@@ Ended by subrahmanyam for the enhancement 146460
        //f.delete();
        //baos.close();

        String[] contactPersons = masterDOB.getCustContactNames();
        String contactName = "";
        int contactPersonsLength = 0;//added by silpa.p for sent mail modifications on 24-05-11
        boolean mailSent = false;//added by silpa.p for sent mail modifications  on 24-05-11

        String filename = "Annexure" + file_tsmp + ".pdf";
        StringBuffer subject = new StringBuffer("DHL Global Forwarding Quotation,");
        String body = "";

        if (!finalDOB.isMultiModalQuote()) {
            if (masterDOB.getShipmentMode() == 1)
                subject.append(" Airfreight ");
            if (masterDOB.getShipmentMode() == 2)
                subject.append(" Seafreight ");
            else if (masterDOB.getShipmentMode() == 4)
                subject.append(" Truckfreight ");
        } else {
            subject.append(" Multi-Modal ");
        }

        subject.append(
                (headerDOB.getOriginCountry() != null ? headerDOB.getOriginCountry()[0].toUpperCase() : ""))
                .append(" to ")
                .append((headerDOB.getDestinationCountry()[0] != null
                        ? headerDOB.getDestinationCountry()[0].toUpperCase()
                        : ""));
        subject.append(" Quote Reference ");
        if (finalDOB.getUpdatedReportDOB() != null)
            subject.append(request.getAttribute("quoteId")).append(" Replacing ")
                    .append(finalDOB.getUpdatedReportDOB().getQuoteId());
        else
            subject.append(masterDOB.getQuoteId() != null ? masterDOB.getQuoteId() + ""
                    : request.getAttribute("quoteId"));

        doGenerateCartagePDF(filename, finalDOB, request, response);

        if (finalDOB.getAttachmentDOBList() != null) {
            //filesList = finalDOB.getAttachmentDOBList(); // commented for for 192431 on 16-dec-09
            //@@ Added by subrahmanyam for 192431 on 16-dec-09
            if ("pdf".equalsIgnoreCase(request.getParameter("pdf"))) {
                home = (QMSMultiQuoteSessionHome) LookUpBean.getEJBHome("QMSMultiQuoteSessionBean");
                remote = home.create();//146460
                filesList = remote.getQuoteAttachmentDtls(finalDOB);
            } else
                filesList = finalDOB.getAttachmentDOBList();
            // ended for 192431 on 16-dec-09

            int fileListSize = filesList.size();
            for (int i = 0; i < fileListSize; i++) {
                attachmentDOB = (MultiQuoteAttachmentDOB) filesList.get(i);
                FileOutputStream fileStream = new FileOutputStream(attachmentDOB.getFileName());
                fileStream.write(attachmentDOB.getPdfFile());
                pdfFilesList.add((String) attachmentDOB.getFileName());
                fileStream.close();
            }
        }

        if (pdfFilesList.size() > 1) {
            for (int l = 1; l < pdfFilesList.size(); l++) {
                FileInputStream inputStream = new FileInputStream((String) pdfFilesList.get(l));
                buffer = new byte[inputStream.available()];
                inputStream.read(buffer);
                bufferList.add(buffer);
                inputStream.close();
            }
        }

        //buffer = concatPDF(pdfFilesList); 

        //@@WPBN issue-61289
        /* //@@ Commented By Subrahmanyam for enhancement 146460           
        /* if("on".equalsIgnoreCase(request.getParameter("print")))
         {     
              request.getSession().setAttribute("QuoteOuptutStream",fs);
             request.getSession().setAttribute("filepdf",buffer); //@@Added by Kameswari for the WPBN issue-61289
        }*/

        //@@ Added by subrahmanyam for the enhancement 146460
        if ("PDF".equalsIgnoreCase(request.getParameter("pdf"))
                || "on".equalsIgnoreCase(request.getParameter("print"))) {
            request.getSession().setAttribute("QuoteOuptutStream", fs);
            request.getSession().setAttribute("filepdf", bufferList);
        }

        for (int dc = 0; dc < noOfLanes; dc++) {
            legDestCharges = (MultiQuoteFreightLegSellRates) destLaneCharges.get(dc);

            try {
                if ("Y".equalsIgnoreCase(finalDOB.getFlagsDOB().getEmailFlag())) {
                    // mailFlag  = 1;
                    //finalDOB.getFlagsDOB().setQuoteStatusFlag("PEN");//@@Quote is Pending
                    //ReportsSessionBeanHome home      = (ReportsSessionBeanHome)LookUpBean.getEJBHome("ReportsSessionBean");
                    //ReportsSession remote   = (ReportsSession)home.create();
                    //@@Modified by kameswari for the WPBN issue-61289
                    //String to_emailIds = finalDOB.getHeaderDOB().getCustEmailId();
                    String to_emailIds = null;
                    if ("Y".equalsIgnoreCase(masterDOB.getSalesPersonFlag()))
                        to_emailIds = finalDOB.getHeaderDOB().getCustEmailId() + ','
                                + masterDOB.getSalesPersonEmail();
                    else
                        to_emailIds = finalDOB.getHeaderDOB().getCustEmailId();
                    //@@WPBN issue-61289
                    to_emailIds = to_emailIds.replaceAll(";", ",");

                    //System.out.println("Before Sending Mail------------------------------>");

                    if (contactPersons != null) {
                        int contPersonLen = contactPersons.length;
                        for (int i = 0; i < contPersonLen; i++) {
                            mailFlag = 1;

                            // if(i<contactPersons.length)//@@Added by Kameswari for the WPBN issue-61289
                            //    {
                            if (masterDOB.getCustomerContactsEmailIds()[i] != null
                                    && masterDOB.getCustomerContactsEmailIds()[i].trim().length() != 0) {

                                contactName = masterDOB.getCustContactNames()[i];
                                if (masterDOB.getCustContactNames()[i].indexOf("[") != -1)
                                    contactName = contactName.substring(0,
                                            masterDOB.getCustContactNames()[i].indexOf("["));
                                /* if(finalDOB.getUpdatedReportDOB()!=null)
                                 {
                                            
                                             
                                    body = "Dear "+contactName+",\n\nThis is a replacement quotation reference "+request.getAttribute("quoteId")+",replacing "+finalDOB.getUpdatedReportDOB().getQuoteId()+
                                      ", due to a change in "+(finalDOB.getEmailChargeName()!=null?finalDOB.getEmailChargeName():finalDOB.getUpdatedReportDOB().getChangeDesc())+". All information is contained within the attachment. "+
                                     "Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                                 }
                                 else
                                 {
                                   body = "Dear "+contactName+",\n\nThank you for the opportunity to provide this Quotation. All information is contained within the attachment."+
                                        " Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                                 }*/
                                //body  = "Dear "+contactName+",\n\n"+finalDOB.getEmailText()+"\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                                if (finalDOB.getUpdatedReportDOB() != null) {
                                    body = "Dear " + (contactName != null ? contactName : "")
                                            + ",\n\nThis is a replacement quotation reference "
                                            + request.getAttribute("quoteId") + ",replacing "
                                            + finalDOB.getUpdatedReportDOB().getQuoteId()
                                            + ", due to a change in "
                                            + (finalDOB.getEmailChargeName() != null
                                                    ? finalDOB.getEmailChargeName()
                                                    : finalDOB.getUpdatedReportDOB().getChangeDesc())
                                            + ",\n\n"
                                            + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                            + "\n\n\n"
                                            + (masterDOB.getCreatorDetails() != null
                                                    ? masterDOB.getCreatorDetails()
                                                    : "")
                                            + "\n\n"
                                            + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName()
                                                    : "")
                                            + "\n"
                                            + (masterDOB.getTerminalAddress() != null
                                                    ? masterDOB.getTerminalAddress()
                                                    : "")
                                            + "\n\n" + "Phone  "
                                            + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "")
                                            + "\n" + "Fax    "
                                            + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "") + "\n"
                                            + "Mobile "
                                            + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                            + "\n\nEmail "
                                            + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId()
                                                    : ""); //@@Modified by Kameswari for the WPBN issue-61303

                                } else {
                                    body = "Dear " + (contactName != null ? contactName : "") + ",\n\n"
                                            + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                            + "\n\n\n"
                                            + (masterDOB.getCreatorDetails() != null
                                                    ? masterDOB.getCreatorDetails()
                                                    : "")
                                            + "\n\n"
                                            + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName()
                                                    : "")
                                            + "\n"
                                            + (masterDOB.getTerminalAddress() != null
                                                    ? masterDOB.getTerminalAddress()
                                                    : "")
                                            + "\n\n" + "Phone  "
                                            + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "")
                                            + "\n" + "Fax    "
                                            + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "") + "\n"
                                            + "Mobile "
                                            + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                            + "\n\nEmail "
                                            + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId()
                                                    : ""); //@@Modified by Kameswari for the WPBN issue-61303

                                }
                                if (masterDOB.getShipperZipCode() == null
                                        || masterDOB.getConsigneeZipCode() == null) {
                                    if ((legDestCharges.getPickZoneZipMap() != null
                                            && legDestCharges.getPickZoneZipMap().size() > 0)
                                            || (legDestCharges.getDeliveryZoneZipMap() != null
                                                    && legDestCharges.getDeliveryZoneZipMap().size() > 0)) {
                                        if (!mailSent || contactPersonsLength < contPersonLen) {//added by silpa.p for sent mail modifications  on 24-05-11
                                            sendMail(finalDOB.getMasterDOB().getUserEmailId(),
                                                    masterDOB.getCustomerContactsEmailIds()[i],
                                                    subject.toString(), body,
                                                    "Quote" + file_tsmp + ".pdf,Annexure" + file_tsmp + ".pdf",
                                                    finalDOB.getAttachmentDOBList());
                                            mailSent = true;
                                            contactPersonsLength++;
                                        } //ended
                                    }

                                    else if (!mailSent || contactPersonsLength < contPersonLen) {//added by silpa.p for sent mail modifications  on 24-05-11

                                        sendMail(finalDOB.getMasterDOB().getUserEmailId(),
                                                masterDOB.getCustomerContactsEmailIds()[i], subject.toString(),
                                                body, "Quote" + file_tsmp + ".pdf",
                                                finalDOB.getAttachmentDOBList());
                                        mailSent = true;
                                        contactPersonsLength++;
                                    } //ended

                                } else if (!mailSent || contactPersonsLength < contPersonLen) {//added by silpa.p for sent mail modifications  on 24-05-11
                                    sendMail(finalDOB.getMasterDOB().getUserEmailId(),
                                            masterDOB.getCustomerContactsEmailIds()[i], subject.toString(),
                                            body, "Quote" + file_tsmp + ".pdf",
                                            finalDOB.getAttachmentDOBList());
                                    mailSent = true;
                                    contactPersonsLength++;
                                } //ended
                                //  }
                                //@@Added by Kameswari for the WPBN issue-61289
                            }
                        }
                        if ("Y".equalsIgnoreCase(masterDOB.getSalesPersonFlag())) {
                            if (masterDOB.getShipperZipCode() == null
                                    || masterDOB.getConsigneeZipCode() == null) {
                                if ((legDestCharges.getPickZoneZipMap() != null
                                        && legDestCharges.getPickZoneZipMap().size() > 0)
                                        || (legDestCharges.getDeliveryZoneZipMap() != null
                                                && legDestCharges.getDeliveryZoneZipMap().size() > 0))
                                    if (!mailSent || contactPersonsLength < contPersonLen) {//added by silpa.p for sent mail modifications  on 24-05-11

                                        sendMail(finalDOB.getMasterDOB().getUserEmailId(),
                                                masterDOB.getSalesPersonEmail(), subject.toString(), body,
                                                "Quote" + file_tsmp + ".pdf,Annexure" + file_tsmp + ".pdf",
                                                finalDOB.getAttachmentDOBList());
                                        mailSent = true;
                                        contactPersonsLength++;
                                    } //ended
                                    else if (!mailSent || contactPersonsLength < contPersonLen) {//added by silpa.p for sent mail modifications on 24-05-11
                                        sendMail(finalDOB.getMasterDOB().getUserEmailId(),
                                                masterDOB.getSalesPersonEmail(), subject.toString(), body,
                                                "Quote" + file_tsmp + ".pdf", finalDOB.getAttachmentDOBList());
                                        mailSent = true;
                                        contactPersonsLength++;
                                    } //ended
                            } else if (!mailSent || contactPersonsLength < contPersonLen) {//added by silpa.p for sent mail modifications  on 24-05-11
                                sendMail(finalDOB.getMasterDOB().getUserEmailId(),
                                        masterDOB.getSalesPersonEmail(), subject.toString(), body,
                                        "Quote" + file_tsmp + ".pdf", finalDOB.getAttachmentDOBList());
                                mailSent = true;
                                contactPersonsLength++;
                            } //ended
                        }
                        //@@ the WPBN issue-61289

                    } else {
                        mailFlag = 0;

                        /*if(finalDOB.getUpdatedReportDOB()!=null)
                        {
                                  
                          body = "Dear Customer,\n\nThis is a replacement quotation reference "+request.getAttribute("quoteId")+",replacing "+finalDOB.getUpdatedReportDOB().getQuoteId()+
                         ", due to a change in "+(finalDOB.getEmailChargeName()!=null?finalDOB.getEmailChargeName():finalDOB.getUpdatedReportDOB().getChangeDesc())+". All information is contained within the attachment. "+
                         "Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                        }
                        else
                        {
                          body = "Dear Customer,\n\nThank you for the opportunity to provide this Quotation. All information is contained within the attachment."+
                            " Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                        }*/
                        //
                        //body  ="Dear Customer,\n\n"+finalDOB.getEmailText()+"\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                        /*body  = "Dear Customer,\n\n"+finalDOB.getEmailText()+"\n\n\n"+masterDOB.getCreatorDetails()+"\n\n"+masterDOB.getCompanyName()+
                            "\n"+masterDOB.getTerminalAddress()+"\n\n"+"Phone  "+masterDOB.getPhoneNo()+"\n"+"Fax    "+masterDOB.getFaxNo()+"\n"+"Mobile "+masterDOB.getMobileNo()+"\n\nEmail "+masterDOB.getUserEmailId(); */
                        //@@Modified by Kameswari for the WPBN issue-61303

                        if (finalDOB.getUpdatedReportDOB() != null) {
                            body = "Dear Customer,\n\nThis is a replacement quotation reference "
                                    + request.getAttribute("quoteId") + ",replacing "
                                    + finalDOB.getUpdatedReportDOB().getQuoteId() + ", due to a change in "
                                    + (finalDOB.getEmailChargeName() != null ? finalDOB.getEmailChargeName()
                                            : finalDOB.getUpdatedReportDOB().getChangeDesc())
                                    + ",\n\n" + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                    + "\n\n\n"
                                    + (masterDOB.getCreatorDetails() != null ? masterDOB.getCreatorDetails()
                                            : "")
                                    + "\n\n"
                                    + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName() : "")
                                    + "\n"
                                    + (masterDOB.getTerminalAddress() != null ? masterDOB.getTerminalAddress()
                                            : "")
                                    + "\n\n" + "Phone  "
                                    + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "") + "\n"
                                    + "Fax    " + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "")
                                    + "\n" + "Mobile "
                                    + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                    + "\n\nEmail "
                                    + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId() : ""); //@@Modified by Kameswari for the WPBN issue-61303
                        } else {
                            body = "Dear Customer,\n\n"
                                    + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                    + "\n\n\n"
                                    + (masterDOB.getCreatorDetails() != null ? masterDOB.getCreatorDetails()
                                            : "")
                                    + "\n\n"
                                    + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName() : "")
                                    + "\n"
                                    + (masterDOB.getTerminalAddress() != null ? masterDOB.getTerminalAddress()
                                            : "")
                                    + "\n\n" + "Phone  "
                                    + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "") + "\n"
                                    + "Fax    " + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "")
                                    + "\n" + "Mobile "
                                    + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                    + "\n\nEmail "
                                    + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId() : ""); //@@Modified by Kameswari for the WPBN issue-61303
                        }
                        if (masterDOB.getShipperZipCode() == null || masterDOB.getConsigneeZipCode() == null) {
                            if ((legDestCharges.getPickZoneZipMap() != null
                                    && legDestCharges.getPickZoneZipMap().size() > 0)
                                    || (legDestCharges.getDeliveryZoneZipMap() != null
                                            && legDestCharges.getDeliveryZoneZipMap().size() > 0))
                                if (!mailSent) {//added by silpa.p for sent mail modifications  on 24-05-11
                                    sendMail(finalDOB.getMasterDOB().getUserEmailId(), to_emailIds,
                                            subject.toString(), body,
                                            "Quote" + file_tsmp + ".pdf,Annexure" + file_tsmp + ".pdf",
                                            finalDOB.getAttachmentDOBList());
                                    mailSent = true;

                                } //ended
                                else if (!mailSent) {//added by silpa.p for sent mail modifications mail on 24-05-11
                                    sendMail(finalDOB.getMasterDOB().getUserEmailId(), to_emailIds,
                                            subject.toString(), body, "Quote" + file_tsmp + ".pdf",
                                            finalDOB.getAttachmentDOBList());
                                    mailSent = true;
                                } //ended
                        } else if (!mailSent) {//added by silpa.p for sent mail modifications mail on 24-05-11
                            sendMail(finalDOB.getMasterDOB().getUserEmailId(), to_emailIds, subject.toString(),
                                    body, "Quote" + file_tsmp + ".pdf", finalDOB.getAttachmentDOBList());
                            mailSent = true;
                        } //ended
                    }

                    //System.out.println("End of mail sending and PDF Generation --------------------------------->");
                }
            } catch (Exception e) {
                //Logger.error(FILE_NAME,"Error while sending mail "+e); 
                logger.error(FILE_NAME + "Error while sending mail " + e);
                e.printStackTrace();
                mailFlag = 0;
            }
            try {
                if ("Y".equalsIgnoreCase(finalDOB.getFlagsDOB().getFaxFlag())) {
                    //faxFlag   = 2;
                    //finalDOB.getFlagsDOB().setQuoteStatusFlag("PEN");//@@Quote is Pending
                    //ReportsSessionBeanHome home      = (ReportsSessionBeanHome)LookUpBean.getEJBHome("ReportsSessionBean");
                    //ReportsSession  remote   = (ReportsSession)home.create();
                    String customerFax = headerDOB.getCustFaxNo() != null ? headerDOB.getCustFaxNo() : "";
                    String countrycode = headerDOB.getCustCountyCode() != null ? headerDOB.getCustCountyCode()
                            : "";
                    String contactFax = null;
                    if ("SG".equalsIgnoreCase(countrycode)) {
                        if (customerFax != null && customerFax.length() > 0)
                            customerFax = "fax#" + customerFax + "@tcdhl.com";
                    } else {
                        if (customerFax != null && customerFax.length() > 0)
                            customerFax = "ifax#" + customerFax + "@tcdhl.com";
                    }

                    if (contactPersons != null) {
                        int contPersonLen = contactPersons.length;
                        for (int i = 0; i < contPersonLen; i++) {
                            faxFlag = 2;
                            contactName = masterDOB.getCustContactNames()[i];
                            if (masterDOB.getCustContactNames()[i].indexOf("[") != -1)
                                contactName = contactName.substring(0,
                                        masterDOB.getCustContactNames()[i].indexOf("["));
                            if (masterDOB.getCustomerContactsFax()[i] != null
                                    && masterDOB.getCustomerContactsFax()[i].trim().length() != 0) {
                                if ("SG".equalsIgnoreCase(countrycode))
                                    contactFax = "fax#" + masterDOB.getCustomerContactsFax()[i] + "@tcdhl.com";
                                else
                                    contactFax = "ifax#" + masterDOB.getCustomerContactsFax()[i] + "@tcdhl.com";

                                /*if(finalDOB.getUpdatedReportDOB()!=null)
                                {
                                  body = "Dear "+contactName+",\n\nThis is a replacement quotation reference "+request.getAttribute("quoteId")+",replacing "+finalDOB.getUpdatedReportDOB().getQuoteId()+
                                     ", due to a change in "+(finalDOB.getEmailChargeName()!=null?finalDOB.getEmailChargeName():finalDOB.getUpdatedReportDOB().getChangeDesc())+". All information is contained within the attachment. "+
                                    "Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                                 }
                                else
                                {
                                  body = "Dear "+contactName+",\n\nThank you for the opportunity to provide this Quotation. All information is contained within the attachment."+
                                       " Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                                }*/
                                // body  = "Dear "+contactName+",\n\n"+finalDOB.getEmailText()+"\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                                if (finalDOB.getUpdatedReportDOB() != null) {
                                    body = "Dear " + (contactName != null ? contactName : "")
                                            + ",\n\nThis is a replacement quotation reference "
                                            + request.getAttribute("quoteId") + ",replacing "
                                            + finalDOB.getUpdatedReportDOB().getQuoteId()
                                            + ", due to a change in "
                                            + (finalDOB.getEmailChargeName() != null
                                                    ? finalDOB.getEmailChargeName()
                                                    : finalDOB.getUpdatedReportDOB().getChangeDesc())
                                            + ",\n\n"
                                            + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                            + "\n\n\n"
                                            + (masterDOB.getCreatorDetails() != null
                                                    ? masterDOB.getCreatorDetails()
                                                    : "")
                                            + "\n\n"
                                            + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName()
                                                    : "")
                                            + "\n"
                                            + (masterDOB.getTerminalAddress() != null
                                                    ? masterDOB.getTerminalAddress()
                                                    : "")
                                            + "\n\n" + "Phone  "
                                            + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "")
                                            + "\n" + "Fax    "
                                            + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "") + "\n"
                                            + "Mobile "
                                            + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                            + "\n\nEmail "
                                            + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId()
                                                    : ""); //@@Modified by Kameswari for the WPBN issue-61303
                                } else {
                                    body = "Dear " + (contactName != null ? contactName : "") + ",\n\n"
                                            + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                            + "\n\n\n"
                                            + (masterDOB.getCreatorDetails() != null
                                                    ? masterDOB.getCreatorDetails()
                                                    : "")
                                            + "\n\n"
                                            + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName()
                                                    : "")
                                            + "\n"
                                            + (masterDOB.getTerminalAddress() != null
                                                    ? masterDOB.getTerminalAddress()
                                                    : "")
                                            + "\n\n" + "Phone  "
                                            + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "")
                                            + "\n" + "Fax    "
                                            + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "") + "\n"
                                            + "Mobile "
                                            + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                            + "\n\nEmail "
                                            + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId()
                                                    : ""); //@@Modified by Kameswari for the WPBN issue-61303

                                }
                                if (masterDOB.getShipperZipCode() == null
                                        || masterDOB.getConsigneeZipCode() == null) {
                                    if ((legDestCharges.getPickZoneZipMap() != null
                                            && legDestCharges.getPickZoneZipMap().size() > 0)
                                            || (legDestCharges.getDeliveryZoneZipMap() != null
                                                    && legDestCharges.getDeliveryZoneZipMap().size() > 0))
                                        sendMail(finalDOB.getMasterDOB().getUserEmailId(), contactFax,
                                                subject.toString(), body,
                                                "Quote" + file_tsmp + ".pdf,Annexure" + file_tsmp + ".pdf",
                                                finalDOB.getAttachmentDOBList());
                                    else
                                        sendMail(finalDOB.getMasterDOB().getUserEmailId(), contactFax,
                                                subject.toString(), body, "Quote" + file_tsmp + ".pdf",
                                                finalDOB.getAttachmentDOBList());
                                } else
                                    sendMail(finalDOB.getMasterDOB().getUserEmailId(), contactFax,
                                            subject.toString(), body, "Quote" + file_tsmp + ".pdf",
                                            finalDOB.getAttachmentDOBList());
                            } else
                                faxFlag = 0;
                        }
                    } else {
                        if (customerFax != null && customerFax.length() > 0) {
                            /* if(finalDOB.getUpdatedReportDOB()!=null)
                            {
                             body = "Dear Customer,\n\nThis is a replacement quotation reference "+request.getAttribute("quoteId")+",replacing "+finalDOB.getUpdatedReportDOB().getQuoteId()+
                                   ", due to a change in "+(finalDOB.getEmailChargeName()!=null?finalDOB.getEmailChargeName():finalDOB.getUpdatedReportDOB().getChangeDesc())+". All information is contained within the attachment. "+
                                   "Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                            }
                            else
                            {
                             body = "Dear Customer,\n\nThank you for the opportunity to provide this Quotation. All information is contained within the attachment."+
                            " Should you have any queries, please do not hesitate to contact us.\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress();
                            }*/
                            // body  = "Dear Customer,\n\n"+finalDOB.getEmailText()+"\n\n\nRegards,\n"+masterDOB.getCreatorDetails()+"\n"+masterDOB.getTerminalAddress(); 
                            if (finalDOB.getUpdatedReportDOB() != null) {
                                body = "Dear Customer,\n\nThis is a replacement quotation reference "
                                        + request.getAttribute("quoteId") + ",replacing "
                                        + finalDOB.getUpdatedReportDOB().getQuoteId() + ", due to a change in "
                                        + (finalDOB.getEmailChargeName() != null ? finalDOB.getEmailChargeName()
                                                : finalDOB.getUpdatedReportDOB().getChangeDesc())
                                        + ",\n\n"
                                        + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                        + "\n\n\n"
                                        + (masterDOB.getCreatorDetails() != null ? masterDOB.getCreatorDetails()
                                                : "")
                                        + "\n\n"
                                        + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName() : "")
                                        + "\n"
                                        + (masterDOB.getTerminalAddress() != null
                                                ? masterDOB.getTerminalAddress()
                                                : "")
                                        + "\n\n" + "Phone  "
                                        + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "") + "\n"
                                        + "Fax    " + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "")
                                        + "\n" + "Mobile "
                                        + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                        + "\n\nEmail "
                                        + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId()
                                                : ""); //@@Modified by Kameswari for the WPBN issue-61303
                            } else {
                                body = "Dear Customer,\n\n"
                                        + (finalDOB.getEmailText() != null ? finalDOB.getEmailText() : "")
                                        + "\n\n\n"
                                        + (masterDOB.getCreatorDetails() != null ? masterDOB.getCreatorDetails()
                                                : "")
                                        + "\n\n"
                                        + (masterDOB.getCompanyName() != null ? masterDOB.getCompanyName() : "")
                                        + "\n"
                                        + (masterDOB.getTerminalAddress() != null
                                                ? masterDOB.getTerminalAddress()
                                                : "")
                                        + "\n\n" + "Phone  "
                                        + (masterDOB.getPhoneNo() != null ? masterDOB.getPhoneNo() : "") + "\n"
                                        + "Fax    " + (masterDOB.getFaxNo() != null ? masterDOB.getFaxNo() : "")
                                        + "\n" + "Mobile "
                                        + (masterDOB.getMobileNo() != null ? masterDOB.getMobileNo() : "")
                                        + "\n\nEmail "
                                        + (masterDOB.getUserEmailId() != null ? masterDOB.getUserEmailId()
                                                : ""); //@@Modified by Kameswari for the WPBN issue-61303
                            }
                            if (masterDOB.getShipperZipCode() == null
                                    || masterDOB.getConsigneeZipCode() == null) {
                                if ((legDestCharges.getPickZoneZipMap() != null
                                        && legDestCharges.getPickZoneZipMap().size() > 0)
                                        || (legDestCharges.getDeliveryZoneZipMap() != null
                                                && legDestCharges.getDeliveryZoneZipMap().size() > 0))
                                    sendMail(finalDOB.getMasterDOB().getUserEmailId(), customerFax,
                                            subject.toString(), body,
                                            "Quote" + file_tsmp + ".pdf,Annexure" + file_tsmp + ".pdf",
                                            finalDOB.getAttachmentDOBList());
                                else
                                    sendMail(finalDOB.getMasterDOB().getUserEmailId(), customerFax,
                                            subject.toString(), body, "Quote" + file_tsmp + ".pdf",
                                            finalDOB.getAttachmentDOBList());
                            } else
                                sendMail(finalDOB.getMasterDOB().getUserEmailId(), customerFax,
                                        subject.toString(), body, "Quote" + file_tsmp + ".pdf",
                                        finalDOB.getAttachmentDOBList());
                        } else
                            faxFlag = 0;
                    }
                }
            } catch (Exception e) {
                //Logger.error(FILE_NAME,"Error while sending fax "+e); 
                logger.error(FILE_NAME + "Error while sending fax " + e);
                e.printStackTrace();
                faxFlag = 0;
            }
        }
        if ("Y".equalsIgnoreCase(finalDOB.getFlagsDOB().getPrintFlag())) {
            //finalDOB.getFlagsDOB().setQuoteStatusFlag("PEN");//@@Quote is Pending
            printFlag = 4;
        } else {
            f.delete();
            File annexure = new File(filename);
            annexure.delete();
        }
        returnFlag = mailFlag + faxFlag + printFlag;
    } catch (Exception e) {
        e.printStackTrace();
        //Logger.error(FILE_NAME,"Error while generating the PDF"+e.toString());
        logger.error(FILE_NAME + "Error while generating the PDF" + e.toString());
        returnFlag = 0;
        //throw new Exception("Error while generating PDF format");
    } finally {
        try {
            //Method: doPDFGeneration Defect: PdfWriter is not closedSuggestion: Close and nullify the writer in the finally block.
            if (writer != null) {
                writer.close();
                writer = null;
            }
            charges = null;
            freightCharges = null;
            frequency = null;
            carrier = null;
            transittime = null;
            ratevalidity = null;
            frequency_o = null;
            frequency_d = null;
            carrier_o = null;
            carrier_d = null;
            transit_o = null;
            transit_d = null;
            validity_o = null;
            validity_d = null;
            filesList = null;

        } catch (Exception ex) {
            //Logger.error(FILE_NAME,"Exception caught :: finally :: insertFclValues() " + ex.toString() );
            logger.error(FILE_NAME + "Error while generating the PDF" + ex.toString());
        }
    }
    return returnFlag;
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

/**
 * @author sunqichang//* w w  w .  j av a  2  s .  c o  m*/
 * @param filename
 *            
 * @param type
 *            pdfdoc
 */
public void createReport_hardwareNew(String filename, String type) {
    try {
        int diskcount = Integer.parseInt(request.getParameter("diskcount"));
        String starttime = (String) reportHash.get("starttime");
        String totime = (String) reportHash.get("totime");
        List networkList = (List) reportHash.get("networkList");
        List serverList = (List) reportHash.get("serverList");
        List dbList = (List) reportHash.get("dbList");
        List midwareList = (List) reportHash.get("midwareList");
        Document document = new Document(PageSize.A4);
        if ("doc".equalsIgnoreCase(type)) {
            RtfWriter2.getInstance(document, new FileOutputStream(filename));
        } else {
            PdfWriter.getInstance(document, new FileOutputStream(filename));
        }
        BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
        Font fontChineseTitle = new Font(bfChinese, 14, Font.BOLD);
        Font fontChineseRow = new Font(bfChinese, 12, Font.NORMAL);
        fileName = filename;
        document.open();
        Paragraph title = new Paragraph("", fontChineseTitle);
        title.setAlignment(Element.ALIGN_CENTER);
        document.add(title);
        String contextString = ":" + impReport.getTimeStamp() + " \n"// 
                + ":" + starttime + "  " + totime;
        Paragraph context = new Paragraph(contextString, fontChineseTitle);
        context.setAlignment(Element.ALIGN_CENTER);
        // context.setFont(contextFont);
        // 
        context.setSpacingBefore(5);
        // 
        context.setFirstLineIndent(5);
        document.add(context);
        Iterator networkIt = null;
        if (networkList != null) {
            networkIt = networkList.iterator();
        }
        Iterator serverIt = null;
        if (serverList != null) {
            serverIt = serverList.iterator();
        }
        Iterator dbIt = null;
        if (dbList != null) {
            dbIt = dbList.iterator();
        }
        Iterator midwareIt = null;
        if (midwareList != null) {
            midwareIt = midwareList.iterator();
        }
        String[] networkTitle = { "", "", "", "", "IP", "" };
        String[] serverTitle = { "", "", "", "", "IP", "", "" };
        String[] dbTitle = { "", "", "", "IP" };
        String[] midwareTitle = { "", "", "", "IP" };
        Table table = new Table(9);
        table.setWidth(100);
        table.setAlignment(Element.ALIGN_CENTER);// 
        table.setAutoFillEmptyCells(true); // 
        table.setBorderWidth(1); // 
        table.setBorderColor(new Color(0, 125, 255)); // 
        table.setPadding(2);// 
        table.setSpacing(0);// 
        table.setBorder(2);// 
        for (int i = 0; i < networkTitle.length; i++) {
            Cell cell = new Cell();
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
            cell.addElement(new Paragraph(networkTitle[i], fontChineseTitle));
            if (i == 0) {
                cell.setRowspan(networkList.size() + 1);
            }
            if (i == 1 || i == 4 || i == 3) {
                cell.setColspan(2);
            }
            cell.setBackgroundColor(Color.LIGHT_GRAY);
            table.addCell(cell);
        }
        if (networkIt != null) {
            while (networkIt.hasNext()) {
                Cell cell1 = new Cell();
                Cell cell2 = new Cell();
                Cell cell3 = new Cell();
                Cell cell4 = new Cell();
                Cell cell5 = new Cell();
                cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
                MonitorNodeDTO monitorNodeDTO = (MonitorNodeDTO) networkIt.next();
                cell1.addElement(new Paragraph(monitorNodeDTO.getAlias(), fontChineseRow));
                cell2.addElement(new Paragraph(monitorNodeDTO.getCategory(), fontChineseRow));
                cell3.addElement(new Paragraph(monitorNodeDTO.getType(), fontChineseRow));
                cell4.addElement(new Paragraph(monitorNodeDTO.getIpAddress(), fontChineseRow));
                cell5.addElement(
                        new Paragraph(String.valueOf(monitorNodeDTO.getEntityNumber()), fontChineseRow));
                cell1.setColspan(2);
                // cell2.setColspan(2);
                cell3.setColspan(2);
                cell4.setColspan(2);
                // cell5.setColspan(2);
                table.addCell(cell1);
                table.addCell(cell2);
                table.addCell(cell3);
                table.addCell(cell4);
                table.addCell(cell5);
            }
        }
        for (int i = 0; i < serverTitle.length; i++) {
            Cell cell = new Cell();
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
            cell.addElement(new Paragraph(serverTitle[i], fontChineseTitle));
            if (i == 0) {
                cell.setRowspan(diskcount + 1 + serverList.size());
            }
            if (i == 5 || i == 6) {
                cell.setColspan(2);
            }
            cell.setBackgroundColor(Color.LIGHT_GRAY);
            table.addCell(cell);
        }
        if (serverIt != null) {
            while (serverIt.hasNext()) {
                Cell cell1 = new Cell();
                Cell cell2 = new Cell();
                Cell cell3 = new Cell();
                Cell cell44 = new Cell();
                cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell44.setVerticalAlignment(Element.ALIGN_MIDDLE);
                MonitorNodeDTO monitorNodeDTO = (MonitorNodeDTO) serverIt.next();
                AssetHelper helper = new AssetHelper();
                List<StatisNumer> diskList = helper.getAssetList(monitorNodeDTO.getIpAddress(), "Disk");
                List<StatisNumer> memList = helper.getAssetList(monitorNodeDTO.getIpAddress(), "Memory");
                cell1.addElement(new Paragraph(monitorNodeDTO.getAlias(), fontChineseRow));
                cell2.addElement(new Paragraph(monitorNodeDTO.getCategory(), fontChineseRow));
                cell3.addElement(new Paragraph(monitorNodeDTO.getType(), fontChineseRow));
                cell44.addElement(new Paragraph(monitorNodeDTO.getIpAddress(), fontChineseRow));
                cell1.setRowspan(diskList.size() + 2);
                cell2.setRowspan(diskList.size() + 2);
                cell3.setRowspan(diskList.size() + 2);
                cell44.setRowspan(diskList.size() + 2);
                table.addCell(cell1);
                table.addCell(cell2);
                table.addCell(cell3);
                table.addCell(cell44);
                Iterator<StatisNumer> diskIt = diskList.iterator();
                int flag = 0;
                int rowspan = diskList.size() + 2;
                double sum = 0;
                while (diskIt.hasNext()) {
                    if (flag == 0 || flag == rowspan / 2) {
                        if (flag == 0) {
                            Cell cellt1 = new Cell();
                            Cell cellt2 = new Cell();
                            cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
                            cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
                            cellt1.add(new Paragraph("", fontChineseRow));
                            cellt2.add(new Paragraph("", fontChineseRow));
                            table.addCell(cellt1);
                            table.addCell(cellt2);
                        }
                        Iterator<StatisNumer> memIt = memList.iterator();
                        while (memIt.hasNext()) {
                            StatisNumer numer = memIt.next();
                            if (flag == rowspan / 2) {
                                flag++;
                                continue;
                            }
                            Cell cell6 = new Cell();
                            Cell cell7 = new Cell();
                            cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
                            cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
                            cell6.addElement(new Paragraph(numer.getName(), fontChineseRow));
                            cell7.addElement(new Paragraph(numer.getCurrent(), fontChineseRow));
                            if (flag == 0) {
                                cell6.setRowspan(rowspan / 2);
                                cell7.setRowspan(rowspan / 2);
                                table.addCell(cell6);
                                table.addCell(cell7);
                                break;
                            } else {
                                cell6.setRowspan(rowspan - rowspan / 2);
                                cell7.setRowspan(rowspan - rowspan / 2);
                                table.addCell(cell6);
                                table.addCell(cell7);
                            }
                        }
                    }
                    Cell cell4 = new Cell();
                    Cell cell5 = new Cell();
                    cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
                    cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
                    StatisNumer numer = diskIt.next();
                    cell4.addElement(new Paragraph(numer.getName(), fontChineseRow));
                    cell5.addElement(new Paragraph(numer.getCurrent(), fontChineseRow));
                    table.addCell(cell4);
                    table.addCell(cell5);
                    sum = Arith.add(sum, Double.parseDouble(numer.getCurrent().replaceAll("[a-zA-Z]", "")));
                    flag++;
                }
                Cell cell6 = new Cell();
                Cell cell7 = new Cell();
                cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell6.addElement(new Paragraph("", fontChineseRow));
                cell7.addElement(new Paragraph(Arith.round(sum, 2) + "G", fontChineseRow));
                table.addCell(cell6);
                table.addCell(cell7);
            }
        }
        for (int i = 0; i < dbTitle.length; i++) {
            Cell cell = new Cell();
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
            cell.addElement(new Paragraph(dbTitle[i], fontChineseTitle));
            if (i == 0) {
                cell.setRowspan(dbList.size() + 1);
            }
            if (i == 3) {
                cell.setColspan(4);
            } else if (i != 0) {
                cell.setColspan(2);
            }
            cell.setBackgroundColor(Color.LIGHT_GRAY);
            table.addCell(cell);
        }
        if (dbIt != null) {
            while (dbIt.hasNext()) {
                Cell cell2 = new Cell();
                Cell cell3 = new Cell();
                Cell cell4 = new Cell();
                cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
                MonitorDBDTO monitorNodeDTO = (MonitorDBDTO) dbIt.next();
                cell2.addElement(new Paragraph(monitorNodeDTO.getAlias(), fontChineseRow));
                cell3.addElement(new Paragraph(monitorNodeDTO.getDbtype(), fontChineseRow));
                cell4.addElement(new Paragraph(monitorNodeDTO.getIpAddress(), fontChineseRow));
                cell2.setColspan(2);
                cell3.setColspan(2);
                cell4.setColspan(4);
                table.addCell(cell2);
                table.addCell(cell3);
                table.addCell(cell4);
            }
        }
        for (int i = 0; i < midwareTitle.length; i++) {
            Cell cell = new Cell();
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
            cell.addElement(new Paragraph(midwareTitle[i], fontChineseTitle));
            if (i == 0) {
                cell.setRowspan(midwareList.size() + 1);
            }
            if (i == 3) {
                cell.setColspan(4);
            } else if (i != 0) {
                cell.setColspan(2);
            }
            cell.setBackgroundColor(Color.LIGHT_GRAY);
            table.addCell(cell);
        }
        if (midwareIt != null) {
            while (midwareIt.hasNext()) {
                Cell cell2 = new Cell();
                Cell cell3 = new Cell();
                Cell cell4 = new Cell();
                cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
                cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
                MonitorMiddlewareDTO monitorNodeDTO = (MonitorMiddlewareDTO) midwareIt.next();
                cell2.addElement(new Paragraph(monitorNodeDTO.getAlias(), fontChineseRow));
                cell3.addElement(new Paragraph(monitorNodeDTO.getCategory(), fontChineseRow));
                cell4.addElement(new Paragraph(monitorNodeDTO.getIpAddress(), fontChineseRow));
                cell2.setColspan(2);
                cell3.setColspan(2);
                cell4.setColspan(4);
                table.addCell(cell2);
                table.addCell(cell3);
                table.addCell(cell4);
            }
        }
        document.add(table);
        document.close();
    } catch (Exception e) {
        SysLogger.error("", e);
    }
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_networkDoc(String file) throws DocumentException, IOException {
    String runmodel = PollingEngine.getCollectwebflag();
    Hashtable CPU = (Hashtable) reportHash.get("CPU");
    String Ping = (String) reportHash.get("Ping");
    String ip = (String) reportHash.get("ip");
    String newip = doip(ip);/*from  ww w .j  a  v  a  2s  . co m*/
    Calendar colTime = (Calendar) reportHash.get("time");
    Date cc = colTime.getTime();
    Vector netifVector = (Vector) reportHash.get("netifVector");
    Hashtable portconfigHash = (Hashtable) reportHash.get("portconfigHash");
    List reportports = (List) reportHash.get("reportports");
    Vector iprouterVector = (Vector) reportHash.get("iprouterVector");

    Hashtable Memory = (Hashtable) reportHash.get("Memory");
    Hashtable Disk = (Hashtable) reportHash.get("Disk");
    String hostname = (String) reportHash.get("equipname");
    Hashtable memMaxHash = (Hashtable) reportHash.get("memmaxhash");
    Hashtable maxping = (Hashtable) reportHash.get("ping");

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    String[] netIfItemch = { "", "", "", "(M)", "", "", "" };
    String[] ipRouterItemch = { "", "", "", "", "", "" };
    String[] memoryItem = { "Capability", "Utilization" };
    String[] diskItem = { "AllSize", "UsedSize", "Utilization", "INodeUsedSize", "INodeUtilization" };
    String[] diskItemch = { "", "", "", "i-node", "i-node" };
    String[] iproutertype = { "", "", "", "direct(3)", "indirect(4)" };
    String[] iprouterproto = { "", "other(1)", "local(2)", "netmgmt(3)", "icmp(4)", "egp(5)", "ggp(6)",
            "hello(7)", "rip(8)", "is-is(9)", "es-is(10)", "ciscoIgrp(11)", "bbnSpfIgp(12)", "ospf(13)",
            "bgp(14)" };
    // 
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    RtfWriter2.getInstance(document, new FileOutputStream(file));
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 10, Font.NORMAL);

    Paragraph title = new Paragraph(hostname + "", titleFont);
    // 
    title.setAlignment(Element.ALIGN_CENTER);
    // title.setFont(titleFont);
    document.add(title);
    String contextString = ":" + impReport.getTimeStamp() + " \n"// 
            + ":" + sdf.format(cc);

    Paragraph context = new Paragraph(contextString, titleFont);
    // 
    context.setAlignment(Element.ALIGN_LEFT);
    // context.setFont(contextFont);
    // 
    context.setSpacingBefore(5);
    // 
    context.setFirstLineIndent(5);
    document.add(context);
    //  Table 
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(4);
    float[] widths = { 220f, 300f, 220f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 
    aTable.endHeaders();

    Cell cellt0 = new Cell("");
    cellt0.setBackgroundColor(Color.LIGHT_GRAY);
    cellt0.setHorizontalAlignment(Element.ALIGN_CENTER);
    cellt0.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cellt0.setRowspan(2);
    Cell cellt1 = new Cell("");
    cellt1.setBackgroundColor(Color.LIGHT_GRAY);
    Cell cellt2 = new Cell("");
    cellt2.setBackgroundColor(Color.LIGHT_GRAY);
    Cell cellt3 = new Cell("");
    cellt3.setBackgroundColor(Color.LIGHT_GRAY);
    aTable.addCell(cellt0);
    aTable.addCell(cellt1);
    aTable.addCell(cellt2);
    aTable.addCell(cellt3);

    // aTable.addCell("3.2",Ping+"%");
    // Cell cellt4 = new Cell("");
    // cellt4.setBackgroundColor(Color.LIGHT_GRAY);
    // aTable.addCell(cellt4);
    aTable.addCell(Ping + "%");
    aTable.addCell((String) maxping.get("pingmax"));
    aTable.addCell((String) maxping.get("avgpingcon"));
    Image img = Image.getInstance(ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/"
            + newip + "ConnectUtilization" + ".png");
    img.setAbsolutePosition(0, 0);
    img.setAlignment(Image.LEFT);// 
    document.add(aTable);
    document.add(img);
    // document.add(new Paragraph("\n"));
    // document.close();
    Table aTable1 = new Table(4);
    float[] width = { 220f, 300f, 220f, 220f };
    aTable1.setWidths(width);
    aTable1.setWidth(100); //  90%
    aTable1.setAlignment(Element.ALIGN_CENTER);// 
    aTable1.setAutoFillEmptyCells(true); // 
    aTable1.setBorderWidth(1); // 
    aTable1.setBorderColor(new Color(0, 125, 255)); // 
    aTable1.setPadding(2);// 
    aTable1.setSpacing(0);// 
    aTable1.setBorder(2);// 
    aTable1.endHeaders();

    cellt0 = new Cell("CPU");
    cellt0.setBackgroundColor(Color.LIGHT_GRAY);
    cellt0.setHorizontalAlignment(Element.ALIGN_CENTER);
    cellt0.setVerticalAlignment(Element.ALIGN_MIDDLE);

    cellt1 = new Cell("");
    cellt1.setBackgroundColor(Color.LIGHT_GRAY);
    cellt2 = new Cell("");
    cellt2.setBackgroundColor(Color.LIGHT_GRAY);
    cellt3 = new Cell("");
    cellt3.setBackgroundColor(Color.LIGHT_GRAY);
    aTable1.addCell(cellt0);
    aTable1.addCell(cellt1);
    aTable1.addCell(cellt2);
    aTable1.addCell(cellt3);
    // aTable.addCell("3.2",Ping+"%");
    aTable1.addCell("");

    aTable1.addCell((String) CPU.get("cpu") + "%");
    aTable1.addCell((String) CPU.get("cpumax"));
    aTable1.addCell((String) CPU.get("avgcpu"));
    cellt0.setRowspan(2);
    Image img1 = Image.getInstance(
            ResourceCenter.getInstance().getSysPath() + "/resource/image/jfreechart/" + newip + "cpu" + ".png");
    img.setAbsolutePosition(0, 0);
    img.setAlignment(Image.MIDDLE);// 
    document.add(aTable1);
    document.add(img1);

    if (netifVector != null && netifVector.size() > 0) {
        Table aTable2 = new Table(8);
        float[] width2 = { 300f, 220f, 220f, 180f, 300f, 180f, 220f, 220f };
        aTable2.setWidths(width2);
        aTable2.setWidth(100); //  100%
        aTable2.setAlignment(Element.ALIGN_CENTER);// 
        aTable2.setAutoFillEmptyCells(true); // 
        aTable2.setBorderWidth(1); // 
        aTable2.setBorderColor(new Color(0, 125, 255)); // 
        aTable2.setPadding(2);// 
        aTable2.setSpacing(0);// 
        aTable2.setBorder(2);// 
        aTable2.endHeaders();
        Cell c = new Cell("");
        c.setBackgroundColor(Color.LIGHT_GRAY);
        c.setRowspan(netifVector.size() + 1);
        c.setHorizontalAlignment(Element.ALIGN_CENTER);
        c.setVerticalAlignment(Element.ALIGN_MIDDLE);
        aTable2.addCell(c);
        // 
        // allRow = allRow;
        for (int i = 0; i < netIfItemch.length; i++) {
            Cell cell = new Cell(netIfItemch[i]);
            cell.setBackgroundColor(Color.LIGHT_GRAY);
            aTable2.addCell(cell);
        }
        Color color = new Color(204, 204, 255);
        // 
        for (int i = 0; i < netifVector.size(); i++) {
            // aTable2.addCell("");
            String[] strs = (String[]) netifVector.get(i);
            String ifname = strs[1];
            String index = strs[0];
            for (int j = 0; j < strs.length; j++) {
                if (j == 1) {
                    String linkuse = "";
                    if (portconfigHash != null && portconfigHash.size() > 0) {
                        if (portconfigHash.get(ip + ":" + index) != null)
                            linkuse = (String) portconfigHash.get(ip + ":" + index);
                    }
                    Cell cell1 = new Cell(strs[j]);
                    Cell cell2 = new Cell(linkuse);
                    if (i % 2 != 0) {
                        cell1.setBackgroundColor(color);
                        cell2.setBackgroundColor(color);
                    }
                    aTable2.addCell(cell1);
                    aTable2.addCell(cell2);
                } else if (j > 1) {
                    Cell cell3 = new Cell(strs[j]);
                    if (i % 2 != 0) {
                        cell3.setBackgroundColor(color);
                    }
                    aTable2.addCell(cell3);
                } else {
                    Cell cell4 = new Cell(strs[j]);
                    if (i % 2 != 0) {
                        cell4.setBackgroundColor(color);
                    }
                    aTable2.addCell(cell4);
                }
            } // end 
        }
        document.add(aTable2);
    }
    if ("0".equals(runmodel)) {
        // 
        if (iprouterVector != null && iprouterVector.size() > 0) {
            Table aTable3 = new Table(7);
            float[] width2 = { 240f, 200f, 300f, 300f, 220f, 180f, 300f };
            aTable3.setWidths(width2);
            aTable3.setWidth(100); //  100%
            aTable3.setAlignment(Element.ALIGN_CENTER);// 
            aTable3.setAutoFillEmptyCells(true); // 
            aTable3.setBorderWidth(1); // 
            aTable3.setBorderColor(new Color(0, 125, 255)); // 
            aTable3.setPadding(2);// 
            aTable3.setSpacing(0);// 
            aTable3.setBorder(2);// 
            aTable3.endHeaders();
            aTable3.addCell("");
            // 
            // allRow = allRow+1;
            for (int i = 0; i < ipRouterItemch.length; i++) {
                Cell cell = new Cell(ipRouterItemch[i]);
                aTable3.addCell(cell);

            }

            // 

            for (int i = 0; i < iprouterVector.size(); i++) {
                aTable3.addCell("");
                /* allRow = allRow + 1; */

                IpRouter iprouter = (IpRouter) iprouterVector.get(i);
                Cell cell = new Cell(iprouter.getIfindex());
                aTable3.addCell(cell);
                Cell cell1 = new Cell(iprouter.getDest());
                aTable3.addCell(cell1);
                Cell cell2 = new Cell(iprouter.getNexthop());
                aTable3.addCell(cell2);
                Cell cell3 = new Cell(iproutertype[Integer.parseInt(iprouter.getType().longValue() + "")]);
                aTable3.addCell(cell3);
                Cell cell4 = new Cell(iprouterproto[Integer.parseInt(iprouter.getProto().longValue() + "")]);
                aTable3.addCell(cell4);
                Cell cell5 = new Cell(iprouter.getMask());
                aTable3.addCell(cell5);
            }
            document.add(aTable3);
        }
    } else {
        // 
        List routerList = (ArrayList) reportHash.get("routerList");
        Table aTable3 = new Table(7);
        float[] width2 = { 240f, 200f, 300f, 300f, 220f, 180f, 300f };
        aTable3.setWidths(width2);
        aTable3.setWidth(100); //  100%
        aTable3.setAlignment(Element.ALIGN_CENTER);// 
        aTable3.setAutoFillEmptyCells(true); // 
        aTable3.setBorderWidth(1); // 
        aTable3.setBorderColor(new Color(0, 125, 255)); // 
        aTable3.setPadding(2);// 
        aTable3.setSpacing(0);// 
        aTable3.setBorder(2);// 
        aTable3.endHeaders();
        aTable3.addCell("");
        // 
        // allRow = allRow+1;
        for (int i = 0; i < ipRouterItemch.length; i++) {
            Cell cell = new Cell(ipRouterItemch[i]);
            aTable3.addCell(cell);

        }
        if (routerList != null) {
            for (int i = 0; i < routerList.size(); i++) {
                aTable3.addCell("");
                RouterNodeTemp iprouter = (RouterNodeTemp) routerList.get(i);
                Cell cell = new Cell(iprouter.getIfindex());
                aTable3.addCell(cell);
                Cell cell1 = new Cell(iprouter.getDest());
                aTable3.addCell(cell1);
                Cell cell2 = new Cell(iprouter.getNexthop());
                aTable3.addCell(cell2);
                Cell cell3 = new Cell(iprouter.getType());
                aTable3.addCell(cell3);
                Cell cell4 = new Cell(iprouter.getProto());
                aTable3.addCell(cell4);
                Cell cell5 = new Cell(iprouter.getMask());
                aTable3.addCell(cell5);
            }
            document.add(aTable3);
        }
    }
    // doc

    if (reportports != null && reportports.size() > 0) {
        // 

        // aTable4.addCell("");
        for (int i = 0; i < reportports.size(); i++) {
            Table aTable4 = new Table(2);
            float[] width2 = { 300f, 300f };
            aTable4.setWidths(width2);
            aTable4.setWidth(100); //  100%
            aTable4.setAlignment(Element.ALIGN_CENTER);// 
            aTable4.setAutoFillEmptyCells(true); // 
            aTable4.setBorderWidth(1); // 
            aTable4.setBorderColor(new Color(0, 125, 255)); // 
            aTable4.setPadding(2);// 
            aTable4.setSpacing(0);// 
            aTable4.setBorder(2);// 
            aTable4.endHeaders();
            // SysLogger.info(reportports.get(i).getClass()+"=============================================");
            com.afunms.config.model.Portconfig portconfig = (com.afunms.config.model.Portconfig) reportports
                    .get(i);
            /*
             * tmpLabel = new Label(0, allRow, "" +
             * portconfig.getPortindex() + "(" + portconfig.getName() +
             * ")", b_labelFormat);
             * 
             * sheet.addCell(tmpLabel);
             */
            Cell cell = new Cell("" + portconfig.getPortindex() + "(" + portconfig.getName() + ")");
            aTable4.addCell(cell);
            if (portconfig.getLinkuse() == null)
                portconfig.setLinkuse("");
            Cell cell1 = new Cell(":" + portconfig.getLinkuse());
            aTable4.addCell(cell1);
            document.add(aTable4);
            // 
            Image img2 = Image.getInstance(ResourceCenter.getInstance().getSysPath()
                    + "/resource/image/jfreechart/" + newip + portconfig.getPortindex() + "ifspeed_day.png");
            img2.setAbsolutePosition(0, 0);
            img2.setAlignment(Image.LEFT);// 
            // sheet,0,0,5,1,,,
            img2.scalePercent(67);
            document.add(img2);
        }
    } // 
    if (impReport.getChart() != null) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {
            ChartUtilities.writeChartAsPNG(baos, impReport.getChart().getChart(),
                    impReport.getChart().getWidth(), impReport.getChart().getHeight());
        } catch (IOException ioe) {
        }
        /*
         * WritableImage wi = new WritableImage(2, 10000 + 5, 8, 12, baos
         * .toByteArray());
         */
        Image img2 = Image.getInstance(baos.toByteArray());
        img.setAbsolutePosition(0, 0);
        img.setAlignment(Image.LEFT);// 
        img.scalePercent(67);
        document.add(img2);
    }

    document.close();
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_hostNewDoc(String file) throws DocumentException, IOException {
    Hashtable Memory = (Hashtable) reportHash.get("Memory");
    // EventListDao eventListDao = new EventListDao();

    Hashtable memMaxHash = (Hashtable) reportHash.get("memmaxhash");
    Hashtable memAvgHash = (Hashtable) reportHash.get("memavghash");
    Hashtable CPU = (Hashtable) reportHash.get("CPU");
    String[] memoryItemch = { "", "", "", "" };
    String[] memoryItem = { "Capability", "Utilization" };
    if (CPU == null)
        CPU = new Hashtable();
    String cpu = "";
    if (CPU.get("cpu") != null)
        cpu = (String) CPU.get("cpu");
    String cpumax = "0.0%";
    if (CPU.get("cpumax") != null)
        cpumax = (String) CPU.get("cpumax");
    String avgcpu = "";
    if (CPU.get("avgcpu") != null)
        avgcpu = (String) CPU.get("avgcpu");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    String hostname = (String) reportHash.get("equipname");
    String hostnameDoc = (String) reportHash.get("equipnameDoc");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String startdate = (String) reportHash.get("startdate");
    int cpuvalue = ((Integer) reportHash.get("cpuvalue")).intValue();

    int memvalue = ((Integer) reportHash.get("memvalue")).intValue();
    int diskvalue = ((Integer) reportHash.get("diskvalue")).intValue();
    int pingvalue = ((Integer) reportHash.get("pingvalue")).intValue();

    /* String type = (String)request.getAttribute("type"); */
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    RtfWriter2.getInstance(document, new FileOutputStream(file));
    document.open();//from   w ww .jav a  2s .c  om
    // 
    BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 12, Font.NORMAL);

    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 

    aTable.endHeaders();
    Cell cell = null;
    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell.setVerticalAlignment(Element.ALIGN_CENTER);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    aTable.addCell(cell);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    cell = new Cell(new Phrase("\n" + starttime + "  " + totime + "\n", contextFont));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnameDoc, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip, contextFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase("\n" + grade + "\n", contextFont));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "CPU" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(avgcpu, contextFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("CPU", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(cpumax, contextFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String avgvalue = "0.0%";
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    if (memAvgHash.get("PhysicalMemory") != null) {

        avgvalue = (String) memAvgHash.get("PhysicalMemory");
        cell = new Cell(new Phrase(avgvalue, contextFont));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    } else {
        cell = new Cell(new Phrase(avgvalue, contextFont));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String value = "0.0%";
    if (memMaxHash.get("PhysicalMemory") != null) {

        value = (String) memMaxHash.get("PhysicalMemory");
        cell = new Cell(new Phrase(value, contextFont));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    } else {
        cell = new Cell(new Phrase(value, contextFont));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    }

    // end 

    // end  }
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(4);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "CPU" + cpuvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "" + memvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + pingvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + diskvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String strcpu = "";
    String strmem = "";
    String strping = "";
    String strdisk = "";
    if (cpuvalue > 0) {
        strcpu = "    2   " + cpuvalue + "CPU" + "\n"
                + "\n";
    } else {
        strcpu = "    2   CPU" + " \n" + "\n";
    }
    if (memvalue > 0) {
        strmem = "    3   " + memvalue + "" + "\n" + "\n";
    } else {
        strmem = "    3   " + "\n" + "\n";
    }
    if (pingvalue > 0) {
        strping = "    4   " + pingvalue + "" + "\n"
                + "\n";
    } else {
        strping = "    4   " + "\n" + "\n";
    }
    if (diskvalue > 0) {

        strdisk = "    5   " + diskvalue + "";
    } else {
        strdisk = "    5   ";
    }

    cell = new Cell(new Phrase("    1   " + " \n" + "\n"
            + strcpu + strmem + strping + strdisk + "\n" + "\n" + "\n", contextFont)

    );
    cell.setColspan(8);
    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_hostNewPDF(String file) throws DocumentException, IOException {
    Hashtable Memory = (Hashtable) reportHash.get("Memory");
    // EventListDao eventListDao = new EventListDao();

    Hashtable memMaxHash = (Hashtable) reportHash.get("memmaxhash");
    Hashtable memAvgHash = (Hashtable) reportHash.get("memavghash");
    Hashtable CPU = (Hashtable) reportHash.get("CPU");
    String[] memoryItemch = { "", "", "", "" };
    String[] memoryItem = { "Capability", "Utilization" };
    if (CPU == null)
        CPU = new Hashtable();
    String cpu = "";
    if (CPU.get("cpu") != null)
        cpu = (String) CPU.get("cpu");
    String cpumax = "0.0%";
    if (CPU.get("cpumax") != null)
        cpumax = (String) CPU.get("cpumax");
    String avgcpu = "";
    if (CPU.get("avgcpu") != null)
        avgcpu = (String) CPU.get("avgcpu");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    String hostname = (String) reportHash.get("equipname");
    String hostnameDoc = (String) reportHash.get("equipnameDoc");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String startdate = (String) reportHash.get("startdate");
    int cpuvalue = ((Integer) reportHash.get("cpuvalue")).intValue();
    int memvalue = ((Integer) reportHash.get("memvalue")).intValue();
    int diskvalue = ((Integer) reportHash.get("diskvalue")).intValue();
    int pingvalue = ((Integer) reportHash.get("pingvalue")).intValue();

    /* String type = (String)request.getAttribute("type"); */
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    PdfWriter.getInstance(document, new FileOutputStream(file));
    document.open();// w  w  w . j av a  2 s.  c  o m
    // 
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
    Font contextFont1 = new Font(bfChinese, 10, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 

    aTable.endHeaders();
    Cell cell = null;
    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell.setVerticalAlignment(Element.ALIGN_CENTER);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    aTable.addCell(cell);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    cell = new Cell(new Phrase("\n" + starttime + "  " + totime + "\n", contextFont1));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnameDoc, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase("\n" + grade + "\n", contextFont));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "CPU" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(avgcpu));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("CPU", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(cpumax));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String avgvalue = "0.0%";
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    if (memAvgHash.get("PhysicalMemory") != null) {

        avgvalue = (String) memAvgHash.get("PhysicalMemory");
        cell = new Cell(new Phrase(avgvalue));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    } else {
        cell = new Cell(new Phrase(avgvalue));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String value = "0.0%";
    if (memMaxHash.get("PhysicalMemory") != null) {

        value = (String) memMaxHash.get("PhysicalMemory");
        cell = new Cell(new Phrase(value));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    } else {
        cell = new Cell(new Phrase(value));
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
    }

    // end 

    // end  }
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(4);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "CPU" + cpuvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "" + memvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + pingvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + diskvalue + "" + "\n", contextFont));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String strcpu = "";
    String strmem = "";
    String strping = "";
    String strdisk = "";
    if (cpuvalue > 0) {
        strcpu = "    2   " + cpuvalue + "CPU" + "\n"
                + "\n";
    } else {
        strcpu = "    2   CPU" + " \n" + "\n";
    }
    if (memvalue > 0) {
        strmem = "    3   " + memvalue + "" + "\n" + "\n";
    } else {
        strmem = "    3   " + "\n" + "\n";
    }
    if (pingvalue > 0) {
        strping = "    4   " + pingvalue + "" + "\n"
                + "\n";
    } else {
        strping = "    4   " + "\n" + "\n";
    }
    if (diskvalue > 0) {

        strdisk = "    5   " + diskvalue + "";
    } else {
        strdisk = "    5   ";
    }

    cell = new Cell(new Phrase("    1   " + " \n" + "\n"
            + strcpu + strmem + strping + strdisk + "\n" + "\n" + "\n", contextFont)

    );
    /*
     * cell = new Cell(new Phrase(" 1 " + " \n" +
     * "\n" + " 2 " + cpuvalue + "CPU" + "\n" +
     * "\n" + " 3 "+memvalue+"" + "\n" +
     * "\n" + " 4 "+pingvalue+"" + "\n" +
     * "\n"+" 5 "+diskvalue+"" + "\n" + "\n"+
     * "\n",contextFont) );
     */
    cell.setColspan(8);
    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_networkNewDoc(String file) throws DocumentException, IOException {
    Hashtable Memory = (Hashtable) reportHash.get("Memory");
    // EventListDao eventListDao = new EventListDao();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Calendar colTime = (Calendar) reportHash.get("time");
    Date cc = colTime.getTime();//from   w  w  w  . j  av a  2  s  .  c om
    Hashtable memMaxHash = (Hashtable) reportHash.get("memmaxhash");
    Hashtable memAvgHash = (Hashtable) reportHash.get("memavghash");
    Hashtable CPU = (Hashtable) reportHash.get("CPU");
    String[] memoryItemch = { "", "", "", "" };
    String[] memoryItem = { "Capability", "Utilization" };
    if (CPU == null)
        CPU = new Hashtable();
    String cpu = "";
    if (CPU.get("cpu") != null)
        cpu = (String) CPU.get("cpu");
    String cpumax = "";
    if (CPU.get("cpumax") != null)
        cpumax = (String) CPU.get("cpumax");
    String avgcpu = "";
    if (CPU.get("avgcpu") != null)
        avgcpu = (String) CPU.get("avgcpu");

    String totime = (String) reportHash.get("totime");
    String hostname = (String) reportHash.get("equipname");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String equipnameNetDoc = (String) reportHash.get("equipnameNetDoc");
    String startdate = (String) reportHash.get("startdate");
    String todate = (String) reportHash.get("todate");
    String starttime = (String) reportHash.get("starttime");
    String avginput = (String) reportHash.get("avginput");
    String avgoutput = (String) reportHash.get("avgoutput");
    String maxinput = (String) reportHash.get("maxinput");
    String maxoutput = (String) reportHash.get("maxoutput");

    int updownvalue = ((Integer) reportHash.get("updownvalue")).intValue();

    int utilvalue = ((Integer) reportHash.get("utilvalue")).intValue();
    int pingvalue = ((Integer) reportHash.get("pingvalue")).intValue();
    int cpuvalue = ((Integer) reportHash.get("cpuvalue")).intValue();

    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    RtfWriter2.getInstance(document, new FileOutputStream(file));
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 12, Font.BOLD);
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 

    aTable.endHeaders();
    Cell cell = null;
    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    /* cell.setVerticalAlignment(Element.ALIGN_CENTER); */
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    aTable.addCell(cell);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    cell = new Cell(new Phrase("\n" + starttime + "  " + totime + "\n", contextFont1));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(equipnameNetDoc, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase("\n" + grade + "\n", contextFont1));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "CPU" + "\n", contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell = new Cell(new Phrase(avgcpu, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("CPU", contextFont));
    cell.setColspan(2);
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(cpumax, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "(KB/S)" + "\n", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + avginput.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("(KB/S)", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + maxinput.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + avgoutput.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + maxoutput.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(4);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + pingvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "CPU" + cpuvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + updownvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + utilvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "" + "\n", contextFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String strcpu = "";
    String strutil = "";
    String strping = "";
    String strupdown = "";
    if (cpuvalue > 0) {
        strcpu = "    2   " + cpuvalue + "CPU" + "\n"
                + "\n";
    } else {
        strcpu = "    2   CPU" + " \n" + "\n";
    }
    if (utilvalue > 0) {
        strutil = "3   " + utilvalue
                + "" + "\n"
                + "\n";
    } else {
        strutil = "    3   " + "\n" + "\n";
    }
    if (updownvalue > 0) {
        strupdown = "    4   " + updownvalue + "" + "\n"
                + "\n";
    } else {
        strupdown = "    4   " + "\n" + "\n";
    }
    if (pingvalue > 0) {

        strping = "    5   " + pingvalue + "";
    } else {
        strping = "    5   ";
    }

    cell = new Cell(new Phrase("    1   " + " \n" + "\n"
            + strcpu + strutil + strupdown + strping + "\n" + "\n" + "\n", contextFont1)

    );

    cell.setColspan(8);
    aTable.addCell(cell);
    document.add(aTable);
    document.close();
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_networkNewPdf(String file) throws DocumentException, IOException {
    Hashtable Memory = (Hashtable) reportHash.get("Memory");
    // EventListDao eventListDao = new EventListDao();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Calendar colTime = (Calendar) reportHash.get("time");
    Date cc = colTime.getTime();//from ww w  . ja va 2 s  .c om
    Hashtable memMaxHash = (Hashtable) reportHash.get("memmaxhash");
    Hashtable memAvgHash = (Hashtable) reportHash.get("memavghash");
    Hashtable CPU = (Hashtable) reportHash.get("CPU");
    String[] memoryItemch = { "", "", "", "" };
    String[] memoryItem = { "Capability", "Utilization" };
    if (CPU == null)
        CPU = new Hashtable();
    String cpu = "";
    if (CPU.get("cpu") != null)
        cpu = (String) CPU.get("cpu");
    String cpumax = "";
    if (CPU.get("cpumax") != null)
        cpumax = (String) CPU.get("cpumax");
    String avgcpu = "";
    if (CPU.get("avgcpu") != null)
        avgcpu = (String) CPU.get("avgcpu");

    String totime = (String) reportHash.get("totime");
    String hostname = (String) reportHash.get("equipname");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String equipnameNetDoc = (String) reportHash.get("equipnameNetDoc");
    String startdate = (String) reportHash.get("startdate");
    String todate = (String) reportHash.get("todate");
    String starttime = (String) reportHash.get("starttime");
    String avginput = (String) reportHash.get("avginput");
    String avgoutput = (String) reportHash.get("avgoutput");
    String maxinput = (String) reportHash.get("maxinput");
    String maxoutput = (String) reportHash.get("maxoutput");

    int updownvalue = ((Integer) reportHash.get("updownvalue")).intValue();

    int utilvalue = ((Integer) reportHash.get("utilvalue")).intValue();
    int pingvalue = ((Integer) reportHash.get("pingvalue")).intValue();
    int cpuvalue = ((Integer) reportHash.get("cpuvalue")).intValue();

    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    PdfWriter.getInstance(document, new FileOutputStream(file));
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
    Font contextFont2 = new Font(bfChinese, 10, Font.NORMAL);
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 

    aTable.endHeaders();
    aTable.setWidths(widths);
    Cell cell = null;
    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    /* cell.setVerticalAlignment(Element.ALIGN_CENTER); */
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    aTable.addCell(cell);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    cell = new Cell(new Phrase("\n" + starttime + "  " + totime + "\n", contextFont2));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(equipnameNetDoc, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);

    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase("\n" + grade + "\n", contextFont1));
    cell.setColspan(7);

    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "CPU" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase(avgcpu, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("CPU", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase(cpumax, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "(KB/S)" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + avginput.replace(".0", ""), contextFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("(KB/S)", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + maxinput.replace(".0", ""), contextFont));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + avgoutput.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + maxoutput.replace(".0", ""), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(4);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + pingvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "CPU" + cpuvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + updownvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + utilvalue + "" + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);

    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String strcpu = "";
    String strutil = "";
    String strping = "";
    String strupdown = "";
    if (cpuvalue > 0) {
        strcpu = "    2   " + cpuvalue + "CPU" + "\n"
                + "\n";
    } else {
        strcpu = "    2   CPU" + " \n" + "\n";
    }
    if (utilvalue > 0) {
        strutil = "3   " + utilvalue
                + "" + "\n"
                + "\n";
    } else {
        strutil = "    3   " + "\n" + "\n";
    }
    if (updownvalue > 0) {
        strupdown = "    4   " + updownvalue + "" + "\n"
                + "\n";
    } else {
        strupdown = "    4   " + "\n" + "\n";
    }
    if (pingvalue > 0) {

        strping = "    5   " + pingvalue + "";
    } else {
        strping = "    5   ";
    }

    cell = new Cell(new Phrase("    1   " + " \n" + "\n"
            + strcpu + strutil + strupdown + strping + "\n" + "\n" + "\n", contextFont)

    );

    cell.setColspan(8);
    aTable.addCell(cell);
    document.add(aTable);
    document.close();
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_networkchoce(String starttime, String totime, String file, String username,
        String positionname) throws DocumentException, IOException {

    Hashtable allreporthash = new Hashtable();
    allreporthash = reportHash;// ww w  . ja va  2  s .  c  o  m
    /*
     * String starttime = (String) reportHash.get("starttime"); String
     * totime = (String) reportHash.get("totime");
     */

    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    RtfWriter2.getInstance(document, new FileOutputStream(file));
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont1 = new Font(bfChinese, 14, Font.BOLD);
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 10, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    String runAppraise = "";
    if (dataHash.containsKey("runAppraise")) {
        runAppraise = (String) dataHash.get("runAppraise");
    }
    try {
        fileName = ResourceCenter.getInstance().getSysPath() + file;
        Table aTable = new Table(15);
        float[] widths = { 60f, 60f, 50f, 50f, 50f, 50f, 50f, 50f, 50f, 50f, 50f, 50f, 50f, 50f, 50f };
        aTable.setWidths(widths);
        aTable.setWidth(100); //  90%
        aTable.setAlignment(Element.ALIGN_CENTER);// 
        aTable.setAutoFillEmptyCells(true); // 
        aTable.setBorderWidth(1); // 
        aTable.setBorderColor(new Color(0, 125, 255)); // 
        aTable.setPadding(2);// 
        aTable.setSpacing(0);// 
        aTable.setBorder(2);// 

        aTable.endHeaders();
        Cell cell = null;
        cell = new Cell(new Phrase("", titleFont1));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(15);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        // cell = new Cell("");
        cell = new Cell("" + starttime + "" + totime);
        cell.setColspan(14);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase(username, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        cell.setColspan(3);

        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase(positionname, contextFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        cell.setColspan(3);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(2);
        aTable.addCell(cell);
        cell = new Cell(runAppraise);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        cell.setColspan(4);
        aTable.addCell(cell);
        cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(3 + allreporthash.size());
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("IP", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(3);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(3);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(3);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("CPU(%)", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("(KB/S)", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(4);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("()", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(3);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("" + "\n" + "", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("" + "\n" + "", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("" + "\n" + "", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("" + "\n" + "", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setColspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setRowspan(2);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);

        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);
        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        aTable.addCell(cell);

        fileName = ResourceCenter.getInstance().getSysPath() + file;

        if (allreporthash != null && allreporthash.size() > 0) {
            Iterator keys = allreporthash.keySet().iterator();
            String ip = "";
            while (keys.hasNext()) {
                ip = keys.next().toString();
                Hashtable report_has = (Hashtable) allreporthash.get(ip);
                String hostname = (String) report_has.get("equipname");
                // WritableSheet sheet = wb.createSheet(hostname+"",
                // sheetNum);

                Hashtable CPU = (Hashtable) report_has.get("CPU");
                String Ping = (String) report_has.get("Ping");
                // Hashtable maxping = (Hashtable)
                // report_has.get("maxping");
                String newip = doip(ip);
                Calendar colTime = Calendar.getInstance();
                Date cc = colTime.getTime();
                Vector netifVector = (Vector) report_has.get("netifVector");
                Hashtable portconfigHash = (Hashtable) report_has.get("portconfigHash");
                List reportports = (List) report_has.get("reportports");
                Vector iprouterVector = (Vector) report_has.get("iprouterVector");

                Hashtable memMaxHash = (Hashtable) report_has.get("memmaxhash");
                Hashtable maxping = (Hashtable) report_has.get("ping");

                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                String[] netIfItemch = { "", "", "", "(M)", "", "",
                        "" };
                String[] ipRouterItemch = { "", "", "", "", "",
                        "" };
                String[] memoryItem = { "Capability", "Utilization" };
                String[] diskItem = { "AllSize", "UsedSize", "Utilization", "INodeUsedSize",
                        "INodeUtilization" };
                String[] diskItemch = { "", "", "", "i-node", "i-node" };
                String[] iproutertype = { "", "", "", "direct(3)", "indirect(4)" };
                String[] iprouterproto = { "", "other(1)", "local(2)", "netmgmt(3)", "icmp(4)", "egp(5)",
                        "ggp(6)", "hello(7)", "rip(8)", "is-is(9)", "es-is(10)", "ciscoIgrp(11)",
                        "bbnSpfIgp(12)", "ospf(13)", "bgp(14)" };
                String avginput = (String) report_has.get("avginput");
                String avgoutput = (String) report_has.get("avgoutput");
                String maxinput = (String) report_has.get("maxinput");
                String maxoutput = (String) report_has.get("maxoutput");

                String levelone = (String) report_has.get("levelone");
                String levletwo = (String) report_has.get("levletwo");
                String levelthree = (String) report_has.get("levelthree");
                /*
                 * String starttime = (String)report_has.get("starttime");
                 * String totime = (String)report_has.get("totime");
                 */
                cell = new Cell(ip);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(hostname);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell("");
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell((String) CPU.get("avgcpu"));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell((String) CPU.get("cpumax"));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell("");
                aTable.addCell(cell);
                cell = new Cell("");
                aTable.addCell(cell);
                cell = new Cell(avgoutput.replace(".0", ""));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(maxoutput.replace(".0", ""));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(avginput.replace(".0", ""));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(maxinput.replace(".0", ""));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(levelone);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(levletwo);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(levelthree);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                /*
                 * cell = (Cell)aTable.getElement(1, 1); cell.add(new
                 * Phrase(""+starttime+""+totime,contextFont));
                 */
            }
        }

        cell = new Cell(new Phrase("", titleFont));
        cell.setBackgroundColor(Color.LIGHT_GRAY);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        cell.setColspan(15);
        aTable.addCell(cell);
        String businessAnalytics = "";
        if (dataHash.containsKey("businessAnalytics")) {
            businessAnalytics = (String) dataHash.get("businessAnalytics");
        }
        cell = new Cell(businessAnalytics);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
        cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
        cell.setColspan(15);
        cell.setRowspan(6);
        aTable.addCell(cell);
        document.add(aTable);
        document.close();
    } catch (Exception e) {
        SysLogger.error("", e);
    }
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_hostchoce(String starttime, String totime, String file, String username,
        String positionname) throws DocumentException, IOException {
    Hashtable allreporthash = new Hashtable();
    allreporthash = reportHash;/*from   ww w  .j a v a  2s.  com*/
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    RtfWriter2.getInstance(document, new FileOutputStream(file));
    document.open();
    // 
    BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont1 = new Font(bfChinese, 14, Font.BOLD);
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont = new Font(bfChinese, 12, Font.NORMAL);
    Font contextFont1 = new Font(bfChinese, 14, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);

    fileName = ResourceCenter.getInstance().getSysPath() + file;
    Table aTable = new Table(13);
    float[] widths = { 60f, 100f, 30f, 30f, 30f, 30f, 30f, 30f, 50f, 50f, 30f, 30f, 30f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 

    aTable.endHeaders();
    Cell cell = null;
    cell = new Cell(new Phrase("", titleFont1));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(13);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // cell = new Cell("");
    cell = new Cell(new Phrase("" + starttime + "" + totime, contextFont));
    cell.setColspan(12);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // cell = new Cell(new Phrase(username,contextFont));
    cell = new Cell(new Phrase(username, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    cell.setColspan(4);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // cell = new Cell(new Phrase(positionname,contextFont));
    cell = new Cell(new Phrase(positionname, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    cell.setColspan(4);
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String runAppraise = "";
    if (dataHash.containsKey("runAppraise")) {
        runAppraise = (String) dataHash.get("runAppraise");
    }
    // cell = new Cell(new Phrase(positionname,contextFont));
    cell = new Cell(new Phrase(runAppraise, contextFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(2 + allreporthash.size());
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("(%)", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("CPU(%)", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("TOP", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(2);
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("()", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    java.text.NumberFormat formate = java.text.NumberFormat.getNumberInstance();
    formate.setMaximumFractionDigits(0);//
    fileName = ResourceCenter.getInstance().getSysPath() + file;
    if (allreporthash != null && allreporthash.size() > 0) {
        Iterator keys = allreporthash.keySet().iterator();
        String ip = "";
        int sheetNum = 0;
        while (keys.hasNext()) {
            ip = keys.next().toString();
            String newip = doip(ip);
            Hashtable report_has = (Hashtable) allreporthash.get(ip);
            String hostname = (String) report_has.get("equipname");
            Hashtable CPU = (Hashtable) report_has.get("CPU");
            String Ping = (String) report_has.get("Ping");
            Calendar colTime = (Calendar) report_has.get("time");
            Date cc = colTime.getTime();
            Hashtable Memory = (Hashtable) report_has.get("Memory");
            Hashtable Disk = (Hashtable) report_has.get("Disk");

            Hashtable memMaxHash = (Hashtable) report_has.get("memmaxhash");
            Hashtable memAvgHash = (Hashtable) report_has.get("memavghash");
            Hashtable maxping = (Hashtable) report_has.get("ping");

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            String[] memoryItemch = { "", "", "", "" };
            String[] memoryItem = { "Capability", "c" };
            String[] diskItem = { "AllSize", "UsedSize", "Utilization", "Utilizationvalue" };
            String[] diskItemch = { "", "", "" };

            String levelone = (String) report_has.get("levelone");
            String levletwo = (String) report_has.get("levletwo");
            String levelthree = (String) report_has.get("levelthree");
            cell = new Cell(new Phrase(ip, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
            // =======
            String string1 = ((String) maxping.get("pingmax")).replace("%", "");
            String string2 = ((String) maxping.get("avgpingcon")).replace("%", "");
            // formate.format(Double.valueOf(string1));
            // System.out.println(formate.format(Double.valueOf(string))+"@@@@@@@0000000000");
            cell = new Cell(new Phrase(formate.format(Double.valueOf(string1)), contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
            cell = new Cell(new Phrase(formate.format(Double.valueOf(string2)), contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);

            String cpu = "";
            if (CPU.get("cpu") != null)
                cpu = (String) CPU.get("cpu");
            String cpumax = "";
            if (CPU.get("cpumax") != null)
                cpumax = (String) CPU.get("cpumax");
            String avgcpu = "";
            if (CPU.get("avgcpu") != null)
                avgcpu = (String) CPU.get("avgcpu");
            String string3 = avgcpu.replace("%", "");
            String string4 = cpumax.replace("%", "");

            cell = new Cell(new Phrase(formate.format(Double.valueOf(string3)), contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
            cell = new Cell(new Phrase(formate.format(Double.valueOf(string4)), contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
            String avgvalue = "0.0%";
            if (memAvgHash.get("PhysicalMemory") != null) {

                avgvalue = (String) memAvgHash.get("PhysicalMemory");
                String string5 = avgvalue.replace("%", "");
                cell = new Cell(new Phrase(formate.format(Double.valueOf(string5)), contextFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
            } else {
                String string5 = avgvalue.replace("%", "");
                cell = new Cell(new Phrase(formate.format(Double.valueOf(string5)), contextFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
            }
            String value = "0.0%";
            if (memMaxHash.get("PhysicalMemory") != null) {

                value = (String) memMaxHash.get("PhysicalMemory");
                String string6 = value.replace("%", "");
                cell = new Cell(new Phrase(formate.format(Double.valueOf(string6)), contextFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
            } else {
                String string6 = value.replace("%", "");
                cell = new Cell(new Phrase(formate.format(Double.valueOf(string6)), contextFont));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
            }
            String value1 = "0";
            String name = "";
            String Utilization = "";
            if (Disk != null && Disk.size() > 0) {
                for (int i = 0; i < Disk.size(); i++) {
                    Hashtable diskhash = (Hashtable) (Disk.get(new Integer(i)));
                    if (diskhash.get(diskItem[3]) != null) {
                        if (value1.compareTo((String) diskhash.get(diskItem[3])) < 0) {
                            value1 = (String) diskhash.get(diskItem[3]);
                            name = (String) diskhash.get("name");
                            Utilization = (String) diskhash.get(diskItem[2]);
                        }
                    }
                }
                cell = new Cell(name + "  " + Utilization);
                cell.setColspan(2);
                aTable.addCell(cell);

            } else {
                cell = new Cell("---");
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
            }
            cell = new Cell(new Phrase(levelone, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
            cell = new Cell(new Phrase(levletwo, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
            cell = new Cell(new Phrase(levelthree, contextFont));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
            aTable.addCell(cell);
        }
    }
    cell = new Cell(new Phrase("", titleFont));
    cell.setBackgroundColor(Color.LIGHT_GRAY);
    cell.setColspan(13);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    String businessAnalytics = "";
    if (dataHash.containsKey("businessAnalytics")) {
        businessAnalytics = (String) dataHash.get("businessAnalytics");
    }
    cell = new Cell(businessAnalytics);
    cell.setColspan(13);
    cell.setRowspan(6);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    document.add(aTable);
    document.close();
}

From source file:com.afunms.report.abstraction.ExcelReport1.java

public void createReport_oraNewDoc(String filename) throws DocumentException, IOException {
    String hostname = (String) reportHash.get("dbname");
    String hostnamestr = (String) reportHash.get("dbnamestr");
    String ip = (String) reportHash.get("ip");
    String typename = (String) reportHash.get("typename");
    String Ping = (String) reportHash.get("Ping");
    String starttime = (String) reportHash.get("starttime");
    String totime = (String) reportHash.get("totime");
    Hashtable oramem = (Hashtable) reportHash.get("memvalue");
    Hashtable maxping = (Hashtable) reportHash.get("ping");
    String runstr = (String) reportHash.get("runstr");
    // String[] sysItem1 = { "shared pool", "large pool", "buffer cache",
    // "java pool" };
    String[] sysItem1 = { "shared_pool", "large_pool", "DEFAULT_buffer_cache", "java_pool" };
    String downnum = (String) reportHash.get("downnum");

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Document document = new Document(PageSize.A4);
    // (Writer)document(Writer)
    RtfWriter2.getInstance(document, new FileOutputStream(filename));
    document.open();/*from   ww  w  . j  a va  2  s  .  c  om*/
    // 
    BaseFont bfChinese = BaseFont.createFont("Times-Roman", "", BaseFont.NOT_EMBEDDED);
    // 
    Font titleFont = new Font(bfChinese, 12, Font.BOLD);
    // 
    Font contextFont1 = new Font(bfChinese, 12, Font.NORMAL);
    Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.black);
    Table aTable = new Table(8);
    float[] widths = { 220f, 220f, 220f, 110f, 110f, 110f, 110f, 220f };
    aTable.setWidths(widths);
    aTable.setWidth(100); //  90%
    aTable.setAlignment(Element.ALIGN_CENTER);// 
    aTable.setAutoFillEmptyCells(true); // 
    aTable.setBorderWidth(1); // 
    aTable.setBorderColor(new Color(0, 125, 255)); // 
    aTable.setPadding(2);// 
    aTable.setSpacing(0);// 
    aTable.setBorder(2);// 
    Cell cell = null;

    cell = new Cell(new Phrase("\n" + "" + hostname + "" + "\n", titleFont));
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + starttime + "" + totime + "\n", contextFont1));
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(hostnamestr, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("IP", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(ip, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(typename, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(runstr, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    String grade = (String) reportHash.get("grade");
    cell = new Cell(new Phrase(grade, contextFont1));
    cell.setColspan(3);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(4);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("SGA(MB)", titleFont));
    cell.setRowspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    // SGA
    String valueall = "---";
    String valuebig = "---";
    String valuebuffer = "---";
    String valuejava = "---";
    if (oramem != null) {

        if (oramem.get(sysItem1[0]) != null) {
            valueall = (String) oramem.get(sysItem1[0]);
        }
        if (oramem.get(sysItem1[1]) != null) {
            valuebig = (String) oramem.get(sysItem1[1]);
        }
        if (oramem.get(sysItem1[2]) != null) {
            valuebuffer = (String) oramem.get(sysItem1[2]);
        }
        if (oramem.get(sysItem1[3]) != null) {
            valuejava = (String) oramem.get(sysItem1[3]);
        }
    }
    // SGA END

    cell = new Cell(new Phrase(valueall, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(valuebig, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(valuebuffer, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("Java", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase(valuejava, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("PGA(MB)", titleFont));
    cell.setRowspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    String[] sysItem2 = { "aggregate_PGA_target_parameter", "total_PGA_allocated", "maximum_PGA_allocated",
            "cache_hit_percentage", "bytes_processed", "extra_bytes_read/written", "recompute_count_(total)" };
    String valuepgaall = "---";
    String valuepganow = "---";
    String valuepgabig = "---";
    if (oramem != null) {

        if (oramem.get(sysItem2[0]) != null) {
            valuepgaall = (String) oramem.get(sysItem2[0]);
        }
        if (oramem.get(sysItem2[1]) != null) {
            valuepganow = (String) oramem.get(sysItem2[1]);
        }
        if (oramem.get(sysItem2[2]) != null) {
            valuepgabig = (String) oramem.get(sysItem2[2]);
        }
    }

    cell = new Cell(new Phrase("PGA", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);

    if (!"---".equals(valuepgaall)) {
        valuepgaall = CEIString.round(Double.valueOf(valuepgaall.replace("MB", "")), 2) + "";
    }
    cell = new Cell(new Phrase(valuepgaall, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    cell = new Cell(new Phrase("PGA", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    if (!"---".equals(valuepganow)) {
        valuepganow = CEIString.round(Double.valueOf(valuepganow.replace("MB", "")), 2) + "";
    }
    cell = new Cell(new Phrase(valuepganow, contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("PGA", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    if (!"---".equals(valuepgabig)) {
        valuepgabig = CEIString.round(Double.valueOf(valuepgabig.replace("MB", "")), 2) + "";
    }
    cell = new Cell(new Phrase(valuepgabig, contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", contextFont1));
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    // 
    Vector tableinfo_v = (Vector) reportHash.get("tableinfo_v");
    OraspaceconfigDao oraspaceconfigDao = new OraspaceconfigDao();
    List list = null;
    try {
        list = oraspaceconfigDao.getByIp(ip, 1);
    } catch (Exception e) {
        SysLogger.error("", e);
    } finally {
        oraspaceconfigDao.close();
    }
    Cell cell5 = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell5.setRowspan(2 + list.size());
    this.setCellFormat(cell, true);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("avgpingcon"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase((String) maxping.get("pingmax"), contextFont1));
    cell.setColspan(2);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("(MB)", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("(%)", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("", titleFont));
    cell.setColspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    // ====

    int row = 0;
    for (int i = 0; i < tableinfo_v.size(); i++) {
        Hashtable ht = (Hashtable) tableinfo_v.get(i);
        String tablespace = ht.get("tablespace").toString();
        for (int j = 0; j < list.size(); j++) {
            Oraspaceconfig vo1 = (Oraspaceconfig) list.get(j);
            if (vo1.getSpacename().equals(tablespace)) {
                String size = ht.get("size_mb").toString();
                String percent = ht.get("percent_free").toString();
                String status = ht.get("status").toString();

                cell = new Cell(new Phrase(tablespace, contextFont1));
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(size, contextFont1));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(percent, contextFont1));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                cell = new Cell(new Phrase(status, contextFont1));
                cell.setColspan(2);
                cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
                cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
                aTable.addCell(cell);
                row = row + 1;
            }
        }
    }
    // ===============end

    String count = (String) reportHash.get("count");
    cell = new Cell(new Phrase("" + "\n" + "" + "\n" + "" + "\n" + "", titleFont));
    cell.setRowspan(2);
    this.setCellFormat(cell, true);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + downnum + "" + "\n", contextFont1));
    this.setCellFormat(cell, true);
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + count + "" + "\n", contextFont1));
    this.setCellFormat(cell, true);
    cell.setColspan(7);
    aTable.addCell(cell);
    cell = new Cell(new Phrase("\n" + "" + "\n", titleFont));
    this.setCellFormat(cell, true);
    cell.setColspan(8);
    cell.setHorizontalAlignment(Element.ALIGN_CENTER); // 
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE); // 
    aTable.addCell(cell);

    String pinglog = "";
    if ("0".equals(downnum)) {
        pinglog = "   " + "2    ";

    } else {
        pinglog = "   " + "2    " + downnum + "";
    }
    String spacelog = "";
    if (!"0".equals(count)) {
        spacelog = "   " + "3    " + count
                + "" + "    ";
    } else {
        spacelog = "   " + "3    ";
    }
    cell = new Cell(new Phrase("   1      " + "\n" + "\n" + pinglog + "\n"
            + "\n" + spacelog + "\n" + "\n" + "\n" + "\n" + "\n" + "\n", contextFont1));
    cell.setColspan(8);

    aTable.addCell(cell);
    document.add(aTable);
    document.close();

}