Example usage for org.dom4j.io SAXReader read

List of usage examples for org.dom4j.io SAXReader read

Introduction

In this page you can find the example usage for org.dom4j.io SAXReader read.

Prototype

public Document read(InputSource in) throws DocumentException 

Source Link

Document

Reads a Document from the given InputSource using SAX

Usage

From source file:au.gov.ansto.bragg.process.parse.Parse.java

License:Open Source License

public static Document readFile(URL fileURL) throws DocumentException {
    SAXReader fileHandle = new SAXReader();
    Document documentHandle = fileHandle.read(fileURL);

    return documentHandle;
}

From source file:au.gov.ansto.bragg.process.parse.Parse.java

License:Open Source License

public static Document readFile(String fileName) throws DocumentException {
    SAXReader fileHandle = new SAXReader();
    Document documentHandle = fileHandle.read(fileName);
    return documentHandle;
}

From source file:au.gov.ansto.bragg.process.parse.Parse.java

License:Open Source License

public static Document readFile(File fileName) throws DocumentException {
    SAXReader fileHandle = new SAXReader();
    Document documentHandle = null;
    try {//from   w  w  w. j  a va  2s  .com
        documentHandle = fileHandle.read(fileName);
    } catch (DocumentException e) {
        // TODO: handle exception
        try {
            documentHandle = fileHandle.read(fileName.toURL());
        } catch (MalformedURLException e1) {
            // TODO Auto-generated catch block
            throw new DocumentException(e1);
        }
    }
    return documentHandle;
}

From source file:be.hikage.maven.plugin.xmlmerge.MergeXmlMojo.java

License:Apache License

private Document loadXml(File baseFile) throws DocumentException {
    SAXReader reader = new SAXReader();
    return reader.read(baseFile);
}

From source file:be.mxs.common.util.pdf.general.dossierCreators.StaffDossierPDFCreator.java

protected void printHRWorkSchedules(SessionContainerWO sessionContainerWO, AdminPerson activePatient)
        throws Exception {
    table = new PdfPTable(10);
    table.setWidthPercentage(pageWidth);

    // title/*from   www.j av  a 2 s  .  co m*/
    table.addCell(createTitleCell(getTran("web", "workSchedule"), 10));

    // compose object to pass search criteria with
    Workschedule findObject = new Workschedule();
    findObject.personId = Integer.parseInt(activePatient.personid); // required

    List workschedules = Workschedule.getList(findObject);
    String sReturn = "";

    if (workschedules.size() > 0) {
        // header
        table.addCell(createHeaderCell(getTran("web.hr", "begin"), 1));
        table.addCell(createHeaderCell(getTran("web.hr", "end"), 1));
        table.addCell(createHeaderCell(getTran("web.hr", "fte.short"), 1));
        table.addCell(createHeaderCell(getTran("web.hr", "type"), 2));
        table.addCell(createHeaderCell(getTran("web.hr", "details"), 4));
        table.addCell(createHeaderCell(getTran("web.hr", "duration"), 1));

        Hashtable hSort = new Hashtable();
        Workschedule workschedule;

        // sort on workschedule.getUid
        for (int i = 0; i < workschedules.size(); i++) {
            workschedule = (Workschedule) workschedules.get(i);
            hSort.put(workschedule.getUid() + "=" + workschedule.getUid(), workschedule);
        }

        Vector keys = new Vector(hSort.keySet());
        Collections.sort(keys);
        Collections.reverse(keys);

        Iterator iter = keys.iterator();
        while (iter.hasNext()) {
            workschedule = (Workschedule) hSort.get(iter.next());

            // parse xml
            String sXML = checkString(workschedule.scheduleXml);
            String sScheduleType = "", sScheduleHours = "";

            if (sXML.length() > 0) {
                SAXReader reader = new SAXReader(false);
                org.dom4j.Document xmlDoc = reader.read(new StringReader(sXML));

                // fetch type and hours
                org.dom4j.Element workScheduleElem = xmlDoc.getRootElement();
                if (workScheduleElem != null) {
                    org.dom4j.Element scheduleElem = workScheduleElem.element("Schedule");
                    if (scheduleElem != null) {
                        sScheduleType = checkString(scheduleElem.attributeValue("type"));

                        if (sScheduleType.equalsIgnoreCase("day")) {
                            sScheduleHours = checkString(scheduleElem.elementText("HoursPerDay"));
                        } else if (sScheduleType.equalsIgnoreCase("week")) {
                            org.dom4j.Element weekSchedule = scheduleElem.element("WeekSchedule");
                            if (weekSchedule != null) {
                                sScheduleHours = checkString(weekSchedule.elementText("HoursPerWeek"));
                            }
                        } else if (sScheduleType.equalsIgnoreCase("month")) {
                            sScheduleHours = checkString(scheduleElem.elementText("HoursPerMonth")) + " "
                                    + getTran("web.hr", "hours").toLowerCase();
                        }
                    }
                }
                workschedule.type = sScheduleType;
            }

            // one record
            table.addCell(createValueCell(ScreenHelper.getSQLDate(workschedule.begin), 1));
            table.addCell(createValueCell(ScreenHelper.getSQLDate(workschedule.end), 1));
            table.addCell(createValueCell(workschedule.fte + "%", 1));
            table.addCell(createValueCell(getTran("web.hr", sScheduleType + "Schedule")
                    + (sScheduleType.equals("week") ? " (" + getPredefinedWeekScheduleName(workschedule) + ")"
                            : ""),
                    2));
            table.addCell(createValueCell(getWorkscheduleDetails(workschedule), 4));
            table.addCell(createValueCell(sScheduleHours, 1));

            //addWorkscheduleDetails(table,workschedule);
        }
    } else {
        // no records found
        table.addCell(createValueCell(getTran("web", "noRecordsFound"), 10));
    }

    // add transaction to doc
    if (table.size() > 0) {
        doc.add(new Paragraph(" "));
        doc.add(table);
    }
}

