in src/main/java/com/google/gcs/sdrs/dao/impl/DmQueueDaoImpl.java [83:114]
public List<DmRequest> getPendingDmRequestByName(String dataStorageName, String projectId) {
if (dataStorageName == null || projectId == null) {
return null;
}
Session session = null;
List<DmRequest> result = null;
try {
session = openSession();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<DmRequest> query = builder.createQuery(DmRequest.class);
Root<DmRequest> root = query.from(DmRequest.class);
query
.select(root)
.where(
builder.equal(root.get("dataStorageName"), dataStorageName),
builder.equal(root.get("projectId"), projectId),
builder.or(
builder.equal(root.get("status"), DatabaseConstants.DM_REQUEST_STATUS_PENDING),
builder.equal(root.get("status"), DatabaseConstants.DM_REQUEST_STATUS_SCHEDULED),
builder.equal(root.get("status"), DatabaseConstants.DM_REQUEST_STATIUS_RETRY)));
result = session.createQuery(query).getResultList();
closeSession(session);
} catch (Exception e) {
handleRuntimeException(e, null);
} finally{
closeSession(session);
}
return result;
}