Skip to content

Commit

Permalink
started MessageFormat refactoring. Addressing #50
Browse files Browse the repository at this point in the history
  • Loading branch information
Zomis committed Jan 21, 2015
1 parent 54ef142 commit 66deac6
Show file tree
Hide file tree
Showing 3 changed files with 238 additions and 193 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,13 @@ public String toString() {
+ organization + "]";
}

public boolean isClosed() {
return this.action.equals("closed");

}

public boolean isOpened() {
return this.action.equals("opened") && this.action.equals("reopened");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,20 @@

import java.io.IOException;
import java.net.URL;
import java.text.MessageFormat;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.skiwi.githubhooksechatservice.events.github.AbstractEvent;
import com.skiwi.githubhooksechatservice.events.github.CommitCommentEvent;
import com.skiwi.githubhooksechatservice.events.github.CreateEvent;
import com.skiwi.githubhooksechatservice.events.github.DeleteEvent;
import com.skiwi.githubhooksechatservice.events.github.ForkEvent;
import com.skiwi.githubhooksechatservice.events.github.GollumEvent;
import com.skiwi.githubhooksechatservice.events.github.IssueCommentEvent;
import com.skiwi.githubhooksechatservice.events.github.IssuesEvent;
import com.skiwi.githubhooksechatservice.events.github.MemberEvent;
import com.skiwi.githubhooksechatservice.events.github.PullRequestReviewCommentEvent;
import com.skiwi.githubhooksechatservice.events.github.classes.WikiPage;

public class GithubBean {

Expand All @@ -20,4 +31,203 @@ public AbstractEvent[] fetchRepoEvents(String name) {
}
}

public String stringify(CommitCommentEvent commitCommentEvent) {
if (commitCommentEvent.getComment().getPath() == null) {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) [commented]({4}) on commit [**{5}**]({6})",
commitCommentEvent.getRepository().getFullName(),
commitCommentEvent.getRepository().getHtmlUrl(),
commitCommentEvent.getSender().getLogin(),
commitCommentEvent.getSender().getHtmlUrl(),
commitCommentEvent.getComment().getHtmlUrl(),
commitCommentEvent.getComment().getCommitId().substring(0, 8),
commitCommentEvent.getRepository().getHtmlUrl() + "/commit/" + commitCommentEvent.getComment().getCommitId());
}
else {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) [commented on **{4}**]({5}) of commit [**{6}**]({7})",
commitCommentEvent.getRepository().getFullName(),
commitCommentEvent.getRepository().getHtmlUrl(),
commitCommentEvent.getSender().getLogin(),
commitCommentEvent.getSender().getHtmlUrl(),
commitCommentEvent.getComment().getPath(),
commitCommentEvent.getComment().getHtmlUrl(),
commitCommentEvent.getComment().getCommitId().substring(0, 8),
commitCommentEvent.getRepository().getHtmlUrl() + "/commit/" + commitCommentEvent.getComment().getCommitId());
}
}

public String stringify(CreateEvent createEvent) {
String refUrl = null;
switch (createEvent.getRefType()) {
case "branch":
refUrl = createEvent.getRepository().getHtmlUrl() + "/tree/" + createEvent.getRef();
break;
case "tag":
refUrl = createEvent.getRepository().getHtmlUrl() + "/releases/tag/" + createEvent.getRef();
break;
}
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) created {4} [**{5}**]({6})",
createEvent.getRepository().getFullName(),
createEvent.getRepository().getHtmlUrl(),
createEvent.getSender().getLogin(),
createEvent.getSender().getHtmlUrl(),
createEvent.getRefType(),
createEvent.getRef(),
refUrl);
}

public String stringify(DeleteEvent deleteEvent) {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) deleted {4} **{5}**",
deleteEvent.getRepository().getFullName(),
deleteEvent.getRepository().getHtmlUrl(),
deleteEvent.getSender().getLogin(),
deleteEvent.getSender().getHtmlUrl(),
deleteEvent.getRefType(),
deleteEvent.getRef());
}

public String stringify(ForkEvent forkEvent) {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) forked us into [**{4}**]({5})",
forkEvent.getRepository().getFullName(),
forkEvent.getRepository().getHtmlUrl(),
forkEvent.getSender().getLogin(),
forkEvent.getSender().getHtmlUrl(),
forkEvent.getForkee().getFullName(),
forkEvent.getForkee().getHtmlUrl());
}