From source file:be.mxs.common.util.pdf.general.dossierCreators.StaffDossierPDFCreator.java

private String getPredefinedWeekScheduleName(Workschedule workschedule) throws Exception {
    String sName = "";

    if (workschedule.type.equalsIgnoreCase("week")) {
        String sScheduleXml = checkString(workschedule.scheduleXml);
        if (sScheduleXml.length() > 0) {
            // parse weekSchedule from xml            
            SAXReader reader = new SAXReader(false);
            org.dom4j.Document document = reader.read(new StringReader(sScheduleXml));
            org.dom4j.Element workScheduleElem = document.getRootElement();

            org.dom4j.Element scheduleElem = workScheduleElem.element("Schedule");
            if (scheduleElem != null) {
                workschedule.scheduleXml = scheduleElem.asXML();
            }/*from  ww w  .  j a va 2s  . c  om*/
        }

        String sWeekSchedule = workschedule.getScheduleElementValue(workschedule.type, "WeekSchedule")
                .replaceAll("\"", "'");

        // parse weekSchedule from xml           
        SAXReader reader = new SAXReader(false);
        org.dom4j.Document document = reader.read(new StringReader(sWeekSchedule));
        org.dom4j.Element weekSchedule = document.getRootElement();

        Vector weekSchedules = parsePredefinedWeekSchedulesFromXMLConfigValue();
        PredefinedWeekSchedule schedule;
        for (int i = 0; i < weekSchedules.size(); i++) {
            schedule = (PredefinedWeekSchedule) weekSchedules.get(i);

            if (weekSchedule.attributeValue("scheduleType").toLowerCase().equals(schedule.id.toLowerCase())) {
                sName = schedule.type;
            }
        }
    }

    return sName;
}

From source file:be.mxs.common.util.pdf.general.dossierCreators.StaffDossierPDFCreator.java

