Package bg.smoc.model

Examples of bg.smoc.model.Contest


    private void display(HttpServletRequest request, HttpServletResponse response,
            Properties propertyBackup) throws ServletException, IOException {
        SessionUtil sessionUtil = SessionUtil.getInstance();
        String userLogin = sessionUtil.getLoginManager().getActiveUserLogin(request);
        ContestManager contestManager = sessionUtil.getContestManager();
        Contest contest = contestManager.getContest(request);
        if (contest == null) {
            response.sendRedirect("");
            return;
        }
View Full Code Here


  @Override
  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String contestId = request.getParameter("id");
    ContestManager contestManager = SessionUtil.getInstance().getContestManager();
    Contest contest = contestManager.getContest(contestId);
    contest.setRunning(false);
    contest.setTestingOn(false);
    contest.setFeedbackOn(false);
    contestManager.updateContest(contest);
    contestManager.cancelContest(contest);
    response.sendRedirect("contestSetup");
  }
View Full Code Here

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String contestId = request.getParameter("contestId");
        SessionUtil sessionUtil = SessionUtil.getInstance();
        Contest contest = sessionUtil.getContestManager().getContest(contestId);
        if (contest != null) {
            Vector<UserAccount> users = sessionUtil.getUserAccountManager().getAllUsers();
            for (UserAccount userAccount : users) {
                if (!userAccount.getContestIds().contains(contest.getId()))
                    continue;

                for (Task task : contest.getTasks()) {
                    if (task.getType() == null || task.getType() != Task.PROBLEM_TYPE_OUTPUT) {
                        sessionUtil.getGraderManager().grade(contest,
                                userAccount.getLogin(),
                                task.getName());
                    } else {
View Full Code Here

                    protoBuilder.addTestIndexes(Integer.parseInt(currentJob.getTestIndex()));
                } catch (NumberFormatException e) {
                    throw new AgentException("Invalid test index.");
                }
            } else {
                Contest contest = extractContest();
                protoBuilder.addAllTestIndexes(task.getTestIndexesByJobType(currentJob.getType(),
                        !currentJob.isNotGradeFeedback(),
                        contest.isFeedbackOn()));
            }
            for (BigDecimal points : task.getTestsPoints(protoBuilder.getTestIndexesList())) {
                protoBuilder.addMaxPoints(points.toString());
            }
        }
View Full Code Here

    private Contest extractContest() throws AgentException {
        if (currentJob == null) {
            throw new AgentException("No current job!");
        }
        Contest contest = contestManager.getContest(currentJob.getContestId());
        if (contest == null) {
            throw new AgentException("Cannot read contest:" + currentJob.getContestId());
        }
        return contest;
    }
View Full Code Here

    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        SessionUtil sessionUtil = SessionUtil.getInstance();
        String userLogin = sessionUtil.getLoginManager().getActiveUserLogin(request);
        ContestManager contestManager = sessionUtil.getContestManager();
        Contest contest = contestManager.getContest(request);
        if (contest == null) {
            response.sendRedirect("");
            return;
        }
        User user = contestManager.getUser(contest.getId(), userLogin);
        if (!contest.isRunning()) {
            user.getGeneralState().setOutputNow("Submission failed: Contest not running");
            request.getSession().setAttribute("tab", "General");
            response.sendRedirect("main");
            return;
        }

        try {
            // request parsing
            HttpPostFileParser postFileParser = new HttpPostFileParser();
            // convert from KBytes to bytes
            int maxUploadSize = contest.getMaxUploadSize() * 1024;
            postFileParser.init(request, maxUploadSize);

            if (postFileParser.nFile == 0) {
                user.getGeneralState().setOutputNow("Submission failed: No file selected");
                request.getSession().setAttribute("tab", "General");
                response.sendRedirect("main");
                return;
            }

            String srcFile = postFileParser.upFile[0].pc_file_name;
            if (srcFile != null)
                srcFile = FilenameUtils.getName(srcFile);

            String taskName = contestManager.getTaskFromFilename(contest, srcFile, postFileParser
                    .getParameter("task"));
            String language = contestManager.getLanguageFromFilename(contest,
                    srcFile,
                    postFileParser.getParameter("language"));

            Task task = contest.getTaskByName(taskName);

            if (task == null || taskName == null) {
                user
                        .getGeneralState()
                        .setOutputNow("Invalid task name!\nThe task you are trying to submit is not part of the contest you are registered in.");
                request.getSession().setAttribute("tab", "General");
                response.sendRedirect("main");
                return;
            }
            if (postFileParser.upFile[0].size > contest.getTaskByName(taskName).getMaxSubmitSize()) {
                user.getGeneralState().setOutputNow("Submission failed: File too big");
                request.getSession().setAttribute("tab", "General");
                response.sendRedirect("main");
                return;
            }
            if (contest.getTaskByName(taskName).getType() == Task.PROBLEM_TYPE_OUTPUT) {
                String index = null;
                int indexNumber = 0;
                if (srcFile != null && srcFile.split("\\.").length >= 2) {
                    index = srcFile.split("\\.")[1];
                    if ("txt".equals(index) || "out".equals(index)) {
                        indexNumber = 1;
                    } else {
                        try {
                            indexNumber = Integer.parseInt(index);
                            if (indexNumber <= 0
                                    || indexNumber > contest.getTaskByName(taskName)
                                            .getNumberOfTests()) {
                                index = null;
                            }
                        } catch (NumberFormatException e) {
                            index = null;
View Full Code Here

    response.sendRedirect("contestSetup");
  }

  private Contest populateContestFromRequest(HttpServletRequest request) {
    Contest contest = new Contest();
    contest.setName(request.getParameter("name"));
    contest.setOpenContest(ServletUtil.isCheckboxSelected(request.getParameter("isPublic")));
    contest.setShortName(request.getParameter("shortName"));
    contest.setMaxUploadSize(Integer.parseInt(request.getParameter("maxUploadSize")));
    return contest;
  }
View Full Code Here

            throws ServletException, IOException {
        SessionUtil sessionUtil = SessionUtil.getInstance();
        String userLogin = sessionUtil.getLoginManager().getActiveUserLogin(request);
        ContestManager contestManager = sessionUtil.getContestManager();
        PrintManager printManager = sessionUtil.getPrintManager();
        Contest contest = contestManager.getContest(request);
        if (contest == null) {
            response.sendRedirect("");
            return;
        }
        User user = contestManager.getUser(contest.getId(), userLogin);
        if (!contest.isRunning()) {
            user.getGeneralState().setOutputNow("Print failed: Contest not running");
            request.getSession().setAttribute("tab", "General");
            response.sendRedirect("main");
            return;
        }
       
        // do not allow printing in open contests
        if (contest.isOpenContest()) {
            user.getGeneralState().setOutputNow("Print failed: No printing in open contests");
            request.getSession().setAttribute("tab", "General");
            response.sendRedirect("main");
            return;
        }
View Full Code Here

    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String contestId = request.getParameter("id");
        if (contestId != null) {
            ContestManager contestManager = SessionUtil.getInstance().getContestManager();
            Contest contest = contestManager.getContest(contestId);
            contest.setName(request.getParameter("name"));
            contest.setOpenContest(ServletUtil
                            .isCheckboxSelected(request.getParameter("isPublic")));
            contest.setShortName(request.getParameter("shortName"));
            contest.setExpectedEndTime(request.getParameter("expectedEndTime"));
            contest.setAnnouncement(request.getParameter("announcement").trim());
            contest.setMaxUploadSize(Integer.parseInt(request.getParameter("maxUploadSize")));
            contestManager.updateContest(contest);
        }

        response.sendRedirect("contestSetup");
    }
View Full Code Here

TOP

Related Classes of bg.smoc.model.Contest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.