Example usage for org.hibernate.envers AuditReader createQuery

List of usage examples for org.hibernate.envers AuditReader createQuery

Introduction

In this page you can find the example usage for org.hibernate.envers AuditReader createQuery.

Prototype

AuditQueryCreator createQuery();

Source Link

Document

Creates an audit query

Usage

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());
    }
}