diff --git a/utils/src/com/cloud/utils/db/GenericDao.java b/utils/src/com/cloud/utils/db/GenericDao.java index 15d04b76a1c..31a25fd7088 100755 --- a/utils/src/com/cloud/utils/db/GenericDao.java +++ b/utils/src/com/cloud/utils/db/GenericDao.java @@ -57,6 +57,9 @@ public interface GenericDao { // Finds one unique VO using uuid T findByUuid(String uuid); + + // Finds one unique VO using uuid including removed entities + T findByUuidIncludingRemoved(String uuid); /** * @return VO object ready to be used for update. It won't have any fields filled in. diff --git a/utils/src/com/cloud/utils/db/GenericDaoBase.java b/utils/src/com/cloud/utils/db/GenericDaoBase.java index 880e9de22a8..0d73b902354 100755 --- a/utils/src/com/cloud/utils/db/GenericDaoBase.java +++ b/utils/src/com/cloud/utils/db/GenericDaoBase.java @@ -921,6 +921,14 @@ public abstract class GenericDaoBase implements Gene return findOneBy(sc); } + @Override @DB(txn=false) + @SuppressWarnings("unchecked") + public T findByUuidIncludingRemoved(final String uuid) { + SearchCriteria sc = createSearchCriteria(); + sc.addAnd("uuid", SearchCriteria.Op.EQ, uuid); + return findOneIncludingRemovedBy(sc); + } + @Override @DB(txn=false) public T findByIdIncludingRemoved(ID id) { return findById(id, true, null);