.append(changelog.project().value()) .append(" ") .append(r.version().toVersionString())
private void onStartChangelog( final Attributes attributes) { this.elements.push(CurrentElement.CHANGELOG); for (int index = 0; index < attributes.getLength(); ++index) { switch (attributes.getLocalName(index)) { case "project": { this.changelog_builder.setProject( CProjectName.of(attributes.getValue(index))); break; } default: { break; } } } }
@Override public void write( final CChangelog changelog) throws IOException { Objects.requireNonNull(changelog, "Changelog"); try { final DocumentBuilder doc_builder = this.doc_factory.newDocumentBuilder(); final Document doc = doc_builder.newDocument(); final Element root = doc.createElementNS(XHTML_NS, "table"); root.setAttribute( "summary", "Changes for project " + changelog.project().value()); root.setAttribute("class", "changelog"); for (final CRelease release : changelog.releases().values().reverse()) { this.writeRelease(changelog, doc, root, release); } doc.appendChild(root); this.serializeDocument(doc); } catch (final ParserConfigurationException e) { throw new IOException(e); } }
private void writeRelease( final CChangelog changelog, final Document doc, final Element releases, final CRelease release) { row( doc, releases, this.date_terse_formatter.format(release.date().toLocalDate()), List.of(doc.createTextNode( new StringBuilder() .append("Release: ") .append(changelog.project().value()) .append(" ") .append(release.version().toVersionString()) .toString()))); for (final CChange change : release.changes()) { row( doc, releases, this.date_terse_formatter.format(change.date().toLocalDate()), this.transformChange(changelog, doc, release, change)); } }
root.setAttribute("project", changelog.project().value());
this.writer.append(changelog.project().value()); this.writer.append(" "); this.writer.append(release.version().toVersionString());