List of usage examples for org.hibernate.envers AuditReader getRevisions
List<Number> getRevisions(Class<?> cls, Object primaryKey)
throws IllegalArgumentException, NotAuditedException, IllegalStateException;
From source file:br.com.munif.bereja.repositorio.Repositorio.java
public List<RevisaoEObjeto> listaVersoes(Long id) { List<RevisaoEObjeto> aRetornar = new ArrayList<>(); AuditReader auditReader = AuditReaderFactory.get(Persistencia.getInstancia().getEntityManager()); List<Number> revisoes = auditReader.getRevisions(clazz, id); for (Number n : revisoes) { AuditoriaRevisao auditoriaRevisao = Persistencia.getInstancia().getEntityManager() .find(AuditoriaRevisao.class, n.longValue()); Object object = auditReader.find(clazz, id, n.longValue()); aRetornar.add(new RevisaoEObjeto(auditoriaRevisao, object)); }/*from w w w . j av a 2 s.c om*/ return aRetornar; }
From source file:ch.puzzle.itc.mobiliar.business.function.boundary.FunctionsBoundary.java
License:Open Source License
/** * Returns all RevisionInformation for the specified function id *//* ww w .j a v a2 s . c om*/ public List<RevisionInformation> getFunctionRevisions(Integer functionId) { List<RevisionInformation> result = new ArrayList<>(); if (functionId != null) { AuditReader reader = AuditReaderFactory.get(entityManager); List<Number> list = reader.getRevisions(AmwFunctionEntity.class, functionId); for (Number rev : list) { Date date = reader.getRevisionDate(rev); MyRevisionEntity myRev = entityManager.find(MyRevisionEntity.class, rev); result.add(new RevisionInformation(rev, date, myRev.getUsername())); } Collections.sort(result); } return result; }
From source file:ch.puzzle.itc.mobiliar.business.globalfunction.boundary.GlobalFunctionsBoundary.java
License:Open Source License
/** * Returns all RevisionInformation for the specified function id *//*w w w . java2s .c o m*/ public List<RevisionInformation> getFunctionRevisions(Integer functionId) { List<RevisionInformation> result = new ArrayList<RevisionInformation>(); if (functionId != null) { AuditReader reader = AuditReaderFactory.get(entityManager); List<Number> list = reader.getRevisions(GlobalFunctionEntity.class, functionId); for (Number rev : list) { Date date = reader.getRevisionDate(rev); MyRevisionEntity myRev = entityManager.find(MyRevisionEntity.class, rev); result.add(new RevisionInformation(rev, date, myRev.getUsername())); } Collections.sort(result); } return result; }
From source file:ch.puzzle.itc.mobiliar.business.template.boundary.TemplateEditor.java
License:Open Source License
public List<RevisionInformation> getTemplateRevisions(Integer templateId) { List<RevisionInformation> result = new ArrayList<>(); AuditReader reader = AuditReaderFactory.get(entityManager); List<Number> list = reader.getRevisions(TemplateDescriptorEntity.class, templateId); for (Number rev : list) { Date date = reader.getRevisionDate(rev); MyRevisionEntity myRev = entityManager.find(MyRevisionEntity.class, rev); result.add(new RevisionInformation(rev, date, myRev.getUsername())); }//ww w.j a va2s .c o m Collections.sort(result); return result; }
From source file:ch.puzzle.itc.mobiliar.test.testrunner.example.ExamplePersistenceEnversTest.java
License:Open Source License
@Test public void shouldFindPropertyDescriptorEntity_inDifferentVersions() throws Exception { // when//from w ww. j a v a 2 s. c om PropertyDescriptorEntity result = entityManager.find(PropertyDescriptorEntity.class, 1); AuditReader auditReader = AuditReaderFactory.get(entityManager); List<Number> revisions = auditReader.getRevisions(PropertyDescriptorEntity.class, 1); PropertyDescriptorEntity revision1 = auditReader.find(PropertyDescriptorEntity.class, 1, 1); PropertyDescriptorEntity revision2 = auditReader.find(PropertyDescriptorEntity.class, 1, 2); // then assertNotNull(revisions); assertNotNull(revision1); assertNotNull(result); assertEquals(2, revisions.size()); assertEquals("comment2", result.getPropertyComment()); assertEquals("comment", revision1.getPropertyComment()); assertEquals("comment2", revision2.getPropertyComment()); }
From source file:com.intuit.tank.dao.BaseDao.java
License:Open Source License
/** * // w ww. jav a 2 s . c om * @param id * @return */ public int getHeadRevisionNumber(int id) { int result = 0; try { begin(); AuditReader reader = AuditReaderFactory.get(getEntityManager()); List<Number> revisions = reader.getRevisions(entityClass, id); if (!revisions.isEmpty()) { result = revisions.get(revisions.size() - 1).intValue(); } commit(); } catch (NoResultException e) { LOG.warn("No result for revision with id of " + id); } finally { cleanup(); } return result; }
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") public Revision<N, T> findLastChangeRevision(ID id) { Class<T> type = entityInformation.getJavaType(); AuditReader reader = AuditReaderFactory.get(entityManager); List<Number> revisions = reader.getRevisions(type, id); if (revisions.isEmpty()) { return null; }// w ww.ja v a2 s.co m N latestRevision = (N) revisions.get(revisions.size() - 1); Class<?> revisionEntityClass = revisionEntityInformation.getRevisionEntityClass(); Object revisionEntity = reader.findRevision(revisionEntityClass, latestRevision); RevisionMetadata<N> metadata = (RevisionMetadata<N>) getRevisionMetadata(revisionEntity); return new Revision<N, T>(metadata, reader.find(type, id, latestRevision)); }
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") public Revisions<N, T> findRevisions(ID id) { Class<T> type = entityInformation.getJavaType(); AuditReader reader = AuditReaderFactory.get(entityManager); List<? extends Number> revisionNumbers = reader.getRevisions(type, id); return revisionNumbers.isEmpty() ? new Revisions<N, T>(Collections.EMPTY_LIST) : getEntitiesForRevisions((List<N>) revisionNumbers, id, reader); }
From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java
License:Apache License
@SuppressWarnings("unchecked") public Page<Revision<N, T>> findRevisions(ID id, Pageable pageable) { Class<T> type = entityInformation.getJavaType(); AuditReader reader = AuditReaderFactory.get(entityManager); List<Number> revisionNumbers = reader.getRevisions(type, id); if (pageable.getOffset() > revisionNumbers.size()) { return new PageImpl<Revision<N, T>>(Collections.<Revision<N, T>>emptyList(), pageable, 0); }/* w w w .jav a2s.c o m*/ int upperBound = pageable.getOffset() + pageable.getPageSize(); upperBound = upperBound > revisionNumbers.size() ? revisionNumbers.size() : upperBound; List<? extends Number> subList = revisionNumbers.subList(pageable.getOffset(), upperBound); Revisions<N, T> revisions = getEntitiesForRevisions((List<N>) subList, id, reader); return new PageImpl<Revision<N, T>>(revisions.getContent(), pageable, revisionNumbers.size()); }
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public Integer getLatestRevisionId(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); final List<Number> revisions = auditReader.getRevisions(entityInformation.getJavaType(), id); if (revisions == null || revisions.isEmpty()) { return null; }//from ww w . ja v a2 s. co m return revisions.get(revisions.size() - 1).intValue(); }