Skip to content

Commit 00ce6b5

Browse files
committed
feat: adjustments after merge (refs #106)
1 parent afb929c commit 00ce6b5

17 files changed

+210
-225
lines changed

src/main/java/se/bjurr/gitchangelog/api/GitChangelogApi.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -465,9 +465,7 @@ public GitChangelogApi withJiraUsername(final String string) {
465465
return this;
466466
}
467467

468-
/**
469-
* Pattern to recognize Redmine:s. <code>#([0-9]+)</code>
470-
*/
468+
/** Pattern to recognize Redmine:s. <code>#([0-9]+)</code> */
471469
public GitChangelogApi withRedmineIssuePattern(final String redmineIssuePattern) {
472470
this.settings.setRedmineIssuePattern(redmineIssuePattern);
473471
return this;

src/main/java/se/bjurr/gitchangelog/api/model/Issue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITHUB;
55
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITLAB;
66
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.JIRA;
7-
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
87
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.NOISSUE;
8+
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
99
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkNotNull;
1010
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkState;
1111
import static se.bjurr.gitchangelog.internal.util.Preconditions.isNullOrEmpty;

src/main/java/se/bjurr/gitchangelog/api/model/IssueType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITHUB;
55
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITLAB;
66
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.JIRA;
7-
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
87
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.NOISSUE;
8+
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
99
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkNotNull;
1010
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkState;
1111

src/main/java/se/bjurr/gitchangelog/internal/integrations/redmine/DefaultRedmineClient.java

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,51 @@
99

1010
public class DefaultRedmineClient extends RedmineClient {
1111

12-
private RestClient client;
13-
14-
public DefaultRedmineClient(final String api) {
15-
super(api);
16-
this.client = new RestClient();
12+
private RestClient client;
13+
14+
public DefaultRedmineClient(final String api) {
15+
super(api);
16+
this.client = new RestClient();
17+
}
18+
19+
@Override
20+
public RedmineClient withBasicCredentials(final String username, final String password) {
21+
this.client = this.client.withBasicAuthCredentials(username, password);
22+
return this;
23+
}
24+
25+
@Override
26+
public RedmineClient withTokenCredentials(final String token) {
27+
String authToken;
28+
try {
29+
authToken = Base64.getEncoder().encodeToString((token + ":changelog").getBytes("UTF-8"));
30+
} catch (final UnsupportedEncodingException e) {
31+
throw new RuntimeException(e);
1732
}
18-
19-
@Override
20-
public RedmineClient withBasicCredentials(final String username, final String password) {
21-
this.client = this.client.withBasicAuthCredentials(username, password);
22-
return this;
33+
this.client = this.client.withTokenAuthCredentials(authToken);
34+
return this;
35+
}
36+
37+
@Override
38+
public RedmineClient withHeaders(final Map<String, String> headers) {
39+
this.client = this.client.withHeaders(headers);
40+
return this;
41+
}
42+
43+
@Override
44+
public Optional<RedmineIssue> getIssue(final String issue)
45+
throws GitChangelogIntegrationException {
46+
final String endpoint = this.getEndpoint(issue);
47+
final Optional<String> json = this.client.get(endpoint);
48+
if (json.isPresent()) {
49+
final String jsonString = json.get();
50+
try {
51+
final RedmineIssue redmineIssue = this.toRedmineIssue(issue, jsonString);
52+
return Optional.of(redmineIssue);
53+
} catch (final Exception e) {
54+
throw new GitChangelogIntegrationException("Unable to parse:\n" + jsonString, e);
55+
}
2356
}
24-
25-
@Override
26-
public RedmineClient withTokenCredentials(final String token) {
27-
String authToken;
28-
try {
29-
authToken = Base64.getEncoder().encodeToString((token + ":changelog" ).getBytes("UTF-8"));
30-
} catch (final UnsupportedEncodingException e) {
31-
throw new RuntimeException(e);
32-
}
33-
this.client = this.client.withTokenAuthCredentials(authToken);
34-
return this;
35-
}
36-
37-
@Override
38-
public RedmineClient withHeaders(final Map<String, String> headers) {
39-
this.client = this.client.withHeaders(headers);
40-
return this;
41-
}
42-
43-
@Override
44-
public Optional<RedmineIssue> getIssue(final String issue) throws GitChangelogIntegrationException {
45-
final String endpoint = this.getEndpoint(issue);
46-
final Optional<String> json = this.client.get(endpoint);
47-
if (json.isPresent()) {
48-
final String jsonString = json.get();
49-
try {
50-
final RedmineIssue redmineIssue = this.toRedmineIssue(issue, jsonString);
51-
return Optional.of(redmineIssue);
52-
} catch (final Exception e) {
53-
throw new GitChangelogIntegrationException("Unable to parse:\n" + jsonString, e);
54-
}
55-
}
56-
return Optional.empty();
57-
}
58-
57+
return Optional.empty();
58+
}
5959
}

src/main/java/se/bjurr/gitchangelog/internal/integrations/redmine/RedmineClient.java

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,50 @@
44

55
import java.util.Map;
66
import java.util.Optional;
7-
87
import se.bjurr.gitchangelog.api.exceptions.GitChangelogIntegrationException;
98

109
public abstract class RedmineClient {
11-
private final String api;
12-
13-
public RedmineClient(final String api) {
14-
if (api.endsWith("/")) {
15-
this.api = api.substring(0, api.length() - 1);
16-
} else {
17-
this.api = api;
18-
}
19-
}
10+
private final String api;
2011

21-
public String getApi() {
22-
return this.api;
12+
public RedmineClient(final String api) {
13+
if (api.endsWith("/")) {
14+
this.api = api.substring(0, api.length() - 1);
15+
} else {
16+
this.api = api;
2317
}
18+
}
2419

25-
protected String getEndpoint(final String issue) {
26-
final String issueNo = getIssueNumber(issue);
27-
final String endpoint = this.api + "/issues/" + issueNo + ".json";
28-
return endpoint;
29-
}
20+
public String getApi() {
21+
return this.api;
22+
}
3023

31-
protected RedmineIssue toRedmineIssue(final String issue, final String json) {
32-
final String issueNo = getIssueNumber(issue);
33-
final String title = read(json, "$.issue.subject");
34-
final String description = read(json, "$.issue.description");
35-
final String type = read(json, "$.issue.tracker.name");
36-
final String link = this.api + "/issues/" + issueNo;
24+
protected String getEndpoint(final String issue) {
25+
final String issueNo = getIssueNumber(issue);
26+
final String endpoint = this.api + "/issues/" + issueNo + ".json";
27+
return endpoint;
28+
}
3729

38-
final RedmineIssue redmineIssue = new RedmineIssue(title, description, link, issue, type);
39-
return redmineIssue;
40-
}
30+
protected RedmineIssue toRedmineIssue(final String issue, final String json) {
31+
final String issueNo = getIssueNumber(issue);
32+
final String title = read(json, "$.issue.subject");
33+
final String description = read(json, "$.issue.description");
34+
final String type = read(json, "$.issue.tracker.name");
35+
final String link = this.api + "/issues/" + issueNo;
4136

42-
protected String getIssueNumber( String issue ){
43-
return issue.startsWith("#") ? issue.substring(1) : issue;
44-
}
37+
final RedmineIssue redmineIssue = new RedmineIssue(title, description, link, issue, type);
38+
return redmineIssue;
39+
}
40+
41+
protected String getIssueNumber(String issue) {
42+
return issue.startsWith("#") ? issue.substring(1) : issue;
43+
}
4544

46-
public abstract RedmineClient withBasicCredentials(String username, String password);
45+
public abstract RedmineClient withBasicCredentials(String username, String password);
4746

48-
public abstract RedmineClient withTokenCredentials(String token);
47+
public abstract RedmineClient withTokenCredentials(String token);
4948

50-
public abstract RedmineClient withHeaders(Map<String, String> headers);
49+
public abstract RedmineClient withHeaders(Map<String, String> headers);
5150

52-
public abstract Optional<RedmineIssue> getIssue(String matched) throws GitChangelogIntegrationException;
51+
public abstract Optional<RedmineIssue> getIssue(String matched)
52+
throws GitChangelogIntegrationException;
5353
}

src/main/java/se/bjurr/gitchangelog/internal/integrations/redmine/RedmineClientFactory.java

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,21 @@
22

33
public class RedmineClientFactory {
44

5-
private static RedmineClient redmineClient;
5+
private static RedmineClient redmineClient;
66

7-
public static void reset() {
8-
redmineClient = null;
9-
}
7+
public static void reset() {
8+
redmineClient = null;
9+
}
1010

11-
/**
12-
* The Bitbucket Server plugin uses this method to inject the Atlassian Client.
13-
*/
14-
public static void setRedmineClient(final RedmineClient redmineClient) {
15-
RedmineClientFactory.redmineClient = redmineClient;
16-
}
11+
/** The Bitbucket Server plugin uses this method to inject the Atlassian Client. */
12+
public static void setRedmineClient(final RedmineClient redmineClient) {
13+
RedmineClientFactory.redmineClient = redmineClient;
14+
}
1715

18-
public static RedmineClient createRedmineClient(final String apiUrl) {
19-
if (redmineClient != null) {
20-
return redmineClient;
21-
}
22-
return new DefaultRedmineClient(apiUrl);
16+
public static RedmineClient createRedmineClient(final String apiUrl) {
17+
if (redmineClient != null) {
18+
return redmineClient;
2319
}
24-
20+
return new DefaultRedmineClient(apiUrl);
21+
}
2522
}
Lines changed: 48 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,52 @@
11
package se.bjurr.gitchangelog.internal.integrations.redmine;
22

33
public class RedmineIssue {
4-
private final String title;
5-
private final String link;
6-
private final String issue;
7-
private final String issueType;
8-
private final String description;
9-
10-
11-
public RedmineIssue(String title, String description, String link, String issue, String issueType ) {
12-
this.title = title;
13-
this.link = link;
14-
this.issue = issue;
15-
this.issueType = issueType;
16-
this.description = description;
17-
}
18-
19-
public String getIssue() {
20-
return issue;
21-
}
22-
23-
public String getLink() {
24-
return link;
25-
}
26-
27-
public String getTitle() {
28-
return title;
29-
}
30-
31-
public String getIssueType() {
32-
return issueType;
33-
}
34-
35-
public String getDescription() {
36-
37-
return description;
38-
}
39-
40-
@Override
41-
public String toString() {
42-
return "RedmineIssue [title=" + title + ", link=" + link + ", issue=" + issue + ", issueType=" + issueType + "]";
43-
}
4+
private final String title;
5+
private final String link;
6+
private final String issue;
7+
private final String issueType;
8+
private final String description;
9+
10+
public RedmineIssue(
11+
String title, String description, String link, String issue, String issueType) {
12+
this.title = title;
13+
this.link = link;
14+
this.issue = issue;
15+
this.issueType = issueType;
16+
this.description = description;
17+
}
18+
19+
public String getIssue() {
20+
return issue;
21+
}
22+
23+
public String getLink() {
24+
return link;
25+
}
26+
27+
public String getTitle() {
28+
return title;
29+
}
30+
31+
public String getIssueType() {
32+
return issueType;
33+
}
34+
35+
public String getDescription() {
36+
37+
return description;
38+
}
39+
40+
@Override
41+
public String toString() {
42+
return "RedmineIssue [title="
43+
+ title
44+
+ ", link="
45+
+ link
46+
+ ", issue="
47+
+ issue
48+
+ ", issueType="
49+
+ issueType
50+
+ "]";
51+
}
4452
}

src/main/java/se/bjurr/gitchangelog/internal/issues/IssueParser.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITHUB;
99
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITLAB;
1010
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.JIRA;
11-
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
1211
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.NOISSUE;
12+
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
1313

1414
import java.util.ArrayList;
1515
import java.util.HashMap;
@@ -60,9 +60,10 @@ public List<ParsedIssue> parseForIssues(final boolean useIntegrationIfConfigured
6060

6161
final GitHubHelper gitHubHelper = useIntegrationIfConfigured ? this.createGitHubClient() : null;
6262
final JiraClient jiraClient = useIntegrationIfConfigured ? this.createJiraClient() : null;
63-
final RedmineClient redmineClient = useIntegrationIfConfigured ? this.createRedmineClient() : null;
63+
final RedmineClient redmineClient =
64+
useIntegrationIfConfigured ? this.createRedmineClient() : null;
6465
final GitLabClient gitLabClient = useIntegrationIfConfigured ? this.createGitLabClient() : null;
65-
66+
6667
final List<SettingsIssue> patterns = new IssuesUtil(this.settings).getIssues();
6768

6869
for (final GitCommit gitCommit : this.commits) {
@@ -193,7 +194,8 @@ private JiraClient createJiraClient() {
193194
private RedmineClient createRedmineClient() {
194195
RedmineClient redmineClient = null;
195196
if (this.settings.getRedmineServer().isPresent()) {
196-
redmineClient = RedmineClientFactory.createRedmineClient(this.settings.getRedmineServer().get());
197+
redmineClient =
198+
RedmineClientFactory.createRedmineClient(this.settings.getRedmineServer().get());
197199
if (this.settings.getRedmineUsername().isPresent()) {
198200
redmineClient.withBasicCredentials(
199201
this.settings.getRedmineUsername().get(), this.settings.getRedminePassword().get());
@@ -271,7 +273,9 @@ private ParsedIssue createParsedIssue(
271273
}
272274

273275
private ParsedIssue createParsedIssue(
274-
final RedmineClient redmineClient, final SettingsIssue issuePattern, final String matchedIssue) {
276+
final RedmineClient redmineClient,
277+
final SettingsIssue issuePattern,
278+
final String matchedIssue) {
275279
String link = "";
276280
String title = "";
277281
String desc = "";
@@ -301,7 +305,6 @@ private ParsedIssue createParsedIssue(
301305
labels);
302306
}
303307

304-
305308
private ParsedIssue createParsedIssue(
306309
final GitHubHelper gitHubHelper,
307310
final SettingsIssue issuePattern,

0 commit comments

Comments
 (0)