List of usage examples for org.hibernate.envers AuditReaderFactory get
public static AuditReader get(EntityManager entityManager) throws AuditException
From source file:TestConsole.java
License:Open Source License
private void printPersonHistory(StringBuilder sb, int personId) { AuditReader reader = AuditReaderFactory.get(entityManager); List<?> personHistory = reader.createQuery().forRevisionsOfEntity(Person.class, false, true) .add(AuditEntity.id().eq(personId)).getResultList(); if (personHistory.size() == 0) { sb.append("A person with id ").append(personId).append(" does not exist.\n"); } else {//ww w. j av a2 s .com for (Object historyObj : personHistory) { Object[] history = (Object[]) historyObj; DefaultRevisionEntity revision = (DefaultRevisionEntity) history[1]; sb.append("revision = ").append(revision.getId()).append(", "); printPerson(sb, (Person) history[0]); sb.append(" (").append(revision.getRevisionDate()).append(")\n"); } } }
From source file:TestConsole.java
License:Open Source License
private void printPersonAtRevision(StringBuilder sb, int personId, int revision) { AuditReader reader = AuditReaderFactory.get(entityManager); Person p = reader.find(Person.class, personId, revision); if (p == null) { sb.append("This person does not exist at that revision."); } else {/*from w w w. j ava 2 s. c o m*/ printPerson(sb, p); } }
From source file:TestConsole.java
License:Open Source License
private void printAddressHistory(StringBuilder sb, int addressId) { AuditReader reader = AuditReaderFactory.get(entityManager); List<?> addressHistory = reader.createQuery().forRevisionsOfEntity(Address.class, false, true) .add(AuditEntity.id().eq(addressId)).getResultList(); if (addressHistory.size() == 0) { sb.append("A address with id ").append(addressId).append(" does not exist.\n"); } else {// w w w . jav a2 s . co m for (Object historyObj : addressHistory) { Object[] history = (Object[]) historyObj; DefaultRevisionEntity revision = (DefaultRevisionEntity) history[1]; sb.append("revision = ").append(revision.getId()).append(", "); printAddress(sb, (Address) history[0]); sb.append(" (").append(revision.getRevisionDate()).append(")\n"); } } }
From source file:TestConsole.java
License:Open Source License
private void printAddressAtRevision(StringBuilder sb, int addressId, int revision) { AuditReader reader = AuditReaderFactory.get(entityManager); Address a = reader.find(Address.class, addressId, revision); if (a == null) { sb.append("This address does not exist at that revision."); } else {/*www . j a va 2s . c om*/ printAddress(sb, a); } }
From source file:au.org.theark.core.dao.AuditDao.java
License:Open Source License
public AuditReader getAuditReader() { return AuditReaderFactory.get(getSession()); }
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 ww w . j av a2 s .co m*/ return aRetornar; }
From source file:br.ufac.sion.service.AuditoriaService.java
public Set<AuditoriaDTO> findAllRevisions(FiltroAuditoria filtro) throws NegocioException { if (filtro.getDataInicio() != null && filtro.getDataFim() != null) { if (!filtro.getDataFim().isAfter(filtro.getDataInicio())) { throw new NegocioException("A data de termino deve ser maior que a data de incio!"); }//from ww w . java 2 s . c o m } Set<AuditoriaDTO> dtos = new HashSet<>(); AuditReader reader = AuditReaderFactory.get(em); AuditQuery query = reader.createQuery().forRevisionsOfEntity(filtro.getClasse(), false, true); if (filtro.getDataInicio() != null) { query.add(AuditEntity.revisionProperty("timestamp") .gt(Timestamp.from(filtro.getDataInicio().toInstant(ZoneOffset.UTC)).getTime())); } if (filtro.getDataFim() != null) { query.add(AuditEntity.revisionProperty("timestamp") .lt(Timestamp.from(filtro.getDataFim().toInstant(ZoneOffset.UTC)).getTime())); } if (StringUtils.isNotEmpty(filtro.getLogin())) { query.add(AuditEntity.revisionProperty("username").ilike(filtro.getLogin(), MatchMode.EXACT)); } if (filtro.getTiposRevisao().length > 0) { System.out.println("entra id tipo revisao"); query.add(AuditEntity.property("REVTYPE").in(filtro.getTiposRevisao())); } List<Object[]> result = query.getResultList(); for (Object[] o : result) { try { // Object instancia = filtro.getClass().cast(o[0]); Object instancia = Class.forName(filtro.getClasse().getName()).cast(o[0]); // Method metodo; // metodo = instancia.getClass().getMethod("getId"); // Long id = (Long) metodo.invoke(instancia); CustomRevisionEntity revision = (CustomRevisionEntity) o[1]; RevisionType revisionType = (RevisionType) o[2]; Instant instant = Instant.ofEpochMilli(revision.getTimestamp()); AuditoriaDTO dto = new AuditoriaDTO(instancia, revisionType, filtro.getEntidade(), revision); dtos.add(dto); } catch (Exception ex) { throw new NegocioException(ex.getMessage()); } } return dtos; }
From source file:br.ufac.sion.service.AuditoriaService.java
public <T> List<T> findRevisionsById(Class<?> classe, Long id) { AuditReader reader = AuditReaderFactory.get(em); AuditQuery q = reader.createQuery().forRevisionsOfEntity(classe, true, true); q.add(AuditEntity.id().eq(id));/* w w w. j a v a 2 s . c o m*/ List<T> audit = q.getResultList(); return audit; }
From source file:ch.puzzle.itc.mobiliar.business.auditview.control.AuditService.java
License:Open Source License
@SuppressWarnings("unchecked") public <T> Object getDeletedEntity(T entity, Integer id) { Objects.requireNonNull(entity, "Entity can not be null"); Objects.requireNonNull(id, "Id can not be null"); AuditReader reader = AuditReaderFactory.get(entityManager); if (reader.isEntityClassAudited(entity.getClass())) { AuditQuery query = reader.createQuery().forRevisionsOfEntity(entity.getClass(), false, true) .add(AuditEntity.id().eq(id)).add(AuditEntity.revisionType().eq(DEL)); List<Object[]> resultList = query.getResultList(); if (!resultList.isEmpty()) { return resultList.get(0)[0]; }//from ww w .ja v a 2s .c o m } return null; }
From source file:ch.puzzle.itc.mobiliar.business.auditview.control.AuditService.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Object> getAllDeletedEntities(Class clazz) { Objects.requireNonNull(clazz, "Clazz can not be null"); AuditReader reader = AuditReaderFactory.get(entityManager); if (reader.isEntityClassAudited(clazz)) { AuditQuery query = reader.createQuery().forRevisionsOfEntity(clazz, false, true) .add(AuditEntity.revisionType().eq(DEL)); List<Object[]> resultList = query.getResultList(); if (!resultList.isEmpty()) { List<Object> deleted = new ArrayList<>(); for (Object[] objects : resultList) { deleted.add(objects[0]); }// www. ja v a2s . c o m return deleted; } } return Collections.EMPTY_LIST; }