下面列出了org.hibernate.envers.query.AuditEntity#org.hibernate.envers.DefaultRevisionEntity 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public List<IdRev> searchIdRevForBuildConfigurationNameOrProjectName(
List<Project> projectsMatchingName,
String name) {
AuditDisjunction disjunction = AuditEntity.disjunction();
projectsMatchingName.forEach(project -> {
disjunction.add(AuditEntity.relatedId("project").eq(project.getId()));
});
disjunction.add(AuditEntity.property("name").like(name));
List<Object[]> result = AuditReaderFactory.get(entityManager)
.createQuery()
.forRevisionsOfEntity(BuildConfiguration.class, false, false)
.add(disjunction)
.addOrder(AuditEntity.revisionNumber().desc())
.getResultList();
return result.stream().map(o -> {
BuildConfiguration buildConfiguration = (BuildConfiguration) o[0];
DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) o[1];
return new IdRev(buildConfiguration.getId(), revisionEntity.getId());
}).collect(Collectors.toList());
}
public void printRevisions(List<Object[]> revisions) {
for (Object[] revision : revisions) {
final Project project = (Project) revision[0];
final DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) revision[1];
final RevisionType revisionType = (RevisionType) revision[2];
System.out.println();
System.out.println(project.toString());
System.out.println(revisionEntity.toString());
System.out.println("REVISION TYPE: " + revisionType.name());
System.out.println();
}
}
private BuildConfigurationAudited createAudited(Object entity, Object revision) {
BuildConfiguration buildConfiguration = (BuildConfiguration) entity;
DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) revision;
// preload generic parameters
buildConfiguration.getGenericParameters().forEach((k, v) -> k.equals(null));
return BuildConfigurationAudited.fromBuildConfiguration(buildConfiguration, revisionEntity.getId());
}
@Override
public List<IdRev> searchIdRevForBuildConfigurationName(String buildConfigurationName) {
List<Object[]> result = AuditReaderFactory.get(entityManager)
.createQuery()
.forRevisionsOfEntity(BuildConfiguration.class, false, false)
.add(AuditEntity.property("name").like(buildConfigurationName))
.addOrder(AuditEntity.revisionNumber().desc())
.getResultList();
return result.stream().map(o -> {
BuildConfiguration buildConfiguration = (BuildConfiguration) o[0];
DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) o[1];
return new IdRev(buildConfiguration.getId(), revisionEntity.getId());
}).collect(Collectors.toList());
}
@Override
public List<IdRev> searchIdRevForProjectId(Integer projectId) {
List<Object[]> result = AuditReaderFactory.get(entityManager)
.createQuery()
.forRevisionsOfEntity(BuildConfiguration.class, false, false)
.add(AuditEntity.relatedId("project").eq(projectId))
.addOrder(AuditEntity.revisionNumber().desc())
.getResultList();
return result.stream().map(o -> {
BuildConfiguration buildConfiguration = (BuildConfiguration) o[0];
DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) o[1];
return new IdRev(buildConfiguration.getId(), revisionEntity.getId());
}).collect(Collectors.toList());
}
private BuildConfigurationAudited findBuildConfigurationAudited(EntityManager em) {
List<Object[]> result = AuditReaderFactory.get(em)
.createQuery()
.forRevisionsOfEntity(BuildConfiguration.class, false, false)
.addOrder(AuditEntity.revisionNumber().desc())
.getResultList();
Object[] second = result.get(1);
BuildConfiguration buildConfiguration = (BuildConfiguration) second[0];
return BuildConfigurationAudited
.fromBuildConfiguration(buildConfiguration, ((DefaultRevisionEntity) second[1]).getId());
}
/**
* Gets the configuration.
*
* @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;
}
public Object execute(CommandSession session) throws Exception {
Map<Number, DefaultRevisionEntity> revisions = dpService.getRevisions(Long.valueOf( id ));
for (Number revisionNum : revisions.keySet()) {
DefaultRevisionEntity dre = revisions.get( revisionNum );
System.out.println(revisionNum + ": " + dre.getId() + ", " + dre.getTimestamp());
}
return null;
}
public void printRevisions(List<Object[]> revisions) {
for (Object[] revision : revisions) {
final Project project = (Project) revision[0];
final DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) revision[1];
final RevisionType revisionType = (RevisionType) revision[2];
System.out.println();
System.out.println(project.toString());
System.out.println(revisionEntity.toString());
System.out.println("REVISION TYPE: " + revisionType.name());
System.out.println();
}
}
private ArtifactAudited createAudited(Object entity, Object revision) {
Artifact artifact = (Artifact) entity;
DefaultRevisionEntity revisionEntity = (DefaultRevisionEntity) revision;
return ArtifactAudited.fromArtifact(artifact, revisionEntity.getId());
}
public Map<Number, DefaultRevisionEntity> getRevisions(long id) {
Session s = hibernateUtil.getSession();
AuditReader reader = AuditReaderFactory.get(s);
List<Number> revisionNums = reader.getRevisions( DataPoint.class, id );
return reader.findRevisions( DefaultRevisionEntity.class, new HashSet<Number>(revisionNums) );
}
public Map<Number, DefaultRevisionEntity> getRevisions(long id);