in src/main/java/com/google/gcs/sdrs/dao/impl/RetentionJobDaoImpl.java [72:94]
public RetentionJob findLatestDefaultJob(String dataStorageName) {
RetentionJob retentionJob = null;
Session session = openSession();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<RetentionJob> criteria = builder.createQuery(RetentionJob.class);
Root<RetentionJob> root = criteria.from(RetentionJob.class);
criteria
.select(root)
.where(
builder.equal(root.get("retentionRuleDataStorageName"), dataStorageName),
builder.or(
builder.equal(root.get("retentionRuleType"), RetentionRuleType.DEFAULT),
builder.equal(root.get("retentionRuleType"), RetentionRuleType.GLOBAL)))
.orderBy(builder.desc(root.get("createdAt")));
Query<RetentionJob> query = session.createQuery(criteria);
List<RetentionJob> result = query.getResultList();
if (!result.isEmpty()) {
retentionJob = result.get(0);
}
closeSession(session);
return retentionJob;
}