public void startElement()

in src/main/java/org/apache/maven/plugins/changelog/ChangeLogHandler.java [136:197]


    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
        bufData = "";

        if ("file".equals(qName)) {
            bufFile = new ChangeFile("");
        } else if ("changelog-entry".equals(qName)) {
            bufEntry = new ChangeSet();
        } else if ("date".equals(qName)) {
            currentPattern = attributes.getValue("pattern");
            if (currentPattern == null) {
                currentPattern = "yyyy-MM-dd";
            }
        } else if ("time".equals(qName)) {
            currentPattern = attributes.getValue("pattern");
            if (currentPattern == null) {
                currentPattern = "HH:mm:ss";
            }
        } else if ("changeset".equals(qName)) {
            bufEntries = new LinkedList<>();

            currentPattern = attributes.getValue("datePattern");
            if (currentPattern == null) {
                currentPattern = "yyyy-MM-dd";
            }

            SimpleDateFormat formatter = new SimpleDateFormat(currentPattern);

            String start = attributes.getValue("start");

            String end = attributes.getValue("end");

            Date startDate = null;

            Date endDate = null;

            if (start != null) {
                try {
                    startDate = formatter.parse(start);
                } catch (ParseException e) {
                    throw new SAXException("Can't parse start date '" + start + "'.", e);
                }
            }

            if (end != null) {
                try {
                    endDate = formatter.parse(end);
                } catch (ParseException e) {
                    throw new SAXException("Can't parse end date '" + end + "'.", e);
                }
            }

            bufSet = new ChangeLogSet(bufEntries, startDate, endDate);
            String startVersion = attributes.getValue("startVersion");
            if (startVersion != null) {
                bufSet.setStartVersion(new ScmTag(startVersion));
            }
            String endVersion = attributes.getValue("endVersion");
            if (endVersion != null) {
                bufSet.setEndVersion(new ScmTag(endVersion));
            }
        }
    }