Package bg.smoc.model.manager

Examples of bg.smoc.model.manager.ContestManager


  @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(true);
    contest.setTestingOn(true);
    contest.setLastStartTime(new SimpleDateFormat("yyyy.MM.dd HH:mm:ss")
        .format(new java.util.Date()));
    contestManager.updateContest(contest);
    contestManager.scheduleContest(contest);
    response.sendRedirect("contestSetup");
  }
View Full Code Here


  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    boolean value = Boolean.parseBoolean(request.getParameter("value"));
    String contestId = request.getParameter("id");

    ContestManager contestManager = SessionUtil.getInstance().getContestManager();
    Contest contest = contestManager.getContest(contestId);
    contest.setTestingOn(value);
    contestManager.updateContest(contest);

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

            throws ServletException, IOException {
        this.request = request;
        this.response = response;

        String userLogin = (String) request.getSession().getAttribute("id");
        ContestManager contestManager = SessionUtil.getInstance().getContestManager();
        Contest contest = contestManager.getContest(request);
        if (contest == null || !contest.isRunning()) {
            response.sendRedirect("main?error=23");
            return;
        }
View Full Code Here

    }

    private void display() throws ServletException, IOException {
        SessionUtil sessionUtil = SessionUtil.getInstance();
        String userLogin = sessionUtil.getLoginManager().getActiveUserLogin(request);
        ContestManager contestManager = sessionUtil.getContestManager();
        Contest contest = contestManager.getContest(request);

        request.setAttribute("userLogin", userLogin);
        request.setAttribute("contest", contest);
        request.setAttribute("time", new SimpleDateFormat("yyyy.MM.dd HH:mm:ss")
                .format(new java.util.Date()));
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);
    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 userId = (String) request.getSession().getAttribute("id");

        ContestManager contestManager = SessionUtil.getInstance().getContestManager();
        Contest contest = contestManager.getContest(request);
        if (contest == null || !contest.isRunning()) {
            response.sendRedirect("main?error=13");
            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) {
                response.sendRedirect("main?error=12");
                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);

            // TODO: export these as error messages or sth
            if (task == null || taskName == null) {
              User user = contestManager.getUser(contest.getId(), userId);
              user.setStrLastTaskSubmit("Invalid task name!\nThe task you are trying to submit is not part of the contest you are registered in.");
              user.setOutputSubmit(null);
              response.sendRedirect("main");
              return;
            }
            if (postFileParser.upFile[0].size > contest.getTaskByName(taskName).getMaxSubmitSize()) {
                response.sendRedirect("main?error=14");
                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)) {
                        indexNumber = 1;
                    } else {
                        try {
                            indexNumber = Integer.parseInt(index);
                            if (indexNumber <= 0 ||
                                indexNumber > contest.getTaskByName(taskName).getNumberOfTests()) {
                                index = null;
                            }
                        } catch (NumberFormatException e) {
                            index = null;
                        }
                    }
                 if (index == null) {
                     User user = contestManager.getUser(contest.getId(), userId);
                     user.setStrLastTaskSubmit("Invalid file name!\nFormat is [taskname].[case_number].txt (e.g. output.10.txt).");
                     user.setOutputSubmit(null);
                     response.sendRedirect("main");
                     return;
                 }
                 // TODO: remove HACK
                 language = String.format("%0" + Task.TESTCASE_PADDING_LENGTH + "d", indexNumber);
            }
            if (language == null) {
              User user = contestManager.getUser(contest.getId(), userId);
              user.setStrLastTaskSubmit("Invalid language!");
              user.setOutputSubmit(null);
              response.sendRedirect("main");
              return;
            }
           
            java.io.File fileSrcFile = postFileParser.upFile[0].GetTmpFile();

            byte[] absoluteSrcFile = new byte[postFileParser.upFile[0].size];
            java.io.BufferedInputStream bis = new java.io.BufferedInputStream(
                    new java.io.FileInputStream(fileSrcFile));
            int index = 0;
            int iRead;
            while ((iRead = bis.read(absoluteSrcFile, index, postFileParser.upFile[0].size - index)) > 0) {
                index += iRead;
            }
            bis.close();

            // for debug only
            postFileParser.upFile[0].save("./ioidebugsubmit", userId
                    + "_"
                    + String.valueOf(postFileParser.upFile[0].hashCode()));

            boolean bResult = contestManager.submit(contest,
                    userId,
                    task,
                    language,
                    srcFile,
                    absoluteSrcFile);
View Full Code Here

            response.sendRedirect("index.jsp");
            return;
        }

        PrintManager printManager = SessionUtil.getInstance().getPrintManager();
        ContestManager contestManager = SessionUtil.getInstance().getContestManager();
       
        Contest currContest = contestManager.getContest(request);
        // do not allow printing in open contests
        if (currContest.isOpenContest()) {
            response.sendRedirect("main?error=52");
            return;
        }