private void addSalaryDetails(PdfPTable table, Salary salary) {
    PdfPTable detailsTable = new PdfPTable(10);
    detailsTable.setWidthPercentage(100);

    //*** XML 1 - benefits (multi-add) **************************
    if (salary.benefits.length() > 0) {
        detailsTable.addCell(createSubtitleCell(getTran("web.hr", "benefits"), 10));

        // header          
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "beginDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "endDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "period"), 2));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "type"), 3));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "amount"), 3));

        try {//w  w w. j ava2 s .  c  om
            // parse benefits from xml           
            SAXReader reader = new SAXReader(false);
            org.dom4j.Document document = reader.read(new StringReader(salary.benefits));
            org.dom4j.Element benefitsElem = document.getRootElement();

            if (benefitsElem != null) {
                String sTmpBegin, sTmpEnd, sTmpPeriod, sTmpType, sTmpAmount;
                org.dom4j.Element benefitElem;

                Iterator benefitsIter = benefitsElem.elementIterator("Benefit");
                while (benefitsIter.hasNext()) {
                    benefitElem = (org.dom4j.Element) benefitsIter.next();

                    sTmpBegin = checkString(benefitElem.elementText("Begin"));
                    sTmpEnd = checkString(benefitElem.elementText("End"));
                    sTmpPeriod = checkString(benefitElem.elementText("Period"));
                    sTmpType = checkString(benefitElem.elementText("Type"));
                    sTmpAmount = checkString(benefitElem.elementText("Amount"));

                    // one benefit
                    detailsTable.addCell(createValueCell(sTmpBegin, 1));
                    detailsTable.addCell(createValueCell(sTmpEnd, 1));
                    detailsTable.addCell(createValueCell(getTran("hr.salary.period", sTmpPeriod), 2));
                    detailsTable.addCell(createValueCell(getTran("hr.salary.benefit.type", sTmpType), 3));

                    cell = createValueCell(
                            sTmpAmount + " " + MedwanQuery.getInstance().getConfigParam("currency", ""), 3);
                    cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
                    detailsTable.addCell(cell);
                }
            }
        } catch (Exception e) {
            Debug.printStackTrace(e);
        }
    }

    //*** XML 2 - bonuses (multi-add) **************************        
    if (salary.bonuses.length() > 0) {
        table.addCell(createSubtitleCell(getTran("web.hr", "bonuses"), 10));

        // header
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "beginDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "endDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "period"), 2));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "type"), 2));
        detailsTable.addCell(createHeaderCell(getTran("web", "percentage"), 2));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "amount"), 2));

        try {
            // parse bonuses from xml           
            SAXReader reader = new SAXReader(false);
            org.dom4j.Document document = reader.read(new StringReader(salary.bonuses));
            org.dom4j.Element bonusesElem = document.getRootElement();

            if (bonusesElem != null) {
                String sTmpBegin, sTmpEnd, sTmpPeriod, sTmpType, sTmpPercentage, sTmpAmount;
                org.dom4j.Element bonusElem;

                Iterator bonusesIter = bonusesElem.elementIterator("Bonus");
                while (bonusesIter.hasNext()) {
                    bonusElem = (org.dom4j.Element) bonusesIter.next();

                    sTmpBegin = checkString(bonusElem.elementText("Begin"));
                    sTmpEnd = checkString(bonusElem.elementText("End"));
                    sTmpPeriod = checkString(bonusElem.elementText("Period"));
                    sTmpType = checkString(bonusElem.elementText("Type"));
                    sTmpPercentage = checkString(bonusElem.elementText("Percentage"));
                    sTmpAmount = checkString(bonusElem.elementText("Amount"));

                    // one record
                    detailsTable.addCell(createValueCell(sTmpBegin, 1));
                    detailsTable.addCell(createValueCell(sTmpEnd, 1));
                    detailsTable.addCell(createValueCell(sTmpPeriod, 2));
                    detailsTable.addCell(createValueCell(sTmpType, 2));
                    detailsTable.addCell(createValueCell(sTmpPercentage + "%", 2));

                    cell = createValueCell(
                            sTmpAmount + " " + MedwanQuery.getInstance().getConfigParam("currency", ""), 2);
                    cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
                    detailsTable.addCell(cell);
                }
            }
        } catch (Exception e) {
            Debug.printStackTrace(e);
        }
    }

    //*** XML 3 - otherIncome (multi-add) ***********************
    if (salary.otherIncome.length() > 0) {
        table.addCell(createSubtitleCell(getTran("web.hr", "otherIncome"), 10));

        // header
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "beginDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "endDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "period"), 2));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "type"), 3));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "amount"), 3));

        try {
            // parse otherIncome from xml           
            SAXReader reader = new SAXReader(false);
            org.dom4j.Document document = reader.read(new StringReader(salary.otherIncome));
            org.dom4j.Element benefitsElem = document.getRootElement();

            if (benefitsElem != null) {
                String sTmpBegin, sTmpEnd, sTmpPeriod, sTmpType, sTmpAmount;
                org.dom4j.Element otherIncomeElem;

                Iterator otherIncomesIter = benefitsElem.elementIterator("OtherIncome");
                while (otherIncomesIter.hasNext()) {
                    otherIncomeElem = (org.dom4j.Element) otherIncomesIter.next();

                    sTmpBegin = checkString(otherIncomeElem.elementText("Begin"));
                    sTmpEnd = checkString(otherIncomeElem.elementText("End"));
                    sTmpPeriod = checkString(otherIncomeElem.elementText("Period"));
                    sTmpType = checkString(otherIncomeElem.elementText("Type"));
                    sTmpAmount = checkString(otherIncomeElem.elementText("Amount"));

                    // one record
                    detailsTable.addCell(createValueCell(sTmpBegin, 1));
                    detailsTable.addCell(createValueCell(sTmpEnd, 1));
                    detailsTable.addCell(createValueCell(sTmpPeriod, 2));
                    detailsTable.addCell(createValueCell(sTmpType, 3));

                    cell = createValueCell(
                            sTmpAmount + " " + MedwanQuery.getInstance().getConfigParam("currency", ""), 3);
                    cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
                    detailsTable.addCell(cell);
                }
            }
        } catch (Exception e) {
            Debug.printStackTrace(e);
        }
    }

    //*** XML 4 - deductions (multi-add) ************************
    if (salary.deductions.length() > 0) {
        detailsTable.addCell(createSubtitleCell(getTran("web.hr", "deductions"), 10));

        // header
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "beginDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "endDate"), 1));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "period"), 2));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "type"), 3));
        detailsTable.addCell(createHeaderCell(getTran("web.hr", "amount"), 3));

        try {
            // parse deductions from xml           
            SAXReader reader = new SAXReader(false);
            org.dom4j.Document document = reader.read(new StringReader(salary.deductions));
            org.dom4j.Element deductionsElem = document.getRootElement();

            if (deductionsElem != null) {
                String sTmpBegin, sTmpEnd, sTmpPeriod, sTmpType, sTmpAmount;
                org.dom4j.Element deductionElem;

                Iterator deductionsIter = deductionsElem.elementIterator("Deduction");
                while (deductionsIter.hasNext()) {
                    deductionElem = (org.dom4j.Element) deductionsIter.next();

                    sTmpBegin = checkString(deductionElem.elementText("Begin"));
                    sTmpEnd = checkString(deductionElem.elementText("End"));
                    sTmpPeriod = checkString(deductionElem.elementText("Period"));
                    sTmpType = checkString(deductionElem.elementText("Type"));
                    sTmpAmount = checkString(deductionElem.elementText("Amount"));

                    // one record
                    detailsTable.addCell(createValueCell(sTmpBegin, 1));
                    detailsTable.addCell(createValueCell(sTmpEnd, 1));
                    detailsTable.addCell(createValueCell(sTmpPeriod, 2));
                    detailsTable.addCell(createValueCell(sTmpType, 3));

                    cell = createValueCell(
                            sTmpAmount + " " + MedwanQuery.getInstance().getConfigParam("currency", ""), 3);
                    cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
                    detailsTable.addCell(cell);
                }
            }
        } catch (Exception e) {
            Debug.printStackTrace(e);
        }
    }

    if (detailsTable.size() > 0) {
        table.addCell(emptyCell(3));
        cell = createCell(new PdfPCell(detailsTable), table.getNumberOfColumns() - 3, PdfPCell.ALIGN_CENTER,
                PdfPCell.BOX);
        cell.setPadding(2);
        table.addCell(cell);
    }
}

