public static String repoPullRequests()

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("&nbsp;");
                    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>";
        }
    }