View Full Code Here

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String userLogin = (String) request.getSession().getAttribute("id");

        ContestManager contestManager = SessionUtil.getInstance().getContestManager();
        Contest contest = contestManager.getContest(request);
        if (contest == null || !contest.isRunning()) {
            response.sendRedirect("main?error=23");
            return;
        }

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

            if (postFileParser.nFile <= 1) {
                response.sendRedirect("main?error=22");
                return;
            }
            String srcFile = null;
            byte[] abSrcFile = null;

            srcFile = postFileParser.upFile[0].pc_file_name;
            if (srcFile != null)
                srcFile = FilenameUtils.getName(srcFile);
           
            String task = contestManager.getTaskFromFilename(contest, srcFile, postFileParser.getParameter("task"));
            String language = contestManager.getLanguageFromFilename(contest, srcFile, postFileParser.getParameter("language"));
           
            // TODO: export these as error messages or sth
            if (task == null) {
              User user = contestManager.getUser(contest.getId(), userLogin);
              user.setStrLastTaskTest("Invalid task name!\nThe task you are trying to submit is not part of the contest you are registered in.");
              user.setOutputTest(null);
              response.sendRedirect("main");
              return;
            }
            if (contest.getTaskByName(task).getType() == Task.PROBLEM_TYPE_OUTPUT) {
                User user = contestManager.getUser(contest.getId(), userLogin);
                user.setStrLastTaskTest("Output only tasks can not be tested.");
                user.setOutputTest(null);
                response.sendRedirect("main");
                return;
            }
            if (language == null) {
              User user = contestManager.getUser(contest.getId(), userLogin);
              user.setStrLastTaskTest("Invalid language!");
              user.setOutputTest(null);
              response.sendRedirect("main");
              return;
            }
           
            File fileSrcFile = postFileParser.upFile[0].GetTmpFile();
            abSrcFile = new byte[postFileParser.upFile[0].size];
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileSrcFile));
            int index = 0;
            int iRead = -1;
            while ((iRead = bis.read(abSrcFile, index, postFileParser.upFile[0].size - index)) > 0) {
                index += iRead;
            }
            bis.close();

            // for debug only
            postFileParser.upFile[0].save("./ioidebugtest", userLogin
                    + "_"
                    + String.valueOf(postFileParser.upFile[0].hashCode()));

            String stdinFile = null;
            byte[] abStdinFile = null;
            stdinFile = postFileParser.upFile[1].pc_file_name;
            java.io.File fileStdinFile = postFileParser.upFile[1].GetTmpFile();
            abStdinFile = new byte[postFileParser.upFile[1].size];
            bis = new BufferedInputStream(new FileInputStream(fileStdinFile));
            index = 0;
            iRead = -1;
            while ((iRead = bis.read(abStdinFile, index, postFileParser.upFile[1].size - index)) > 0) {
                index += iRead;
            }
            bis.close();
           
            boolean bResult = contestManager.test(contest,
                    userLogin,
                    task,
                    language,
                    srcFile,
                    abSrcFile, stdinFile, abStdinFile);
View Full Code Here

  @Override
  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String contestId = request.getParameter("contestId");
    String taskId = request.getParameter("taskId");
    ContestManager contestManager = SessionUtil.getInstance().getContestManager();
        Task task = contestManager.getTask(contestId, taskId);

    request.setAttribute("contestId", contestId);
    request.setAttribute("task", task);
    request.setAttribute("taskTypes", TaskType.getAllTaskTypes());
    request.setAttribute("taskTests", contestManager.getTaskTests(contestId, task));
    request.setAttribute("testGroups", task.getTestGroups());

    request.getRequestDispatcher("editTask.jsp").forward(request, response);
  }
View Full Code Here

  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String contestId = request.getParameter("contestId");
    String taskId = request.getParameter("id");

    ContestManager contestManager = SessionUtil.getInstance().getContestManager();
    Task task = contestManager.getTask(contestId, taskId);

    if (task != null) {
      task.setName(request.getParameter("name"));
      task.setType(new Integer(request.getParameter("type")));
      task.setNumberOfTests(Integer.parseInt(request.getParameter("numberOfTests")));
      task.setMaxSubmitSize(Integer.parseInt(request.getParameter("maxSubmitSize")));
      contestManager.updateTask(contestId, task);
    }

    response.sendRedirect("updateTaskList?contestId=" + contestId);
  }
View Full Code Here

TOP

Related Classes of bg.smoc.model.manager.ContestManager

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.