Package cn.edu.zju.acm.onlinejudge.bean

Examples of cn.edu.zju.acm.onlinejudge.bean.Submission


    @Test(timeout = 1000)
    public void testRejudge() throws Exception {
        queue.add(submissions[0]);
        queue.add(submissions[1]);
        queue.add(submissions[2]);
        Submission submission = queue.removeFirst();
        queue.addFirst(queue.removeFirst());
        queue.addFirst(submission);
        assertEquals((long) 1, queue.removeFirst().getId());
        assertEquals((long) 0, queue.removeFirst().getId());
        assertEquals((long) 2, queue.removeFirst().getId());
View Full Code Here


    }

    @Test
    public void testRestoreFromDAO() throws Exception {
        for (int i = 0; i < 1000; i++) {
            Submission submission = new Submission();
            submission.setContent("" + i);
            submissionDAO.save(submission);
            char[] content = new char[1024 * 128];
            Arrays.fill(content, (char) i);
            submission.setContent(new String(content));
            queue.add(submission);
        }
        for (int i = 0; i < 1000; i++) {
            Submission submission = queue.removeFirst();
            assertEquals((long) i, submission.getId());
        }
    }
View Full Code Here

        final int submissionPerProvider = 100;
        final int total = provider.length * submissionPerProvider;
        final int[][] count = new int[consumer.length][total];
        submissions = new Submission[total];
        for (int i = 0; i < total; i++) {
            submissions[i] = new Submission();
            submissions[i].setId(i);
            submissions[i].setJudgeReply(JudgeReply.QUEUING);
        }
        for (int i = 0; i < consumer.length; i++) {
            final int k = i;
            final int[] cnt = count[k];
            for (int j = 0; j < cnt.length; j++) {
                cnt[j] = 0;
            }
            consumer[i] = new Thread() {
                public void run() {
                    try {
                        for (int i = 0;; i++) {
                            Submission submission = queue.removeFirst();
                            int id = (int) submission.getId();
                            // System.out.println("poll " + k + " " + id);
                            cnt[id]++;
                            assertEquals(submissions[id], submission);
                            if (id % consumer.length == k) {
                                queue.addFirst(submission);
                            } else {
                                submission.setJudgeReply(JudgeReply.ACCEPTED);
                            }
                            Thread.yield();
                        }
                    } catch (InterruptedException e) {
                    } catch (Exception e) {
View Full Code Here

        public Submission tryClaim() {
            if (this.submission == null) {
                return null;
            }
            Submission ret = this.submission;
            synchronized (this) {
                if (this.submission == null) {
                    return null;
                }
                this.submission = null;
View Full Code Here

                for (int i = this.candidatesLists.size() - 1; i >= 0; --i) {
                    LinkedList<Candidate> candidatesList = this.candidatesLists.get(i);
                    while (candidatesList.size() > 0) {
                        Candidate candidate = candidatesList.removeFirst();
                        --this.size;
                        Submission ret = candidate.tryClaim();
                        if (ret != null) {
                            return ret;
                        }
                    }
                }
View Full Code Here

                }
            }
        }

        private void add(Candidate candidate) throws PersistenceException {
            Submission submission = candidate.submission;
            if (submission == null) {
                return;
            }
            int priority = candidate.priority;
            priority += this.submissionFilter.filter(submission, priority);
View Full Code Here

TOP

Related Classes of cn.edu.zju.acm.onlinejudge.bean.Submission

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.