Skip to content

Commit

Permalink
refactor(announce): Code cleanup in thread support for Twitter. Relat…
Browse files Browse the repository at this point in the history
…es to #853
  • Loading branch information
aalmiray committed Jul 18, 2022
1 parent ccde3f0 commit e63740f
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 20 deletions.
27 changes: 12 additions & 15 deletions core/jreleaser-model/src/main/java/org/jreleaser/model/Twitter.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,12 @@ public class Twitter extends AbstractAnnouncer<Twitter> {
public static final String TWITTER_CONSUMER_SECRET = "TWITTER_CONSUMER_SECRET";
public static final String TWITTER_ACCESS_TOKEN = "TWITTER_ACCESS_TOKEN";
public static final String TWITTER_ACCESS_TOKEN_SECRET = "TWITTER_ACCESS_TOKEN_SECRET";

private final List<String> statuses = new ArrayList<>();
private String consumerKey;
private String consumerSecret;
private String accessToken;
private String accessTokenSecret;
private String status;

private final List<String> statuses = new ArrayList<>();

private String statusTemplate;

public Twitter() {
Expand All @@ -70,8 +67,8 @@ public void merge(Twitter twitter) {
this.accessToken = merge(this.accessToken, twitter.accessToken);
this.accessTokenSecret = merge(this.accessTokenSecret, twitter.accessTokenSecret);
this.status = merge(this.status, twitter.status);
setStatuses(merge(this.statuses,twitter.statuses));
this.statusTemplate = merge(this.statusTemplate,twitter.statusTemplate);
setStatuses(merge(this.statuses, twitter.statuses));
this.statusTemplate = merge(this.statusTemplate, twitter.statusTemplate);
}

public String getResolvedStatus(JReleaserContext context) {
Expand All @@ -85,7 +82,7 @@ public String getResolvedStatusTemplate(JReleaserContext context, Map<String, Ob
Map<String, Object> props = context.fullProps();
applyTemplates(props, getResolvedExtraProperties());
props.put(KEY_TAG_NAME, context.getModel().getRelease().getGitService()
.getEffectiveTagName(context.getModel()));
.getEffectiveTagName(context.getModel()));
props.putAll(extraProps);

Path templatePath = context.getBasedir().resolve(statusTemplate);
Expand All @@ -94,7 +91,7 @@ public String getResolvedStatusTemplate(JReleaserContext context, Map<String, Ob
return applyTemplate(reader, props);
} catch (IOException e) {
throw new JReleaserException(RB.$("ERROR_unexpected_error_reading_template",
context.relativizeToBasedir(templatePath)));
context.relativizeToBasedir(templatePath)));
}
}

Expand Down Expand Up @@ -159,16 +156,16 @@ public void setStatus(String status) {
this.status = status;
}

public void setStatuses(List<String> statuses){
public List<String> getStatuses() {
return freezeWrap(statuses);
}

public void setStatuses(List<String> statuses) {
freezeCheck();
this.statuses.clear();
this.statuses.addAll(statuses);
}

public List<String> getStatuses() {
return freezeWrap(statuses);
}

public String getStatusTemplate() {
return statusTemplate;
}
Expand All @@ -185,7 +182,7 @@ protected void asMap(Map<String, Object> props, boolean full) {
props.put("accessToken", isNotBlank(getResolvedAccessToken()) ? HIDE : UNSET);
props.put("accessTokenSecret", isNotBlank(getResolvedAccessTokenSecret()) ? HIDE : UNSET);
props.put("status", status);
props.put("statuses",statuses);
props.put("statusTemplate",statusTemplate);
props.put("statuses", statuses);
props.put("statusTemplate", statusTemplate);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public static void validateTwitter(JReleaserContext context, Twitter twitter, Er
context.isDryrun()));

if (isNotBlank(twitter.getStatusTemplate()) &&
!Files.exists(context.getBasedir().resolve(twitter.getStatusTemplate().trim()))) {
!Files.exists(context.getBasedir().resolve(twitter.getStatusTemplate().trim()))) {
errors.configuration(RB.$("validation_directory_not_exist", "twitter.statusTemplate", twitter.getStatusTemplate()));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public void updateStatus(List<String> statuses) throws TwitterException {
Status status = twitter.updateStatus(message);
for (int i = 1; i < statuses.size(); i++) {
status = twitter.updateStatus(new StatusUpdate(statuses.get(i))
.inReplyToStatusId(status.getId()));
.inReplyToStatusId(status.getId()));
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@
import org.jreleaser.model.announcer.spi.Announcer;
import org.jreleaser.util.Constants;
import org.jreleaser.util.MustacheUtils;
import org.jreleaser.util.StringUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -67,13 +69,21 @@ public void announce() throws AnnounceException {
Map<String, Object> props = new LinkedHashMap<>();
props.put(Constants.KEY_CHANGELOG, MustacheUtils.passThrough(context.getChangelog()));
context.getModel().getRelease().getGitService().fillProps(props, context.getModel());
statuses.add(twitter.getResolvedStatusTemplate(context,props));
Arrays.stream(twitter.getResolvedStatusTemplate(context, props)
.split(System.lineSeparator()))
.filter(StringUtils::isNotBlank)
.map(String::trim)
.forEach(statuses::add);
}
if (statuses.isEmpty() && !twitter.getStatuses().isEmpty()) {
statuses.addAll(twitter.getStatuses());
twitter.getStatuses().stream()
.filter(StringUtils::isNotBlank)
.map(String::trim)
.forEach(statuses::add);
}
if (statuses.isEmpty()) {
statuses.add(RB.$("default.release.message"));
statuses.add(twitter.getStatus());
}

for (int i = 0; i < statuses.size(); i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import java.util.List;

import static org.jreleaser.util.ObjectUtils.requireNonEmpty;
import static org.jreleaser.util.StringUtils.requireNonBlank;

/**
* @author Andres Almiray
Expand Down

0 comments on commit e63740f

Please sign in to comment.