List of usage examples for org.hibernate.envers AuditReaderFactory get
public static AuditReader get(EntityManager entityManager) throws AuditException
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public Revision getLatestRevision(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); Object[] rev = (Object[]) auditReader.createQuery() .forRevisionsOfEntity(entityInformation.getJavaType(), false, true).add(AuditEntity.id().eq(id)) .addOrder(AuditEntity.revisionNumber().desc()).addProjection(AuditEntity.revisionNumber()) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.muokkaajaOid.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.kommentti.getName())) .addOrder(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName()).desc()).getResultList() .iterator().next();/* ww w .ja va 2s . c o m*/ return rev != null ? new Revision((Integer) rev[0], (Long) rev[1], (String) rev[2], (String) rev[3]) : null; }
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public List<Revision> getRevisions(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); @SuppressWarnings("unchecked") List<Object[]> results = (List<Object[]>) auditReader.createQuery() .forRevisionsOfEntity(entityInformation.getJavaType(), false, true) .addProjection(AuditEntity.revisionNumber()) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.muokkaajaOid.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.kommentti.getName())) .addOrder(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName()).desc()) .add(AuditEntity.id().eq(id)).getResultList(); List<Revision> revisions = new ArrayList<>(); for (Object[] result : results) { revisions.add(/*from ww w. java 2 s.co m*/ new Revision((Integer) result[0], (Long) result[1], (String) result[2], (String) result[3])); } return revisions; }
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public T findRevision(ID id, Integer revisionId) { return AuditReaderFactory.get(entityManager).find(entityInformation.getJavaType(), id, revisionId); }
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 . j a v a 2s .c om return revisions.get(revisions.size() - 1).intValue(); }
From source file:fi.vm.sade.eperusteet.amosaa.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public void setRevisioKommentti(String kommentti) { RevisionInfo currentRevision = AuditReaderFactory.get(entityManager).getCurrentRevision(RevisionInfo.class, false);//from w ww . ja v a2s . c o m currentRevision.addKommentti(kommentti); }
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 {// ww w . jav a2 s .c o 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; }
From source file:fi.vm.sade.eperusteet.utils.revision.impl.RevisionMetaServiceImpl.java
License:EUPL
@Override public Number getCurrentRevision() { AuditReader reader = AuditReaderFactory.get(em); try {//from w w w .j a va 2 s. co m Number revision = reader.getRevisionNumberForDate(new Date(Long.MAX_VALUE)); return revision; } catch (RevisionDoesNotExistException ex) { } return 0; }
From source file:fi.vm.sade.eperusteet.ylops.repository.version.JpaWithVersioningRepositoryImpl.java
License:EUPL
@Override public List<Revision> getRevisions(ID id) { AuditReader auditReader = AuditReaderFactory.get(entityManager); @SuppressWarnings("unchecked") List<Object[]> results = (List<Object[]>) auditReader.createQuery() .forRevisionsOfEntity(entityInformation.getJavaType(), false, true).addProjection(AuditEntity.id()) .addProjection(AuditEntity.revisionNumber()) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.muokkaajaOid.getName())) .addProjection(AuditEntity.revisionProperty(RevisionInfo_.kommentti.getName())) .addOrder(AuditEntity.revisionProperty(RevisionInfo_.timestamp.getName()).desc()) .add(AuditEntity.id().eq(id)).getResultList(); List<Revision> revisions = new ArrayList<>(); for (Object[] result : results) { revisions.add(new Revision((Long) result[0], (Integer) result[1], (Long) result[2], (String) result[3], (String) result[4])); }/*w ww . j a va2 s .c om*/ return revisions; }
From source file:fr.mcc.ginco.audit.tracking.GincoRevListener.java
License:CeCILL license
@Override public void entityChanged(Class entityClass, String entityName, Serializable entityId, RevisionType revisionType, Object revisionEntity) { GincoRevModifiedEntityType revEntity = new GincoRevModifiedEntityType(); revEntity.setEntityClassName(entityClass.getName()); revEntity.setRevision(((GincoRevEntity) revisionEntity).getId()); ((GincoRevEntity) revisionEntity).addModifiedEntityType(revEntity); if (ArrayUtils.contains(entityClass.getGenericInterfaces(), IAuditableBean.class)) { if (!revisionType.equals(RevisionType.DEL)) { GenericHibernateDAO objectDAO = new GenericHibernateDAO(entityClass); objectDAO.setSessionFactory((SessionFactory) applicationContext.getBean("gincoSessionFactory")); String thesaurusId = ((IAuditableBean) objectDAO.getById(entityId)).getThesaurusId(); ((GincoRevEntity) revisionEntity).setThesaurusId(thesaurusId); } else {/*from w w w. j a va2 s.c o m*/ SessionFactory sessionFactory = (SessionFactory) applicationContext.getBean("gincoSessionFactory"); AuditReader reader = AuditReaderFactory.get(sessionFactory.getCurrentSession()); AuditQueryBuilder queryBuilder = new AuditQueryBuilder(); AuditQuery query; try { query = queryBuilder.getEntityAddedQuery(reader, Class.forName(entityName), entityId); try { List<Object[]> createdEvent = (List<Object[]>) query.getResultList(); if (createdEvent != null && createdEvent.size() > 0) { ((GincoRevEntity) revisionEntity) .setThesaurusId(((GincoRevEntity) createdEvent.get(0)[1]).getThesaurusId()); } } catch (AuditException ae) { logger.warn("Unable to get the creation revision of the destroyed object", ae); } } catch (ClassNotFoundException e) { logger.error("Error storing audit data", e); } } } else { logger.warn("Trying to audit a bean not implementing IAuditableBean interface"); } }