Search in sources :

Example 1 with JudgingQueueIterator

use of cn.edu.zju.acm.onlinejudge.judgeservice.JudgingQueueIterator in project zoj by licheng.

the class StatisticsManager method getSubmissions.

public List<Submission> getSubmissions(SubmissionCriteria criteria, long firstId, long lastId, int count) throws PersistenceException {
    List<Object> key = new ArrayList<Object>();
    key.add(criteria);
    key.add(new Long(firstId));
    key.add(new Long(lastId));
    key.add(new Integer(count));
    SubmissionCacheEntry entry;
    synchronized (this.submissionCache) {
        entry = this.submissionCache.get(key);
        if (entry == null) {
            JudgingQueueIterator iter = JudgeService.getInstance().getJudgingQueueIterator();
            List<Submission> submissions = PersistenceManager.getInstance().getSubmissionPersistence().searchSubmissions(criteria, firstId, lastId, count);
            entry = new SubmissionCacheEntry(iter, submissions);
            this.submissionCache.put(key, entry);
        }
    }
    return entry.getSubmissions();
}
Also used : JudgingQueueIterator(cn.edu.zju.acm.onlinejudge.judgeservice.JudgingQueueIterator) Submission(cn.edu.zju.acm.onlinejudge.bean.Submission) ArrayList(java.util.ArrayList)

Aggregations

Submission (cn.edu.zju.acm.onlinejudge.bean.Submission)1 JudgingQueueIterator (cn.edu.zju.acm.onlinejudge.judgeservice.JudgingQueueIterator)1 ArrayList (java.util.ArrayList)1