List of usage examples for org.hibernate.envers AuditReader getRevisionNumberForDate
Number getRevisionNumberForDate(Date date)
throws IllegalStateException, RevisionDoesNotExistException, IllegalArgumentException;
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Collection<PropertyKey> getPropertiesKeys(final Repository repository, final Date time) throws ConfigException { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); AuditQuery query = reader.createQuery().forEntitiesAtRevision(PropertyKey.class, rev); query.add(AuditEntity.property("repository").eq(repository)); return query.getResultList(); }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public SecurityProfile getSecurityProfile(final Repository repository, final Date date, final String spName) throws ConfigException { try {//w ww . ja v a 2s . c om if (null == date) { return (SecurityProfile) em.createNamedQuery("SecurityProfile.byName") .setLockMode(LockModeType.NONE).setParameter("repository", repository) .setParameter("name", spName).getSingleResult(); } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery kq = reader.createQuery().forEntitiesAtRevision(SecurityProfile.class, rev); kq.add(AuditEntity.property("repository").eq(repository)); kq.add(AuditEntity.property("name").eq(spName)); SecurityProfile sp = (SecurityProfile) kq.getSingleResult(); return sp; } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); } return null; }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public AbsoluteFilePath getAbsFilePath(final Repository repository, final String absPath, final Date date) { if (null == repository || Utils.isBlank(absPath)) { return null; }/*from www.ja va 2 s . c o m*/ try { if (null == date) { return (AbsoluteFilePath) em.createNamedQuery("AbsFilePath.getByAbsPath") .setLockMode(LockModeType.NONE).setParameter("absPath", absPath) .setParameter("repository", repository).getSingleResult(); } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(null == date ? new Date() : date); AuditQuery kq = reader.createQuery().forEntitiesAtRevision(AbsoluteFilePath.class, rev); kq.add(AuditEntity.property("repository").eq(repository)); kq.add(AuditEntity.property("absPath").eq(absPath)); return (AbsoluteFilePath) kq.getSingleResult(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public RepoFile getRepoFile(final UserAccount user, final Repository repository, final Long fileId, final Date time) throws ConfigException { if (!repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); }//from www . j a v a 2 s .c o m if (null == time) { RepoFile file = get(RepoFile.class, fileId); if (file.getRepository().equals(repository)) { return file; } else { throw new ConfigException(Error.Code.FILE_NOT_FOUND); } } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); AuditQuery query = reader.createQuery().forEntitiesAtRevision(RepoFile.class, rev); query.add(AuditEntity.property("repository").eq(repository)); query.add(AuditEntity.id().eq(fileId)); try { return (RepoFile) query.getSingleResult(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Collection<RepoFile> getRepoFilesForAPI(final Repository repository, final Date date) throws ConfigException { if (null == repository) { throw new ConfigException(Error.Code.REPOSITORY_NOT_FOUND); }/*from w w w. j a va 2s .co m*/ if (null == date) { return repository.getFiles(); } try { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery query = reader.createQuery().forEntitiesAtRevision(RepoFile.class, rev) .add(AuditEntity.property("repository").eq(repository)); return query.getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Collection<RepoFile> getRepoFiles(final Repository repository, final UserAccount user, final String searchTerm, final Date date) throws ConfigException { if (Utils.anyNull(repository)) { throw new ConfigException(Error.Code.MISSING_PARAMS); }/* w w w . ja v a 2s . c o m*/ // if (!repository.isDemo() && null == user) // throw new ConfigException(Error.Code.MISSING_PARAMS); // if (!repository.isDemo() && !repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); } if (null == date) { if (Utils.isBlank(searchTerm)) { return repository.getFiles(); } else { try { return em.createNamedQuery("RepoFile.search").setLockMode(LockModeType.NONE) .setParameter("repository", repository) .setParameter("searchTerm", "%" + searchTerm + "%").getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } } } else { try { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery query = reader.createQuery().forEntitiesAtRevision(RepoFile.class, rev) .add(AuditEntity.property("repository").eq(repository)); if (!Utils.isBlank(searchTerm)) { query.add(AuditEntity.property("content").like("%" + searchTerm + "%")); } return query.getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public List<PropertyKey> getKeys(final UserAccount user, final Repository repository, final Collection<String> keys, final Date time) throws ConfigException { if (Utils.anyNull(repository, keys)) { throw new ConfigException(Error.Code.MISSING_PARAMS); }//w ww . ja v a 2 s. co m if (!repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); } if (null == time) { Collection<String> upperKeys = new ArrayList<>(); keys.forEach(k -> upperKeys.add(k.toUpperCase())); try { return em.createNamedQuery("Key.getKeys").setLockMode(LockModeType.NONE) .setParameter("repository", repository).setParameter("keys", upperKeys).getResultList(); } catch (NoResultException e) { return Collections.EMPTY_LIST; } catch (Exception e) { handleException(e); return Collections.EMPTY_LIST; } } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); AuditQuery query = reader.createQuery().forEntitiesAtRevision(PropertyKey.class, rev); query.add(AuditEntity.property("repository").eq(repository)); query.add(AuditEntity.property("key").in(keys)); try { return query.getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
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 2s . com*/ * @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; }
From source file:fi.vm.sade.eperusteet.amosaa.service.revision.impl.RevisionMetaServiceImpl.java
License:EUPL
@Override public Number getCurrentRevision() { AuditReader reader = AuditReaderFactory.get(em); try {//from w ww.j a v a 2s .co m return reader.getRevisionNumberForDate(new Date(Long.MAX_VALUE)); } catch (RevisionDoesNotExistException ex) { return 0; } }
From source file:fi.vm.sade.eperusteet.service.revision.impl.RevisionMetaServiceImpl.java
License:EUPL
@Override public Number getCurrentRevision() { AuditReader reader = AuditReaderFactory.get(em); Number revision = reader.getRevisionNumberForDate(new Date(Long.MAX_VALUE)); return revision; }