public RetentionJob findLatestDefaultJob()

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;
  }