List of usage examples for org.hibernate.envers AuditReader createQuery
AuditQueryCreator createQuery();
From source file:com.griffinslogistics.dao.DAO.java
@Override public List getRevisions(Class aClass, Long id) { AuditReader auditReader = AuditReaderFactory.get(this.sessionFactory.getCurrentSession()); AuditQuery query = auditReader.createQuery().forRevisionsOfEntity(aClass, false, true) .add(AuditEntity.property("id").eq(id)).addOrder(AuditEntity.revisionNumber().desc()); List result = query.getResultList(); return result; }
From source file:com.impetus.ankush.common.service.ConfigurationManager.java
License:Open Source License
/** * Gets the configuration.// ww w . ja v a 2 s . c om * * @param clusterId * the cluster id * @return the configuration */ public List getConfiguration(Long clusterId) { try { AuditReader reader = AuditReaderFactory.get(HibernateUtils.getEntityManager()); AuditQuery query = reader.createQuery().forRevisionsOfEntity(Configuration.class, false, true); // filter results besed on cluster id. query.add(AuditEntity.property(com.impetus.ankush2.constant.Constant.Keys.CLUSTERID).eq(clusterId)); query.addOrder( AuditEntity.revisionProperty(com.impetus.ankush2.constant.Constant.Keys.TIMESTAMP).desc()); // Getting Result list. List list = query.getResultList(); // Creating List Object. List result = new ArrayList(); for (Object object : list) { Object[] obj = (Object[]) object; Map map = new HashMap(); // Mapping Revision Entity. DefaultRevisionEntity ri = (DefaultRevisionEntity) obj[1]; map.putAll(JsonMapperUtil.mapFromObject(obj[0])); map.put(com.impetus.ankush2.constant.Constant.Keys.DATE, ri.getRevisionDate()); map.put(com.impetus.ankush2.constant.Constant.Keys.REVISIONID, ri.getId()); map.put(com.impetus.ankush2.constant.Constant.Keys.TYPE, obj[2]); result.add(map); } return result; } catch (Exception e) { LOG.error(e.getMessage(), e); } return null; }
From source file:com.webbfontaine.valuewebb.envers.AuditedEntityLoader.java
License:Open Source License
private SimpleDocument getAuditRecord(Class entityClass) { Integer revNum = Integer.parseInt(this.revNum); Long entityId = Long.valueOf(this.entityId); Object auditRecord;/*from ww w .jav a 2 s. c o m*/ AuditReader reader = AuditReaderFactory.get(Utils.getEntityManager()); AuditQuery auditQuery = reader.createQuery().forEntitiesAtRevision(entityClass, revNum) .add(AuditEntity.revisionNumber().eq(revNum)).add(AuditEntity.id().eq(entityId)); List result = auditQuery.getResultList(); if (result.isEmpty()) { auditQuery = reader.createQuery().forEntitiesAtRevision(entityClass, revNum) .add(AuditEntity.revisionNumber().le(revNum)).add(AuditEntity.id().eq(entityId)); auditRecord = auditQuery.getResultList().get(0); } else { auditRecord = result.get(0); } SimpleDocument simpleDocument = null; if (auditRecord instanceof SimpleDocument) { simpleDocument = (SimpleDocument) auditRecord; } else { LOGGER.error("Audited entity of class {} does not implement necessary logic of {}", auditRecord.getClass().getName(), SimpleDocument.class.getName()); } return simpleDocument; }
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 www .j a va2 s.c om*/ * @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:cz.filmtit.userspace.Session.java
License:Open Source License
/** * Loads old Subtitle Item for a given Translation Result created before * revision number//from w w w .ja v a 2s . c o m * * @param result Translation Result of which to load old version * @param number Revision Number * @return returns an object containing old version of Translation Result * and number of revision at which it was created */ public AuditResponse loadOldTranslationResult(TranslationResult result, Number number) { AuditReader auditReader = AuditReaderFactory.get(usHibernateUtil.getSessionWithActiveTransaction()); if (number == null) { number = Integer.MAX_VALUE; } Number revisionNumber = (Number) auditReader.createQuery() .forRevisionsOfEntity(USTranslationResult.class, true, false) .add(AuditEntity.id().eq(result.getId())).addProjection(AuditEntity.revisionNumber().max()) .add(AuditEntity.revisionNumber().lt(number)) .add(AuditEntity.or(AuditEntity.property("userTranslation").hasChanged(), AuditEntity.property("posteditedString").hasChanged())) .getSingleResult(); if (revisionNumber == null) { return new AuditResponse(); } USTranslationResult singleResult = (USTranslationResult) auditReader.createQuery() .forEntitiesAtRevision(USTranslationResult.class, revisionNumber) .add(AuditEntity.id().eq(result.getId())).getSingleResult(); if (singleResult == null) { return new AuditResponse(); } logger.log(Logger.Level.ERROR, singleResult.getTranslationResult() + " " + revisionNumber); return new AuditResponse(singleResult.getTranslationResult(), revisionNumber); }
From source file:dao.ApostaDao.java
public List<Aposta> listarAuditoria() throws Exception { try {//from w w w .ja v a 2 s. c om Session sessao = Hibernate4Util.getSessionFactory(); Transaction transacao = sessao.beginTransaction(); AuditReader reader = AuditReaderFactory.get(sessao); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(Aposta.class, false, true) .getResultList(); List<Aposta> listaAuditada = new ArrayList<>(); int contador = 0; for (Object[] objTmp : resultList) { Aposta apostaTmp = (Aposta) objTmp[0]; apostaTmp.setRevType(objTmp[2].toString()); if (apostaTmp.getApostador() != null) { apostaTmp.getApostador().getCodigo(); } if (apostaTmp.getJogo() != null) { apostaTmp.getJogo().getCodigo(); } listaAuditada.add(contador, apostaTmp); contador++; } transacao.commit(); return listaAuditada; } catch (HibernateException e) { throw new Exception("No foi possvel buscar a auditoria. Erro: " + e.getMessage()); } }
From source file:dao.ApostadorDao.java
public List<Apostador> listarAuditoria() throws Exception { try {//from ww w . j a v a2s . c o m Session sessao = Hibernate4Util.getSessionFactory(); Transaction transacao = sessao.beginTransaction(); AuditReader reader = AuditReaderFactory.get(sessao); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(Apostador.class, false, true) .getResultList(); List<Apostador> listaAuditada = new ArrayList<>(); int contador = 0; for (Object[] objTmp : resultList) { Apostador apostadorTmp = (Apostador) objTmp[0]; apostadorTmp.setRevType(objTmp[2].toString()); if (apostadorTmp.getGrupo() != null) { apostadorTmp.getGrupo().getCodigo(); } if (apostadorTmp.getTimeDePreferencia() != null) { apostadorTmp.getTimeDePreferencia().getCodigo(); } listaAuditada.add(contador, apostadorTmp); contador++; } transacao.commit(); return listaAuditada; } catch (HibernateException e) { throw new Exception("No foi possvel buscar a auditoria. Erro: " + e.getMessage()); } }
From source file:dao.CompeticaoDao.java
public List<Competicao> listarAuditoria() throws Exception { try {//w w w. java2 s . c o m Session sessao = Hibernate4Util.getSessionFactory(); Transaction transacao = sessao.beginTransaction(); AuditReader reader = AuditReaderFactory.get(sessao); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(Competicao.class, false, true) .getResultList(); List<Competicao> listaAuditada = new ArrayList<>(); int contador = 0; for (Object[] objTmp : resultList) { Competicao competicaoTmp = (Competicao) objTmp[0]; competicaoTmp.setRevType(objTmp[2].toString()); listaAuditada.add(contador, competicaoTmp); contador++; } transacao.commit(); return listaAuditada; } catch (HibernateException e) { throw new Exception("No foi possvel buscar a auditoria. Erro: " + e.getMessage()); } }
From source file:dao.RodadaDao.java
public List<Rodada> listarAuditoria() throws Exception { try {// ww w.j a v a2 s . c om Session sessao = Hibernate4Util.getSessionFactory(); Transaction transacao = sessao.beginTransaction(); AuditReader reader = AuditReaderFactory.get(sessao); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(Rodada.class, false, true) .getResultList(); List<Rodada> listaAuditada = new ArrayList<>(); int contador = 0; for (Object[] objTmp : resultList) { Rodada rodadaTmp = (Rodada) objTmp[0]; rodadaTmp.setRevType(objTmp[2].toString()); if (rodadaTmp.getCompeticao() != null) { rodadaTmp.getCompeticao().getCodigo(); } listaAuditada.add(contador, rodadaTmp); contador++; } transacao.commit(); return listaAuditada; } catch (HibernateException e) { throw new Exception("No foi possvel buscar a auditoria. Erro: " + e.getMessage()); } }
From source file:dao.TimeCompeticaoDao.java
public List<TimeCompeticao> listarAuditoria() throws Exception { try {/* www . jav a2 s. c o m*/ Session sessao = Hibernate4Util.getSessionFactory(); Transaction transacao = sessao.beginTransaction(); AuditReader reader = AuditReaderFactory.get(sessao); List<Object[]> resultList = reader.createQuery().forRevisionsOfEntity(TimeCompeticao.class, false, true) .getResultList(); List<TimeCompeticao> listaAuditada = new ArrayList<>(); int contador = 0; for (Object[] objTmp : resultList) { TimeCompeticao tcTmp = (TimeCompeticao) objTmp[0]; tcTmp.setRevType(objTmp[2].toString()); if (tcTmp.getCompeticao() != null) { tcTmp.getCompeticao().getCodigo(); } if (tcTmp.getTime() != null) { tcTmp.getTime().getCodigo(); } listaAuditada.add(contador, tcTmp); contador++; } transacao.commit(); return listaAuditada; } catch (HibernateException e) { throw new Exception( "No foi possvel buscar os vinculos de time por competio. Erro: " + e.getMessage()); } }