List of usage examples for org.hibernate.envers AuditReaderFactory get
public static AuditReader get(EntityManager entityManager) throws AuditException
From source file:com.confighub.core.store.Store.java
License:Open Source License
/** * Get levels at a specific point in time. * * @param repository To which levels are assigned * @param time At the time levels were current * @return Collection of Levels from that time * @throws ConfigException Is thrown if there were problems fetching records *//* w w w . ja va 2s .co m*/ public Collection<CtxLevel> getLevels(final Repository repository, final Date time) throws ConfigException { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); AuditQuery query = reader.createQuery().forEntitiesAtRevision(CtxLevel.class, rev); query.add(AuditEntity.property("repository").eq(repository)); return query.getResultList(); }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public CtxLevel getLevel(final String levelName, final Depth depth, final Repository repository, final Date time) throws ConfigException { if (Utils.anyNull(levelName, repository)) { return null; }//from w w w .j a v a 2 s . c om if (null == time) { try { String levelUpper = levelName.toUpperCase(); return (CtxLevel) em.createNamedQuery("Level.getByName").setLockMode(LockModeType.NONE) .setParameter("repository", repository).setParameter("name", levelUpper) .setParameter("depth", depth).getSingleResult(); } catch (NoResultException e) { return null; } catch (Exception e) { handleException(e); } return null; } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(time); // ToDo will not return deleted level AuditQuery query = reader.createQuery().forEntitiesAtRevision(CtxLevel.class, rev); query.add(AuditEntity.property("repository").eq(repository)); query.add(AuditEntity.property("name").eq(levelName)); query.add(AuditEntity.property("depth").eq(depth)); try { return (CtxLevel) 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
/** * Get properties at a specific point in time. * * @param repository To which levels are assigned * @param date At the time levels were current * @return Collection of Levels from that time * @throws ConfigException Is thrown if there were problems fetching records *//*from ww w . j av a 2s . co m*/ public Collection<Property> getProperties(final Repository repository, final Date date) throws ConfigException { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery query = reader.createQuery().forEntitiesAtRevision(Property.class, rev); query.add(AuditEntity.property("repository").eq(repository)); return query.getResultList(); }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public Pair<PropertyKey, Collection<Property>> getPropertiesForKey(final Repository repository, final Date date, String key) throws ConfigException { AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(null == date ? new Date() : date); AuditQuery kq = reader.createQuery().forEntitiesAtRevision(PropertyKey.class, rev); kq.add(AuditEntity.property("repository").eq(repository)); kq.add(AuditEntity.property("key").eq(key)); PropertyKey propertyKey;/* w w w . ja v a 2s . c om*/ try { propertyKey = (PropertyKey) kq.getSingleResult(); } catch (NoResultException e) { return null; } AuditQuery query = reader.createQuery().forEntitiesAtRevision(Property.class, rev); query.add(AuditEntity.property("repository").eq(repository)); query.add(AuditEntity.relatedId("propertyKey").eq(propertyKey.getId())); Collection<Property> properties = query.getResultList(); propertyKey.propertyCount = properties.size(); return new Pair(propertyKey, properties); }
From source file:com.confighub.core.store.Store.java
License:Open Source License
/** * Returns the key from a specific date/*from w w w . java 2s .c om*/ * * @param repository * @param key * @param date * @return */ public PropertyKey getKey(final Repository repository, final String key, final Date date) { if (null == repository || Utils.isBlank(key)) { return null; } try { if (null == date) { return (PropertyKey) em.createNamedQuery("Key.getByKey").setLockMode(LockModeType.NONE) .setParameter("key", key.toUpperCase()).setParameter("repository", repository) .getSingleResult(); } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(null == date ? new Date() : date); AuditQuery kq = reader.createQuery().forEntitiesAtRevision(PropertyKey.class, rev); kq.add(AuditEntity.property("repository").eq(repository)); kq.add(AuditEntity.property("key").eq(key)); return (PropertyKey) 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 Collection<PropertyKey> getPropertiesKeys(final Repository repository, final Date time) throws ConfigException { 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)); return query.getResultList(); }
From source file:com.confighub.core.store.Store.java
License:Open Source License
public SecurityProfile getSecurityProfile(final Repository repository, final Date date, final String spName) throws ConfigException { try {/* w w w.j a v a 2 s . co m*/ if (null == date) { return (SecurityProfile) em.createNamedQuery("SecurityProfile.byName") .setLockMode(LockModeType.NONE).setParameter("repository", repository) .setParameter("name", spName).getSingleResult(); } AuditReader reader = AuditReaderFactory.get(em); Number rev = reader.getRevisionNumberForDate(date); AuditQuery kq = reader.createQuery().forEntitiesAtRevision(SecurityProfile.class, rev); kq.add(AuditEntity.property("repository").eq(repository)); kq.add(AuditEntity.property("name").eq(spName)); SecurityProfile sp = (SecurityProfile) kq.getSingleResult(); return sp; } 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
private List<AuditRecord> getAuditCommits(List<RevisionEntry> revs) { AuditReader reader = AuditReaderFactory.get(em); List<AuditRecord> changes = new ArrayList<>(); for (RevisionEntry rt : revs) { String[] clazzesSplit = rt.getType().split(","); Set<Class> clazzes = new HashSet<>(); for (String cl : clazzesSplit) { clazzes.add(APersisted.ClassName.valueOf(cl).getClazz()); }/*from w w w. ja va 2 s .c om*/ List<APersisted> results = new ArrayList<>(); for (Class clazz : clazzes) { AuditQuery query = reader.createQuery().forEntitiesModifiedAtRevision(clazz, rt.getId()); results.addAll(query.getResultList()); } changes.add(new AuditRecord(results, rt, get(UserAccount.class, rt.getUserId()), rt.getAppId())); } return changes; }
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 {/*w w w . ja va2 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; }/* w w w. j a v a2 s . com*/ 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; } }