From source file:be.mxs.common.util.pdf.general.dossierCreators.StaffDossierPDFCreator.java

private void displayWeekSchedule(PdfPTable table, Workschedule schedule) throws Exception {
    String sScheduleXml = checkString(schedule.scheduleXml);
    if (sScheduleXml.length() > 0) {
        // parse weekSchedule from xml            
        SAXReader reader = new SAXReader(false);
        org.dom4j.Document document = reader.read(new StringReader(sScheduleXml));
        org.dom4j.Element workScheduleElem = document.getRootElement();

        // attribute : type
        org.dom4j.Element scheduleElem = workScheduleElem.element("Schedule");
        if (scheduleElem != null) {
            schedule.scheduleXml = scheduleElem.asXML();
        }//from  w w  w.ja v  a2 s  . c  o  m
    }

    String sWeekSchedule = schedule.getScheduleElementValue(schedule.type, "WeekSchedule").replaceAll("\"",
            "'");

    // parse weekSchedule from xml           
    SAXReader reader = new SAXReader(false);
    org.dom4j.Document document = reader.read(new StringReader(sWeekSchedule));
    org.dom4j.Element weekSchedule = document.getRootElement();

    displayTimeblocks(table, parseWeekschedule(weekSchedule));
}

From source file:be.mxs.common.util.pdf.general.dossierCreators.StaffDossierPDFCreator.java

