Mon, 21 Dec 2020 18:29:34 +0100
major refactoring of DAO architecture - also fixes #114
package de.uapcore.lightpit.viewmodel; import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension; import com.vladsch.flexmark.ext.tables.TablesExtension; import com.vladsch.flexmark.html.HtmlRenderer; import com.vladsch.flexmark.parser.Parser; import com.vladsch.flexmark.util.data.MutableDataSet; import de.uapcore.lightpit.entities.Issue; import de.uapcore.lightpit.entities.IssueComment; import java.util.Arrays; import java.util.List; public class IssueDetailView extends ProjectView { private Issue issue; private List<IssueComment> comments; public void setIssue(Issue issue) { this.issue = issue; } public Issue getIssue() { return issue; } public List<IssueComment> getComments() { return comments; } public void setComments(List<IssueComment> comments) { this.comments = comments; } public void processMarkdown() { final var options = new MutableDataSet() .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create())) .toImmutable(); final var parser = Parser.builder(options).build(); final var renderer = HtmlRenderer.builder(options).build(); issue.setDescription(renderer.render(parser.parse(issue.getDescription()))); for (var comment : comments) { comment.setComment(renderer.render(parser.parse(comment.getComment()))); } } }