Updated a couple of methods to be more in line with generic dao method pattern
authorben.clark <ben.clark@localhost>
Sun, 17 May 2009 13:24:39 +0000 (13:24 +0000)
committerben.clark <ben.clark@localhost>
Sun, 17 May 2009 13:24:39 +0000 (13:24 +0000)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/CdmEntityDaoBase.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/taxon/ITaxonDao.java
cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImplTest.java

index 5157a1c9e016d3019602b4082bb14f5c796e03b2..b8ca97003b93e5375f32c3124d6cacbced32add1 100644 (file)
@@ -196,9 +196,9 @@ public abstract class CdmEntityDaoBase<T extends CdmBase> extends DaoBase implem
                return count(type);\r
        }\r
        \r
-       public <TYPE extends T> int count(Class<TYPE> type) {\r
+       public <TYPE extends T> int count(Class<TYPE> clazz) {\r
                Session session = getSession();\r
-               Criteria crit = session.createCriteria(type);\r
+               Criteria crit = session.createCriteria(clazz);\r
                crit.setProjection(Projections.projectionList().add(Projections.rowCount()));\r
                Integer nbrRows = (Integer) crit.uniqueResult();\r
                return nbrRows.intValue();\r
@@ -242,9 +242,9 @@ public abstract class CdmEntityDaoBase<T extends CdmBase> extends DaoBase implem
                        OrderHint orderHint = orderHints.get(i);\r
                        switch(orderHint.getSortOrder()) {\r
                        case ASCENDING:\r
-                           sortFields[i] = new SortField(orderHint.getPropertyName() + "_forSort", false);\r
+                           sortFields[i] = new SortField(orderHint.getPropertyName() + "_forSort", true);\r
                        case DESCENDING:\r
-                               sortFields[i] = new SortField(orderHint.getPropertyName() + "_forSort",true);\r
+                               sortFields[i] = new SortField(orderHint.getPropertyName() + "_forSort",false);\r
                        }\r
                    }\r
                    sort.setSort(sortFields);\r
index 5d0df0c977d9afeae3dd7fddf3fded9a3b179708..077ae7a35999e5bac800e69641d09b9c890a4a79 100644 (file)
@@ -569,18 +569,14 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
                return (Integer)criteria.uniqueResult();\r
        }\r
 \r
