From 761f40fd62372265708ed5f8f5afc6fce20304ee Mon Sep 17 00:00:00 2001 From: Michael Hauck Date: Mon, 18 Dec 2017 15:01:38 +0100 Subject: [PATCH] Fixing Model and Parser --- .../se/bjurr/gitchangelog/api/model/Issue.java | 14 ++++++++++++++ .../gitchangelog/internal/issues/IssueParser.java | 9 ++++++++- .../gitchangelog/internal/model/ParsedIssue.java | 14 +++++++++++++- .../gitchangelog/internal/model/Transformer.java | 2 ++ src/test/resources/jira-issue-jir-1234.json | 2 +- src/test/resources/jira-issue-jir-5262.json | 2 +- 6 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/main/java/se/bjurr/gitchangelog/api/model/Issue.java b/src/main/java/se/bjurr/gitchangelog/api/model/Issue.java index 90cab85f..a7ca2e32 100644 --- a/src/main/java/se/bjurr/gitchangelog/api/model/Issue.java +++ b/src/main/java/se/bjurr/gitchangelog/api/model/Issue.java @@ -11,6 +11,7 @@ import se.bjurr.gitchangelog.api.model.interfaces.ICommits; public class Issue implements ICommits, IAuthors, Serializable { + private static final long serialVersionUID = -7571341639024417199L; private final List commits; private final List authors; @@ -37,6 +38,8 @@ public class Issue implements ICommits, IAuthors, Serializable { private final boolean hasType; + private final boolean hasDescription; + private final String description; /** Labels on the issue, for GitHub it may be bug, enhancement, ... */ private final List labels; @@ -48,6 +51,7 @@ public Issue( String name, String title, String issue, + String description, String link, String type, List labels) { @@ -57,6 +61,8 @@ public Issue( this.name = checkNotNull(name, "name"); this.title = nullToEmpty(title); this.hasTitle = !isNullOrEmpty(title); + this.description = nullToEmpty(description); + this.hasDescription = !isNullOrEmpty(description); this.issue = nullToEmpty(issue); this.hasIssue = !isNullOrEmpty(issue); this.link = nullToEmpty(link); @@ -107,6 +113,14 @@ public String getType() { return type; } + public boolean hasDescription() { + return hasDescription; + } + + public String getDescription() { + return description; + } + @Override public List getAuthors() { return authors; diff --git a/src/main/java/se/bjurr/gitchangelog/internal/issues/IssueParser.java b/src/main/java/se/bjurr/gitchangelog/internal/issues/IssueParser.java index 707fc6d5..b0fd9ed4 100644 --- a/src/main/java/se/bjurr/gitchangelog/internal/issues/IssueParser.java +++ b/src/main/java/se/bjurr/gitchangelog/internal/issues/IssueParser.java @@ -31,6 +31,7 @@ import se.bjurr.gitchangelog.internal.settings.SettingsIssue; public class IssueParser { + private static final Logger LOG = getLogger(IssueParser.class); private final List commits; @@ -96,7 +97,7 @@ public List parseForIssues(final boolean useIntegrationIfConfigured final String issueType = null; final List labels = null; final ParsedIssue noIssue = - new ParsedIssue(settings.getNoIssueName(), issue, link, title, issueType, labels); + new ParsedIssue(settings.getNoIssueName(), issue, "", link, title, issueType, labels); if (!parsedIssuePerIssue.containsKey(noIssue.getName())) { parsedIssuePerIssue.put(noIssue.getName(), noIssue); } @@ -132,6 +133,7 @@ private ParsedIssue createParsedIssue( return new ParsedIssue( // issuePattern.getName(), // matchedIssueString, // + "", link, // title, // issueType, // @@ -179,6 +181,7 @@ private ParsedIssue createParsedIssue( return new ParsedIssue( // issuePattern.getName(), // matchedIssue, // + "", link, // title, // issueType, // @@ -189,6 +192,7 @@ private ParsedIssue createParsedIssue( final JiraClient jiraClient, final SettingsIssue issuePattern, final String matchedIssue) { String link = ""; String title = ""; + String desc = ""; String issueType = null; List labels = null; try { @@ -198,6 +202,7 @@ private ParsedIssue createParsedIssue( title = jiraIssue.getTitle(); issueType = jiraIssue.getIssueType(); labels = jiraIssue.getLabels(); + desc = jiraIssue.getDescription(); } } catch (final GitChangelogIntegrationException e) { LOG.error(matchedIssue, e); @@ -205,6 +210,7 @@ private ParsedIssue createParsedIssue( return new ParsedIssue( // issuePattern.getName(), // matchedIssue, // + desc, link, // title, // issueType, // @@ -234,6 +240,7 @@ private ParsedIssue createParsedIssue( return new ParsedIssue( // issuePattern.getName(), // matchedIssue, // + "", link, // title, // issueType, // diff --git a/src/main/java/se/bjurr/gitchangelog/internal/model/ParsedIssue.java b/src/main/java/se/bjurr/gitchangelog/internal/model/ParsedIssue.java index 9afc6d15..0c4bb560 100644 --- a/src/main/java/se/bjurr/gitchangelog/internal/model/ParsedIssue.java +++ b/src/main/java/se/bjurr/gitchangelog/internal/model/ParsedIssue.java @@ -18,15 +18,23 @@ public class ParsedIssue implements IGitCommitReferer { private final String issue; private final String issueType; private final List labels; + private final String description; public ParsedIssue( - String name, String issue, String link, String title, String issueType, List labels) { + String name, + String issue, + String description, + String link, + String title, + String issueType, + List labels) { this.name = checkNotNull(name, "name"); this.title = emptyToNull(title); this.issue = issue; this.link = link; this.issueType = issueType; this.labels = labels; + this.description = description; } public Optional getTitle() { @@ -81,6 +89,10 @@ public String getIssue() { return issue; } + public String getDescription() { + return description; + } + public void addCommits(List commits) { this.gitCommits.addAll(commits); } diff --git a/src/main/java/se/bjurr/gitchangelog/internal/model/Transformer.java b/src/main/java/se/bjurr/gitchangelog/internal/model/Transformer.java index 75910c43..de1f7e10 100644 --- a/src/main/java/se/bjurr/gitchangelog/internal/model/Transformer.java +++ b/src/main/java/se/bjurr/gitchangelog/internal/model/Transformer.java @@ -154,6 +154,7 @@ private List reduceParsedIssuesToOnlyGitCommits( new ParsedIssue( candidate.getName(), candidate.getIssue(), + candidate.getDescription(), candidate.getLink(), candidate.getTitle().orNull(), candidate.getIssueType(), @@ -209,6 +210,7 @@ public Issue apply(ParsedIssue input) { input.getName(), // input.getTitle().or(""), // input.getIssue(), // + input.getDescription(), input.getLink(), // input.getIssueType(), // input.getLabels()); diff --git a/src/test/resources/jira-issue-jir-1234.json b/src/test/resources/jira-issue-jir-1234.json index de60bbfc..17098a8e 100644 --- a/src/test/resources/jira-issue-jir-1234.json +++ b/src/test/resources/jira-issue-jir-1234.json @@ -11,6 +11,6 @@ "labels":[ "label1", "label2" - ],"description": "Description of Issue 1234,..." + ],"description": "Description" } } \ No newline at end of file diff --git a/src/test/resources/jira-issue-jir-5262.json b/src/test/resources/jira-issue-jir-5262.json index 1039dd3c..c27d00ec 100644 --- a/src/test/resources/jira-issue-jir-5262.json +++ b/src/test/resources/jira-issue-jir-5262.json @@ -10,6 +10,6 @@ }, "labels":[ - ],"description": "Description of Issue 5262,..." + ],"description": "Description" } } \ No newline at end of file