public String stringify(GollumEvent gollumEvent, WikiPage wikiPage) {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) {4} wiki page [**{5}**]({6})",
gollumEvent.getRepository().getFullName(),
gollumEvent.getRepository().getHtmlUrl(),
gollumEvent.getSender().getLogin(),
gollumEvent.getSender().getHtmlUrl(),
wikiPage.getAction(),
wikiPage.getTitle().trim(),
wikiPage.getHtmlUrl());
}

public String stringify(IssuesEvent issuesEvent) {
switch (issuesEvent.getAction()) {
case "assigned":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) assigned [**{4}**]({5}) to issue [**#{6}: {7}**]({8})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getAssignee().getLogin(),
issuesEvent.getAssignee().getHtmlUrl(),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
case "unassigned":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) unassigned [**{4}**]({5}) from issue [**#{6}: {7}**]({8})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getAssignee().getLogin(),
issuesEvent.getAssignee().getHtmlUrl(),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
case "labeled":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) added label [**{4}**]({5}) to issue [**#{6}: {7}**]({8})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getLabel().getName(),
issuesEvent.getRepository().getHtmlUrl() + "/labels/" + issuesEvent.getLabel().getName().replace(" ", "%20"),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
case "unlabeled":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) removed label [**{4}**]({5}) from issue [**#{6}: {7}**]({8})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getLabel().getName(),
issuesEvent.getRepository().getHtmlUrl() + "/labels/" + issuesEvent.getLabel().getName().replace(" ", "%20"),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
case "opened":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) opened issue [**#{4}: {5}**]({6})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
case "closed":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) closed issue [**#{4}: {5}**]({6})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
case "reopened":
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) reopened issue [**#{4}: {5}**]({6})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
default:
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) " + issuesEvent.getAction() + " issue [**#{4}: {5}**]({6})",
issuesEvent.getRepository().getFullName(),
issuesEvent.getRepository().getHtmlUrl(),
issuesEvent.getSender().getLogin(),
issuesEvent.getSender().getHtmlUrl(),
issuesEvent.getIssue().getNumber(),
issuesEvent.getIssue().getTitle().trim(),
issuesEvent.getIssue().getHtmlUrl());
}
}

public String stringify(IssueCommentEvent issueCommentEvent) {
String commentTarget = (issueCommentEvent.getIssue().getPullRequest() == null) ? "issue" : "pull request";
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) [commented]({4}) on {5} [**#{6}: {7}**]({8})",
issueCommentEvent.getRepository().getFullName(),
issueCommentEvent.getRepository().getHtmlUrl(),
issueCommentEvent.getSender().getLogin(),
issueCommentEvent.getSender().getHtmlUrl(),
issueCommentEvent.getComment().getHtmlUrl(),
commentTarget,
issueCommentEvent.getIssue().getNumber(),
issueCommentEvent.getIssue().getTitle().trim(),
issueCommentEvent.getIssue().getHtmlUrl());
}

public String stringify(MemberEvent memberEvent) {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) {4} [**{5}**]({6})",
memberEvent.getRepository().getFullName(),
memberEvent.getRepository().getHtmlUrl(),
memberEvent.getSender().getLogin(),
memberEvent.getSender().getHtmlUrl(),
memberEvent.getAction(),
memberEvent.getMember().getLogin(),
memberEvent.getMember().getHtmlUrl());
}

public String stringify(PullRequestReviewCommentEvent pullRequestReviewCommentEvent) {
return MessageFormat.format("\\[[**{0}**]({1})\\] [**{2}**]({3}) [commented on **{4}**]({5}) of pull request [**#{6}: {7}**]({8})",
pullRequestReviewCommentEvent.getRepository().getFullName(),
pullRequestReviewCommentEvent.getRepository().getHtmlUrl(),
pullRequestReviewCommentEvent.getSender().getLogin(),
pullRequestReviewCommentEvent.getSender().getHtmlUrl(),
pullRequestReviewCommentEvent.getComment().getPath(),
pullRequestReviewCommentEvent.getComment().getHtmlUrl(),
pullRequestReviewCommentEvent.getPullRequest().getNumber(),
pullRequestReviewCommentEvent.getPullRequest().getTitle().trim(),
pullRequestReviewCommentEvent.getPullRequest().getHtmlUrl());
}


}

0 comments on commit 66deac6

Please sign in to comment.