List of usage examples for org.hibernate.envers.exception RevisionDoesNotExistException getRevision
public Number getRevision()
From source file:cz.filmtit.userspace.Session.java
License:Open Source License
/** * Loads previous versions of subtitle items * * @param results list of currently loaded Translation Results * @param date date before which the translation results to load were * created/*from w w w . j a v a 2 s .c o m*/ * @return returns list of old Translation Results created before given date */ public List<TranslationResult> loadPreviousVersions(List<TranslationResult> results, Date date) { AuditReader auditReader = AuditReaderFactory.get(usHibernateUtil.getSessionWithActiveTransaction()); List<TranslationResult> tResults = new ArrayList<TranslationResult>(); try { Number revisionNumber = auditReader.getRevisionNumberForDate(date); logger.log(Logger.Level.ERROR, revisionNumber); for (TranslationResult result : results) { List resultList = auditReader.createQuery() .forRevisionsOfEntity(USTranslationResult.class, true, false) .add(AuditEntity.id().eq(result.getId())) .add(AuditEntity.revisionNumber().le(revisionNumber)) .addOrder(AuditEntity.revisionNumber().desc()).getResultList(); if (resultList != null && !resultList.isEmpty()) { USTranslationResult singleResult = (USTranslationResult) resultList.get(0); tResults.add(singleResult.getTranslationResult()); } } } catch (RevisionDoesNotExistException e) { logger.log(Logger.Level.ERROR, e.getDate() + " " + e.getRevision()); } return tResults; }