List of usage examples for org.hibernate.envers.query AuditEntity property
public static AuditProperty<Object> property(String propertyName)
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Property getAuditProperty(final Repository repository, final UserAccount user, final long propertyId, final long revId) throws ConfigException { try {/*from ww w . jav a2 s . c o m*/ if (!repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); } AuditReader reader = AuditReaderFactory.get(em); AuditQuery query = reader.createQuery().forRevisionsOfEntity(Property.class, true, true) .add(AuditEntity.revisionNumber().ge(revId)).add(AuditEntity.revisionNumber().le(revId)) .add(AuditEntity.property("repository").eq(repository)).add(AuditEntity.id().eq(propertyId)); return (Property) query.getSingleResult(); } catch (NoResultException e) { return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public AbsoluteFilePath getAbsFilePath(final Repository repository, final String absPath, final Date date) { if (null == repository || Utils.isBlank(absPath)) { return null; }//from w w w .ja va2 s . co m try { if (null == date) { return (AbsoluteFilePath) em.createNamedQuery("AbsFilePath.getByAbsPath") .setLockMode(LockModeType.NONE).setParameter("absPath", absPath) .setParameter("repository", repository).getSingleResult(); } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(null == date ? new Date() : date); AuditQuery kq = reader.createQuery().forEntitiesAtRevision(AbsoluteFilePath.class, rev); kq.add(AuditEntity.property("repository").eq(repository)); kq.add(AuditEntity.property("absPath").eq(absPath)); return (AbsoluteFilePath) kq.getSingleResult(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public RepoFile getRepoFile(final UserAccount user, final Repository repository, final Long fileId, final Date time) throws ConfigException { if (!repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); }//from www.java 2 s . com if (null == time) { RepoFile file = get(RepoFile.class, fileId); if (file.getRepository().equals(repository)) { return file; } else { throw new ConfigException(Error.Code.FILE_NOT_FOUND); } } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); AuditQuery query = reader.createQuery().forEntitiesAtRevision(RepoFile.class, rev); query.add(AuditEntity.property("repository").eq(repository)); query.add(AuditEntity.id().eq(fileId)); try { return (RepoFile) query.getSingleResult(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Collection<RepoFile> getRepoFilesForAPI(final Repository repository, final Date date) throws ConfigException { if (null == repository) { throw new ConfigException(Error.Code.REPOSITORY_NOT_FOUND); }// w w w . j a v a2 s . co m if (null == date) { return repository.getFiles(); } try { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery query = reader.createQuery().forEntitiesAtRevision(RepoFile.class, rev) .add(AuditEntity.property("repository").eq(repository)); return query.getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Collection<RepoFile> getRepoFiles(final Repository repository, final UserAccount user, final String searchTerm, final Date date) throws ConfigException { if (Utils.anyNull(repository)) { throw new ConfigException(Error.Code.MISSING_PARAMS); }// w w w.j ava 2s.c o m // if (!repository.isDemo() && null == user) // throw new ConfigException(Error.Code.MISSING_PARAMS); // if (!repository.isDemo() && !repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); } if (null == date) { if (Utils.isBlank(searchTerm)) { return repository.getFiles(); } else { try { return em.createNamedQuery("RepoFile.search").setLockMode(LockModeType.NONE) .setParameter("repository", repository) .setParameter("searchTerm", "%" + searchTerm + "%").getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } } } else { try { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery query = reader.createQuery().forEntitiesAtRevision(RepoFile.class, rev) .add(AuditEntity.property("repository").eq(repository)); if (!Utils.isBlank(searchTerm)) { query.add(AuditEntity.property("content").like("%" + searchTerm + "%")); } return query.getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public RepoFile getAuditConfigFile(final UserAccount user, final Repository repository, final Long fileId, final Long revId) throws ConfigException { try {/*from w ww .j a v a 2 s.c o m*/ if (!repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); } AuditReader reader = AuditReaderFactory.get(em); AuditQuery query = reader.createQuery().forRevisionsOfEntity(RepoFile.class, true, true) .add(AuditEntity.revisionNumber().ge(revId)).add(AuditEntity.revisionNumber().le(revId)) .add(AuditEntity.property("repository").eq(repository)).add(AuditEntity.id().eq(fileId)); return (RepoFile) query.getSingleResult(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public List<PropertyKey> getKeys(final UserAccount user, final Repository repository, final Collection<String> keys, final Date time) throws ConfigException { if (Utils.anyNull(repository, keys)) { throw new ConfigException(Error.Code.MISSING_PARAMS); }/*ww w . j a va 2 s . com*/ if (!repository.hasReadAccess(user)) { throw new ConfigException(Error.Code.USER_ACCESS_DENIED); } if (null == time) { Collection<String> upperKeys = new ArrayList<>(); keys.forEach(k -> upperKeys.add(k.toUpperCase())); try { return em.createNamedQuery("Key.getKeys").setLockMode(LockModeType.NONE) .setParameter("repository", repository).setParameter("keys", upperKeys).getResultList(); } catch (NoResultException e) { return Collections.EMPTY_LIST; } catch (Exception e) { handleException(e); return Collections.EMPTY_LIST; } } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); AuditQuery query = reader.createQuery().forEntitiesAtRevision(PropertyKey.class, rev); query.add(AuditEntity.property("repository").eq(repository)); query.add(AuditEntity.property("key").in(keys)); try { return query.getResultList(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); return null; } }
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.//from w w w . jav a2 s .com * * @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: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 . j a v a2s. 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); }