Fixed the ambiguous return type of method list(Integer,Integer,OrderHint>
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / persistence / dao / hibernate / common / CdmEntityDaoBase.java
index 9df932766185b337a6ef7c23fcdafe55c2912995..6f2761d0a7f8bcd8604b6460450e19c7e7b81e00 100644 (file)
@@ -25,6 +25,7 @@ import org.hibernate.Session;
 import org.hibernate.criterion.Order;\r
 import org.hibernate.criterion.Projections;\r
 import org.hibernate.criterion.Restrictions;\r
+import org.hibernate.envers.query.AuditQuery;\r
 import org.springframework.dao.DataAccessException;\r
 import org.springframework.stereotype.Repository;\r
 \r
@@ -176,7 +177,7 @@ public abstract class CdmEntityDaoBase<T extends CdmBase> extends DaoBase implem
                return list(limit, start, null); \r
        }\r
        \r
-       public List<T> list(Integer limit, Integer start, List<OrderHint> orderHints) {\r
+       public <TYPE extends T> List<TYPE> list(Integer limit, Integer start, List<OrderHint> orderHints) {\r
                \r
                Criteria crit = getSession().createCriteria(type); \r
                if(limit != null) {\r
@@ -229,4 +230,26 @@ public abstract class CdmEntityDaoBase<T extends CdmBase> extends DaoBase implem
        public Class<T> getType() {\r
                return type;\r
        }\r
+       \r
+       protected void setPagingParameter(Query query, Integer pageSize, Integer pageNumber){\r
+               if(pageSize != null) {\r
+               query.setMaxResults(pageSize);\r
+                   if(pageNumber != null) {\r
+                       query.setFirstResult(pageNumber * pageSize);\r
+                   } else {\r
+                       query.setFirstResult(0);\r
+                   }\r
+               }\r
+       }\r
+       \r
+       protected void setPagingParameter(AuditQuery query, Integer pageSize, Integer pageNumber){\r
+               if(pageSize != null) {\r
+               query.setMaxResults(pageSize);\r
+                   if(pageNumber != null) {\r
+                       query.setFirstResult(pageNumber * pageSize);\r
+                   } else {\r
+                       query.setFirstResult(0);\r
+                   }\r
+               }\r
+       }\r
 }\r