ref #8479 add listUUIDs method
authorAndreas Müller <a.mueller@bgbm.org>
Tue, 27 Aug 2019 23:42:19 +0000 (01:42 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Tue, 27 Aug 2019 23:42:19 +0000 (01:42 +0200)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/common/ICdmGenericDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/CdmGenericDaoImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/CommonServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ICommonService.java

index 1c0235a8c5307ec471822c4dfbca2084baae74d3..6570b1073fbca4e14676ab2556c02faaefba5d38 100644 (file)
@@ -335,8 +335,10 @@ public interface ICdmGenericDao {
      */
     public long getReferencingObjectsCount(CdmBase referencedCdmBase);
 
-
-
-
+    /**
+     * @param clazz
+     * @return
+     */
+    public List<UUID> listUuid(Class<? extends CdmBase> clazz);
 
 }
index 7848ebdcdb91f7f151c8eae73d5a342095e5fcf8..5fceb438978b959801dde7c8409a83f674afa9a9 100644 (file)
@@ -81,11 +81,11 @@ import eu.etaxonomy.cdm.strategy.merge.MergeException;
 public class CdmGenericDaoImpl
          extends CdmEntityDaoBase<CdmBase>
          implements ICdmGenericDao{
-       private static final Logger logger = Logger.getLogger(CdmGenericDaoImpl.class);
 
+    private static final Logger logger = Logger.getLogger(CdmGenericDaoImpl.class);
 
        private Set<Class<? extends CdmBase>> allCdmClasses = null;
-       private final Map<Class<? extends CdmBase>, Set<ReferenceHolder>> referenceMap = new HashMap<Class<? extends CdmBase>, Set<ReferenceHolder>>();
+       private final Map<Class<? extends CdmBase>, Set<ReferenceHolder>> referenceMap = new HashMap<>();
 
 
        protected class ReferenceHolder{
@@ -961,6 +961,15 @@ public class CdmGenericDaoImpl
                dataGenerator.fillWithData(getSession());
        }
 
+    @Override
+    public List<UUID> listUuid(Class<? extends CdmBase> clazz) {
+        String queryString = "SELECT uuid FROM " + clazz.getSimpleName();
+        Query query = getSession().createQuery(queryString);
+        @SuppressWarnings("unchecked")
+        List<UUID> list = query.list();
+        return list;
+    }
+
 
 
 }
index 5f09d85e882d941b178eb3eb271f68d041457ea1..c4a8e796abdb2be4f37f4258e06a69dc48e85a05 100644 (file)
@@ -443,4 +443,9 @@ public class CommonServiceImpl /*extends ServiceBase<OriginalSourceBase,IOrigina
         return genericDao.isMergeable(cdmBase1, cdmBase2, mergeStrategy);\r
     }\r
 \r
+    @Override\r
+    public List<UUID> listUuid(Class<? extends CdmBase> clazz) {\r
+        return genericDao.listUuid(clazz);\r
+    }\r
+\r
 }\r
index 4e447791fdb83aac4db26324488f2eb92ec29367..7603433fbbbddb05b7e62a305bb006c4e61d6274 100644 (file)
@@ -373,5 +373,10 @@ public interface ICommonService /*extends IService<OriginalSourceBase>*/{
      */
     public long getReferencingObjectsCount(CdmBase referencedCdmBase);
 
+    /**
+     * @param clazz
+     */
+    public List<UUID> listUuid(Class<? extends CdmBase> clazz);
+
 
 }