in prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppRepoPullRequests.java [48:99]
public static String repoPullRequests(@Context HttpServletRequest request, @QueryParam("repositoryName") String repositoryName) throws IOException {
String userName = (String) request.getSession().getAttribute("user_name");
if (userName != null) {
if (repositoryName.startsWith(userName + "/")) {
return "<html>" +
"<body>" +
" Repository: " + repositoryName + " not owned by: " + userName +
"</body>";
}
StringBuilder page = new StringBuilder();
page.append("<html>");
page.append("<body>");
page.append("Pull Requests of: " + repositoryName);
page.append("<ul>");
java.nio.file.Path targetDir = Config.getDefault().getRunDir().resolve("github").resolve(repositoryName);
try (DirectoryStream<java.nio.file.Path> ds = Files.newDirectoryStream(targetDir)) {
for (java.nio.file.Path p : ds) {
String pr = p.getFileName().toString();
page.append("<li>");
page.append(pr);
page.append(" ");
if (Files.exists(p.resolve("preparing"))) {
page.append("preparing");
}
if (Files.exists(p.resolve("running"))) {
page.append("running");
}
if (Files.exists(p.resolve("finished"))) {
page.append("finished");
}
if (Files.exists(p.resolve("stdout")) || Files.exists(p.resolve("stdout.gz"))) {
page.append("<a href=\"/github/repopullrequests/stdout?repositoryName=" + repositoryName + "&pr=" + pr + "\">stdout</a>");
}
if (Files.exists(p.resolve("stderr")) || Files.exists(p.resolve("stderr.gz"))) {
page.append("<a href=\"/github/repopullrequests/stderr?repositoryName=" + repositoryName + "&pr=" + pr + "\">stderr</a>");
}
page.append("</li>");
}
} catch (IOException ex) {
WebApp.LOG.log(Level.FINE, null, ex);
}
page.append("</ul>");
page.append("</body>");
return page.toString();
} else {
String clientId = Config.getDefault().getPreferences().node("app").get("client_id", null);
return "<html>" +
"<body>" +
" <a href=\"https://github.com/login/oauth/authorize?client_id=" + clientId + "&scope=write:repo_hook%20repo:status&state=9843759384\">Login with GitHub.</a>" +
"</body>";
}
}