Esempio n. 1
0
 public static List<Trade> getOldVersionList(Trade trade) {
   Session session = HibernateUtil.getSession();
   List<Trade> result = new ArrayList<>();
   try {
     if (trade != null) {
       result.add(trade);
       AuditReader reader = AuditReaderFactory.get(session);
       List<Object[]> prior_revision =
           (List<Object[]>)
               reader
                   .createQuery()
                   .forRevisionsOfEntity(trade.getClass(), false, true)
                   .add(AuditEntity.property("tradeVersion").lt(trade.getTradeVersion()))
                   .add(AuditEntity.id().eq(trade.getId()))
                   .addOrder(AuditEntity.revisionNumber().desc())
                   .getResultList();
       for (Object[] objects : prior_revision) {
         Trade version = (Trade) objects[0];
         unProxyObject(version);
         result.add(version);
       }
     }
   } catch (ClassNotFoundException
       | IllegalAccessException
       | HibernateException
       | IllegalArgumentException
       | InvocationTargetException e) {
     logger.error(StringUtils.formatErrorMessage(e));
   } finally {
     session.close();
   }
   return result;
 }
Esempio n. 2
0
  public static Trade getPreviousVersion(Trade entity) {
    Session session = HibernateUtil.getSession();
    Trade trade = null;
    try {
      List<Trade> oldVersionList = getOldVersionList(entity);
      if (!oldVersionList.isEmpty()) {
        trade = oldVersionList.get(0);
      }
      if (trade != null) {
        unProxyObject(trade);
      }

    } catch (IllegalAccessException
        | IllegalArgumentException
        | InvocationTargetException
        | HibernateException
        | ClassNotFoundException e) {
      logger.error(StringUtils.formatErrorMessage(e));
    } finally {
      session.close();
    }
    return trade;
  }