Package cn.edu.zju.acm.onlinejudge.persistence

Examples of cn.edu.zju.acm.onlinejudge.persistence.SubmissionPersistence


            }
        }
        this.defaultNumberOfJudgeThreads = defaultNumberOfJudgeThreads;
        this.rejudgeThread = new Thread() {
            public void run() {
                SubmissionPersistence submissionPersistence =
                        PersistenceManager.getInstance().getSubmissionPersistence();
                try {
                    long last = 0;
                    for (int i = 0;; ++i) {
                        List<Submission> submissions = submissionPersistence.getQueueingSubmissions(last - 1, 100);
                        if (submissions.size() == 0) {
                            break;
                        }
                        synchronized (JudgeService.this.queuingSubmissionIdSet) {
                            for (int j = submissions.size() - 1; j >= 0; --j) {
View Full Code Here


        submission.setUserProfileId(user.getId());
        submission.setContent(source);
        submission.setMemoryConsumption(0);
        submission.setTimeConsumption(0);
        submission.setSubmitDate(new Date());
        SubmissionPersistence submissionPersistence = PersistenceManager.getInstance().getSubmissionPersistence();

        if (contest.getEndTime() != null && new Date().after(contest.getEndTime())) {
            submission.setJudgeReply(JudgeReply.OUT_OF_CONTEST_TIME);
            submissionPersistence.createSubmission(submission, user.getId());
        } else if (source.getBytes().length > problem.getLimit().getSubmissionLimit() * 1024) {
            submission.setContent(source.substring(0, problem.getLimit().getSubmissionLimit() * 1024));
            submission.setJudgeReply(JudgeReply.SUBMISSION_LIMIT_EXCEEDED);
            submissionPersistence.createSubmission(submission, user.getId());
        } else {
            submission.setJudgeReply(JudgeReply.QUEUING);
            submissionPersistence.createSubmission(submission, user.getId());
            JudgeService.getInstance().judge(submission, Priority.NORMAL);
        }
        context.setAttribute("contestOrder", submission.getContestOrder());
        if (submitCache != null) {
          submitCache.put(user.getId(), user.getId());
View Full Code Here

    public Submission getSubmission(long submissionId) throws PersistenceException {
        Object key = new Long(submissionId);
        synchronized (this.submissionCache) {
            Submission submission = this.submissionCache.get(key);
            if (submission == null) {
                SubmissionPersistence submissionPersistence =
                        PersistenceManager.getInstance().getSubmissionPersistence();
                submission = submissionPersistence.getSubmission(submissionId);
                this.submissionCache.put(key, submission);
            }
            return submission;
        }
    }
View Full Code Here

        submission.setUserProfileId(user.getId());
        submission.setContent(source);
        submission.setMemoryConsumption(0);
        submission.setTimeConsumption(0);
        submission.setSubmitDate(new Date());
        SubmissionPersistence submissionPersistence = PersistenceManager.getInstance().getSubmissionPersistence();

        if (contest.getEndTime() != null && new Date().after(contest.getEndTime())) {
            submission.setJudgeReply(JudgeReply.OUT_OF_CONTEST_TIME);
            submissionPersistence.createSubmission(submission, user.getId());
        } else if (source.getBytes().length > problem.getLimit().getSubmissionLimit() * 1024) {
            submission.setContent(source.substring(0, problem.getLimit().getSubmissionLimit() * 1024));
            submission.setJudgeReply(JudgeReply.SUBMISSION_LIMIT_EXCEEDED);
            submissionPersistence.createSubmission(submission, user.getId());
        } else {
          Random ran=new Random();
            submission.setJudgeReply(ran.nextInt()%2==0 ? JudgeReply.WRONG_ANSWER : JudgeReply.ACCEPTED);
            submissionPersistence.createSubmission(submission, user.getId());
            JudgeService.getInstance().judge(submission, Priority.NORMAL);
        }
        context.setAttribute("contestOrder", submission.getContestOrder());
        if (submitCache != null) {
          submitCache.put(user.getId(), user.getId());
View Full Code Here

TOP

Related Classes of cn.edu.zju.acm.onlinejudge.persistence.SubmissionPersistence

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.