-       public int countTaxaByName(Boolean accepted, String genusOrUninomial,   String infraGenericEpithet, String specificEpithet,     String infraSpecificEpithet, Rank rank) {\r
+       public int countTaxaByName(Class<? extends TaxonBase> clazz, String genusOrUninomial,   String infraGenericEpithet, String specificEpithet,     String infraSpecificEpithet, Rank rank) {\r
                checkNotInPriorView("TaxonDaoHibernateImpl.countTaxaByName(Boolean accepted, String genusOrUninomial,   String infraGenericEpithet, String specificEpithet,     String infraSpecificEpithet, Rank rank)");\r
         Criteria criteria = null;\r
                \r
-               if(accepted == null) {\r
+               if(clazz == null) {\r
                        criteria = getSession().createCriteria(TaxonBase.class);\r
                } else {\r
-                       if(accepted) {\r
-                               criteria = getSession().createCriteria(Taxon.class);\r
-                       } else {\r
-                               criteria = getSession().createCriteria(Synonym.class);\r
-                       }\r
+                       criteria = getSession().createCriteria(clazz);          \r
                }\r
                \r
                criteria.setFetchMode( "name", FetchMode.JOIN );\r
@@ -611,18 +607,14 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
                return (Integer)criteria.uniqueResult();\r
        }\r
 \r
-       public List<TaxonBase> findTaxaByName(Boolean accepted, String genusOrUninomial, String infraGenericEpithet, String specificEpithet, String infraSpecificEpithet, Rank rank, Integer pageSize,  Integer pageNumber) {\r
+       public List<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String genusOrUninomial, String infraGenericEpithet, String specificEpithet, String infraSpecificEpithet, Rank rank, Integer pageSize,  Integer pageNumber) {\r
                checkNotInPriorView("TaxonDaoHibernateImpl.findTaxaByName(Boolean accepted, String genusOrUninomial, String infraGenericEpithet, String specificEpithet, String infraSpecificEpithet, Rank rank, Integer pageSize,      Integer pageNumber)");\r
                Criteria criteria = null;\r
                \r
-               if(accepted == null) {\r
+               if(clazz == null) {\r
                        criteria = getSession().createCriteria(TaxonBase.class);\r
                } else {\r
-                       if(accepted) {\r
-                               criteria = getSession().createCriteria(Taxon.class);\r
-                       } else {\r
-                               criteria = getSession().createCriteria(Synonym.class);\r
-                       }\r
+                       criteria = getSession().createCriteria(clazz);\r
                }\r
                \r
                criteria.setFetchMode( "name", FetchMode.JOIN );\r
index c156334a96da83957f01fe2ab79880fb6872ad0d..3958ef31955518f627a46b9202c379a5d7f504c8 100644 (file)
@@ -236,10 +236,10 @@ public interface ITaxonDao extends IIdentifiableDao<TaxonBase>, ITitledDao<Taxon
        public List<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);\r
        \r
        /**\r
-        * Returns a count of TaxonBase instances (or Taxon instances, if accepted == true, or Synonym instance, if accepted == false) where the\r
+        * Returns a count of TaxonBase instances where the\r
         * taxon.name properties match the parameters passed.\r
         * \r
-        * @param accepted\r
+        * @param clazz \r
         * @param uninomial\r
         * @param infragenericEpithet\r
         * @param specificEpithet\r
@@ -247,14 +247,14 @@ public interface ITaxonDao extends IIdentifiableDao<TaxonBase>, ITitledDao<Taxon
         * @param rank\r
         * @return a count of TaxonBase instances\r
         */\r
-       public int countTaxaByName(Boolean accepted, String uninomial, String infragenericEpithet,String specificEpithet, String infraspecificEpithet, Rank rank);\r
+       public int countTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet,String specificEpithet, String infraspecificEpithet, Rank rank);\r
        \r
        /**\r
-        * Returns a list of TaxonBase instances (or Taxon instances, if accepted == true, or Synonym instance, if accepted == false) where the\r
+        * Returns a list of TaxonBase instances where the\r
         * taxon.name properties match the parameters passed. In order to search for any string value, pass '*', passing the string value of \r
         * <i>null</i> will search for those taxa with a value of null in that field\r
         * \r
-        * @param accepted Whether the taxon is accepted (true) a synonym (false), or either (null)\r
+        * @param clazz optionally filter by class (can be null to return all taxa)\r
         * @param uninomial \r
         * @param infragenericEpithet\r
         * @param specificEpithet\r
@@ -264,7 +264,7 @@ public interface ITaxonDao extends IIdentifiableDao<TaxonBase>, ITitledDao<Taxon
         * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)\r
         * @return a list of TaxonBase instances\r
         */\r
-       public List<TaxonBase> findTaxaByName(Boolean accepted, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber);\r
+       public List<TaxonBase> findTaxaByName(Class<? extends TaxonBase> clazz, String uninomial, String infragenericEpithet, String specificEpithet, String infraspecificEpithet, Rank rank, Integer pageSize, Integer pageNumber);\r
        \r
        \r
 }\r
index a0cce30e7f6a695b09de586b59faac6b1f1148dc..7c6facca107d7119eb46ae132b4e48b4e099c6ec 100644 (file)
@@ -324,7 +324,7 @@ public class TaxonDaoHibernateImplTest extends CdmTransactionalIntegrationTest {
        @Test\r
        @DataSet\r
        public void testGetTaxonMatchingUninomial() {\r
-               List<TaxonBase> result = taxonDao.findTaxaByName(true, "Smerinthus", "*", "*", "*",null,null,null);\r
+               List<TaxonBase> result = taxonDao.findTaxaByName(Taxon.class, "Smerinthus", "*", "*", "*",null,null,null);\r
                \r
                assertNotNull("findTaxaByName should return a List", result);\r
                assertEquals("findTaxaByName should return two Taxa",2,result.size());\r
@@ -334,7 +334,7 @@ public class TaxonDaoHibernateImplTest extends CdmTransactionalIntegrationTest {
        @Test\r
        @DataSet\r
        public void testGetTaxonMatchingSpeciesBinomial() {\r
-               List<TaxonBase> result = taxonDao.findTaxaByName(true,"Smerinthus", null, "kindermannii", null,null,null,null);\r
+               List<TaxonBase> result = taxonDao.findTaxaByName(Taxon.class,"Smerinthus", null, "kindermannii", null,null,null,null);\r
                \r
                assertNotNull("findTaxaByName should return a List", result);\r
                assertEquals("findTaxaByName should return one Taxon",1,result.size());\r
@@ -344,7 +344,7 @@ public class TaxonDaoHibernateImplTest extends CdmTransactionalIntegrationTest {
        @Test\r
        @DataSet\r
        public void testGetTaxonMatchingTrinomial() {\r
-               List<TaxonBase> result = taxonDao.findTaxaByName(true,"Cryptocoryne", null,"purpurea","borneoensis",null,null,null);\r
+               List<TaxonBase> result = taxonDao.findTaxaByName(Taxon.class,"Cryptocoryne", null,"purpurea","borneoensis",null,null,null);\r
                \r
                assertNotNull("findTaxaByName should return a List", result);\r
                assertEquals("findTaxaByName should return one Taxon",1,result.size());\r
@@ -354,7 +354,7 @@ public class TaxonDaoHibernateImplTest extends CdmTransactionalIntegrationTest {
        @Test\r
        @DataSet\r
        public void testNegativeMatch() {\r
-               List<TaxonBase> result = taxonDao.findTaxaByName(true,"Acherontia", null,"atropos","dehli",null,null,null);\r
+               List<TaxonBase> result = taxonDao.findTaxaByName(Taxon.class,"Acherontia", null,"atropos","dehli",null,null,null);\r
                \r
                assertNotNull("findTaxaByName should return a List", result);\r
                assertTrue("findTaxaByName should return an empty List",result.isEmpty());\r