Package bg.smoc.model

Examples of bg.smoc.model.Contest


        return contest.getTaskById(taskId);
    }

    public void updateTask(String contestId, Task newTask) {
        Contest contest = getContestById(contestId);
        if (contest == null)
            return;

        Task task = contest.getTaskById(newTask.getId());
        task.populateFrom(newTask);
        storeContests();
    }
View Full Code Here


        task.populateFrom(newTask);
        storeContests();
    }

    public void deleteTask(String contestId, String taskId) {
        Contest contest = getContestById(contestId);
        if (contest == null)
            return;

        contest.getTasks().remove(contest.getTaskById(taskId));
        storeContests();
    }
View Full Code Here

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String userLogin = request.getParameter("login");
        ContestManager contestManager = SessionUtil.getInstance().getContestManager();
        Contest contest = contestManager.getContest(request.getParameter("contestId"));
        if (contest == null) {
            response.sendRedirect("");
            return;
        }
        String taskname = request.getParameter("taskId");
View Full Code Here

            throws ServletException, IOException {
        String contestId = request.getParameter("contestId");

        SessionUtil sessionUtil = SessionUtil.getInstance();

        Contest contest = sessionUtil.getContestManager().getContest(contestId);
        if (contest != null) {
            sessionUtil.getGraderManager().pushTestData(contest);
        }
    }
View Full Code Here

    public String getSourceCodeLanguage(String contest, String userid, String task) {
        return contestManager.getSourceCodeLanguage(contest, userid, task);
    }

    public boolean getContestHasTask(String contestId, String taskName) {
        Contest contest = contestManager.getContest(contestId);
        if (contest == null)
            return false;
        return contest.hasTaskNamed(taskName);
    }
View Full Code Here

    public File updateTestGroupsFile(String contestId, Task task) {
        return contestSerializer.updateTestGroupsFile(contestId, task);
    }

    public Task getTaskByName(String contestId, String taskName) {
        Contest contest = getContest(contestId);
        if (contest == null) {
            return null;
        }
        return contest.getTaskByName(taskName);
    }
View Full Code Here

        response.getOutputStream().println("<body>" + "<table border=1>");

        ListIterator<String[]> it = llist.listIterator();
        while (it.hasNext()) {
            String[] tuple = it.next();
            Contest contest = SessionUtil.getInstance().getContestManager().getContest(tuple[0]);
            response.getOutputStream().print("     <tr>"
                    + "<td>"
                    + tuple[0]
                    + "</td>"
                    + "<td>"
View Full Code Here

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        SessionUtil sessionUtil = SessionUtil.getInstance();
        Contest contest = sessionUtil.getContestManager().getContest(request
                .getParameter("contestId").trim());
        String userId = request.getParameter("userId").trim();
        String task = request.getParameter("task").trim();

        if (contest != null
View Full Code Here

    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) {
            response.sendRedirect("");
            return;
        }

        User user = contestManager.getUser(contest.getId(), userLogin);
       
        if (!contest.isTestingOn()) {
            user.getTestState().setOutputNow("Test failed: Testing now allowed");
            response.sendRedirect("main");
            return;
        }

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

            if (postFileParser.nFile <= 1) {
                user.getTestState().setOutputNow("Test failed: Select two files");
                response.sendRedirect("main");
                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"));

            if (task == null) {
                user
                        .getTestState()
                        .setOutputNow("Invalid task name!\nThe task you are trying to submit is not part of the contest you are registered in.");
                response.sendRedirect("main");
                return;
            }
            if (contest.getTaskByName(task).getType() == Task.PROBLEM_TYPE_OUTPUT) {
                user.getTestState().setOutputNow("Output only tasks can not be tested.");
                response.sendRedirect("main");
                return;
            }
            if (language == null) {
                user.getTestState().setOutputNow("Invalid language!");
                response.sendRedirect("main");
                return;
            }

            File fileSrcFile = postFileParser.upFile[0].GetTmpFile();
            abSrcFile = new byte[postFileParser.upFile[0].size];
            BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(
                    fileSrcFile));
            int index = 0;
            int iRead = -1;
            while ((iRead = bufferedInputStream.read(abSrcFile,
                    index,
                    postFileParser.upFile[0].size - index)) > 0) {
                index += iRead;
            }
            bufferedInputStream.close();

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

            String stdinFile = null;
            byte[] stdinFileData = null;
            stdinFile = postFileParser.upFile[1].pc_file_name;
            File fileStdinFile = postFileParser.upFile[1].GetTmpFile();
            FileInputStream testStream = new FileInputStream(fileStdinFile);

            if (stdinFile.endsWith(".zip")) {
                ZipInputStream zipStream = new ZipInputStream(testStream);
                ZipEntry zipEntry = null;
                try {
                    if ((zipEntry = zipStream.getNextEntry()) == null || zipEntry.isDirectory())
                        throw new java.io.IOException();

                    if (zipEntry.getSize() > 5 * contest.getMaxUploadSize() * 1024) {
                        user.getTestState().setOutputNow("Test failed: stdin file too big");
                        response.sendRedirect("main");
                        return;
                    }

View Full Code Here

    if (contestId == null) {
      response.sendRedirect("contestSetup");
      return;
    }

    Contest contest = SessionUtil.getInstance().getContestManager().getContest(contestId);
    request.setAttribute("contest", contest);

    request.getRequestDispatcher("editContest.jsp").forward(request, response);
  }
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.