private String getWeekScheduleDetails(Workschedule schedule) throws Exception {
    String sDetails = "";

    String sScheduleXml = checkString(schedule.scheduleXml);
    if (sScheduleXml.length() > 0) {
        // parse weekSchedule from xml            
        SAXReader reader = new SAXReader(false);
        org.dom4j.Document document = reader.read(new StringReader(sScheduleXml));
        org.dom4j.Element workScheduleElem = document.getRootElement();

        // attribute : type
        org.dom4j.Element scheduleElem = workScheduleElem.element("Schedule");
        if (scheduleElem != null) {
            schedule.scheduleXml = scheduleElem.asXML();
        }/*www .  jav  a2s . c  om*/
    }

    String sWeekSchedule = schedule.getScheduleElementValue(schedule.type, "WeekSchedule").replaceAll("\"",
            "'");

    // parse weekSchedule from xml           
    SAXReader reader = new SAXReader(false);
    org.dom4j.Document document = reader.read(new StringReader(sWeekSchedule));
    org.dom4j.Element weekSchedule = document.getRootElement();

    sDetails = getTimeblocksDetails(parseWeekschedule(weekSchedule));

    return sDetails;
}

From source file:be.mxs.common.util.pdf.general.dossierCreators.StaffDossierPDFCreator.java

private Vector parsePredefinedWeekSchedulesFromXMLConfigValue() {
    Vector schedules = new Vector();

    // read xml containing predefined weekSchedules
    try {// w ww .  j ava2s  . c  om
        SAXReader xmlReader = new SAXReader();
        String sXMLValue = MedwanQuery.getInstance().getConfigString("defaultWeekschedules");
        org.dom4j.Document document = xmlReader.read(new StringReader(sXMLValue));

        if (document != null) {
            org.dom4j.Element root = document.getRootElement();
            Iterator scheduleElems = root.elementIterator("WeekSchedule");

            PredefinedWeekSchedule schedule;
            org.dom4j.Element scheduleElem, timeBlockElem;
            while (scheduleElems.hasNext()) {
                schedule = new PredefinedWeekSchedule();

                scheduleElem = (org.dom4j.Element) scheduleElems.next();
                schedule.id = scheduleElem.attributeValue("id");
                schedule.type = scheduleElem.attributeValue("scheduleType");
                schedule.xml = scheduleElem.asXML();

                // timeblocks
                Iterator timeBlockElems = scheduleElem.element("TimeBlocks").elementIterator("TimeBlock");
                while (timeBlockElems.hasNext()) {
                    timeBlockElem = (org.dom4j.Element) timeBlockElems.next();

                    TimeBlock timeBlock = new TimeBlock();
                    timeBlock.id = checkString(timeBlockElem.attributeValue("id"));
                    timeBlock.dayIdx = checkString(timeBlockElem.elementText("DayIdx"));
                    timeBlock.beginHour = checkString(timeBlockElem.elementText("BeginHour"));
                    timeBlock.endHour = checkString(timeBlockElem.elementText("EndHour"));

                    schedule.timeBlocks.add(timeBlock);
                }

                Collections.sort(schedule.timeBlocks); // on day     
                schedules.add(schedule);
            }
        }
    } catch (Exception e) {
        if (Debug.enabled)
            e.printStackTrace();
        Debug.printProjectErr(e, Thread.currentThread().getStackTrace());
    }

    return schedules;
}