src/main/java/de/uapcore/lightpit/viewmodel/IssueDetailView.java

changeset 184
e8eecee6aadf
parent 162
2adc8623dd89
equal deleted inserted replaced
183:61669abf277f 184:e8eecee6aadf
1 package de.uapcore.lightpit.viewmodel;
2
3 import com.vladsch.flexmark.ext.gfm.strikethrough.StrikethroughExtension;
4 import com.vladsch.flexmark.ext.tables.TablesExtension;
5 import com.vladsch.flexmark.html.HtmlRenderer;
6 import com.vladsch.flexmark.parser.Parser;
7 import com.vladsch.flexmark.util.data.MutableDataSet;
8 import de.uapcore.lightpit.entities.Issue;
9 import de.uapcore.lightpit.entities.IssueComment;
10
11 import java.util.Arrays;
12 import java.util.List;
13
14 public class IssueDetailView extends ProjectView {
15 private Issue issue;
16
17 private List<IssueComment> comments;
18
19 public void setIssue(Issue issue) {
20 this.issue = issue;
21 }
22
23 public Issue getIssue() {
24 return issue;
25 }
26
27 public List<IssueComment> getComments() {
28 return comments;
29 }
30
31 public void setComments(List<IssueComment> comments) {
32 this.comments = comments;
33 }
34
35 public void processMarkdown() {
36 final var options = new MutableDataSet()
37 .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create(), StrikethroughExtension.create()))
38 .toImmutable();
39 final var parser = Parser.builder(options).build();
40 final var renderer = HtmlRenderer.builder(options).build();
41
42 issue.setDescription(renderer.render(parser.parse(issue.getDescription())));
43 for (var comment : comments) {
44 comment.setComment(renderer.render(parser.parse(comment.getComment())));
45 }
46 }
47 }

mercurial