this.date_formatter.format(change.date())); change.summary()); change.module().ifPresent( module -> e_change.setAttribute("module", module.value())); if (!change.backwardsCompatible()) { e_change.setAttribute("compatible", "false"); final List<CTicketID> change_tickets = change.tickets(); if (!change_tickets.isEmpty()) { final Element tickets =
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)); } }
Parser( final URI in_uri, final InputStream in_stream, final Consumer<CParseError> in_receiver, final XMLReader in_parser) { this.uri = Objects.requireNonNull(in_uri, "URI"); this.stream = Objects.requireNonNull(in_stream, "Stream"); this.receiver = Objects.requireNonNull(in_receiver, "Receiver"); this.parser = Objects.requireNonNull(in_parser, "Parser"); this.changelog_builder = CChangelog.builder(); this.release_builder = CRelease.builder(); this.change_builder = CChange.builder(); this.ticket_system_builder = CTicketSystem.builder(); this.elements = new ArrayDeque<>(); this.date_format = CDateFormatters.newDateFormatter(); }
private List<Node> transformChange( final CChangelog changelog, final Document doc, final CRelease release, final CChange change) { List<Node> nodes = List.empty(); final StringBuilder sb = new StringBuilder(128); sb.append("Change: "); if (!change.backwardsCompatible()) { sb.append("(Backwards incompatible) "); } change.module().ifPresent(module -> { sb.append(module); sb.append(": "); }); sb.append(change.summary()); nodes = nodes.append(doc.createTextNode(sb.toString())); final List<CTicketID> tickets = change.tickets(); if (!tickets.isEmpty()) { nodes = nodes.append(doc.createTextNode(" (tickets: ")); nodes = nodes.appendAll( transformTickets(changelog, doc, release, tickets)); nodes = nodes.append(doc.createTextNode(")")); } return nodes; }
try { if (this.config.showDates()) { this.writer.append(this.date_formatter.format(change.date())); this.writer.append(" "); change.module().ifPresent(module -> { try { this.writer.append(module.value()); if (!change.backwardsCompatible()) { this.writer.append("(Backwards incompatible) "); this.writer.append(change.summary()); if (!change.tickets().isEmpty()) { if (change.tickets().size() == 1) { this.writer.append(" (Ticket: "); } else { change.tickets() .map(t -> "#" + t.value()) .collect(Collectors.joining(", ")));