Package bg.smoc.model

Examples of bg.smoc.model.Task


  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());
    if (task.getName() != null)
        request.setAttribute("taskTests", contestManager.getTaskTests(contestId, task));
    else
        request.setAttribute("taskTests", null);
    request.setAttribute("testGroups", task.getTestGroups());

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


            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"));
            try {
                task.setType(new Integer(request.getParameter("type")));
                task.setNumberOfTests(Integer.parseInt(request.getParameter("numberOfTests")));
                task.setMaxSubmitSize(Integer.parseInt(request.getParameter("maxSubmitSize")));
                task.setTimeLimit(Integer.parseInt(request.getParameter("timeLimit")));
                task.setMemoryLimit(Integer.parseInt(request.getParameter("memoryLimit")));
                task.setOutputLimit(Integer.parseInt(request.getParameter("outputLimit")));
            } catch (NumberFormatException e) {
            }
            contestManager.updateTask(contestId, task);
        }
View Full Code Here

    private void swapFeedbackInformationWithGraderCsv(Job job) {
        Contest contest = mediator.getContestManager().getContest(job.getContestId());
        if (contest == null)
            return;
        Task task = contest.getTaskByName(job.getTask());
        if (task == null)
            return;

        StringBuffer output = new StringBuffer();
        output.append(getFullGraderCsv(contest.getId(), job.getUserid(), task.getName()));
        job.output = output.toString().getBytes();
    }
View Full Code Here

     */
    private void swapFeedbackInformation(Job job) {
        Contest contest = mediator.getContestManager().getContest(job.getContestId());
        if (contest == null)
            return;
        Task task = contest.getTaskByName(job.getTask());
        if (task == null)
            return;

        Set<Integer> testsCovered = new TreeSet<Integer>();
        for (TestGroup group : task.getTestGroups()) {
            if (group.isFeedbackEnabled()) {
                testsCovered.addAll(group.getTestCases());
            }
        }

        List<String> byTestResults = getResult(contest.getId(), job.getUserid(), task);
        int accepted = 0;
        int wrong = 0;
        int timeLimit = 0;
        int exception = 0;
        int system = 0;
        int compile = 0;
        for (int i = 0; i < task.getNumberOfTests(); ++i) {
            if (!testsCovered.contains(i + 1)) {
                continue;
            }

            String execResult = byTestResults.get(i);
            try {
                new BigDecimal(execResult);
                accepted++;
            } catch (NumberFormatException e) {
                if ("x".equals(execResult)) {
                    wrong++;
                } else if ("e".equals(execResult)) {
                    exception++;
                } else if ("t".equals(execResult)) {
                    timeLimit++;
                } else if ("c".equals(execResult)) {
                    compile++;
                } else {
                    System.out.print("Unknown output result:" + execResult);
                    system++;
                }
            }
        }

        StringBuffer output = new StringBuffer();
        output.append(getCompilerOutput(contest.getId(), job.getUserid(), task.getName()));
        if (testsCovered.size() == task.getNumberOfTests()) {
            output.append("Feedback for all test cases:\n");
        } else {
            output.append("Feedback for part of all test cases:\n");
        }
        asPercentage("Correct", output, accepted, testsCovered);
View Full Code Here

                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.");
View Full Code Here

  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

      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

        }
        if (inputStream == null) {
            setError(request, response, "No file seems to be uploaded.");
            return;
        }
        Task task = getTastInfo(fieldValues, contestManager);
        if (task == null) {
            setError(request, response, "Error reading task infomation.");
            return;
        }
        try {
            List<String> messages = unzipStream(request,
                    response,
                    inputStream,
                    task,
                    contestManager,
                    fieldValues.get("contestId"));
            request.getSession().setAttribute("messages", messages);
        } finally {
            try {
                inputStream.close();
            } catch (IOException e) {
            }
        }
        response.sendRedirect("editTask?contestId="
                + fieldValues.get("contestId")
                + "&taskId="
                + task.getId());
    }
View Full Code Here

    private void sendProtobuf() throws AgentException, IOException {
        Builder protoBuilder = GradeProto.Grade.newBuilder();
        protoBuilder.setTaskName(currentJob.getTask());
        protoBuilder.setLanguage(currentJob.getLanguage());
        Task task = getTask();
        if (currentJob.getType() != JobType.TEST) {
            if (task.getType() == Task.PROBLEM_TYPE_OUTPUT) {
                try {
                    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());
            }
        }
        protoBuilder.setExplicitGrade(currentJob.getType() == JobType.GRADE);
        protoBuilder.setTaskType(task.getType());
        protoBuilder.setTimeLimit(task.getTimeLimit());
        protoBuilder.setMemoryLimit(task.getMemoryLimit());
        protoBuilder.setOutputLimit(task.getOutputLimit());
        protoBuilder.setTestsCount(task.getNumberOfTests());

        Grade gradeProto = protoBuilder.build();
        DataOutputStream dataOutput = new DataOutputStream(os);
        dataOutput.writeInt(gradeProto.getSerializedSize());
        gradeProto.writeTo(dataOutput);
View Full Code Here

    private Task getTask() throws AgentException {
        if (currentJob == null) {
            throw new AgentException("No current job!");
        }
        Task task = contestManager.getTaskByName(currentJob.getContestId(), currentJob.getTask());
        if (task == null) {
            throw new AgentException("Cannot read task"
                    + currentJob.getTask()
                    + " in contest:"
                    + currentJob.getContestId());
View Full Code Here

TOP

Related Classes of bg.smoc.model.Task

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.