[lambico] push by lucio.be...@gmail.com - Added a method for a paginated search with a pre-calculated total size... on 2011-12-02 10:55 GMT

2 views
Skip to first unread message

lam...@googlecode.com

unread,
Dec 2, 2011, 5:55:57 AM12/2/11
to lambico...@googlegroups.com
Revision: ba7915a82299
Author: lucio.benfante <lucio.b...@gmail.com>
Date: Fri Dec 2 02:55:12 2011
Log: Added a method for a paginated search with a pre-calculated total
size of records.
http://code.google.com/p/lambico/source/detail?r=ba7915a82299

Modified:

/lambico-core/src/main/java/org/lambico/dao/hibernate/GenericDaoHibernateCriteriaSupport.java

/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericBusinessDao.java

/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericDaoImpl.java

=======================================
---
/lambico-core/src/main/java/org/lambico/dao/hibernate/GenericDaoHibernateCriteriaSupport.java
Thu Jan 7 09:56:19 2010
+++
/lambico-core/src/main/java/org/lambico/dao/hibernate/GenericDaoHibernateCriteriaSupport.java
Fri Dec 2 02:55:12 2011
@@ -76,6 +76,17 @@
*/
Page<T> searchPaginatedByCriteria(int page, int pageSize,
DetachedCriteria criteria);

+ /**
+ * Search using a criteria with pagination without counting the total
records.
+ *
+ * @param page The requested page index.
+ * @param pageSize The page width, i.e. the max number of elements on
each page.
+ * @param totalRecords The (supposed or pre-calculated) total number
of records from the execution of the query.
+ * @param criteria The Criteria.
+ * @return The result of the search with the provided criteria.
+ */
+ Page<T> searchPaginatedByCriteria(int page, int pageSize, int
totalRecords, DetachedCriteria criteria);
+
/**
* Count on the result of a search using a Criteria.
*
=======================================
---
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericBusinessDao.java
Sun Mar 6 01:19:55 2011
+++
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericBusinessDao.java
Fri Dec 2 02:55:12 2011
@@ -253,6 +253,15 @@
return new PageDefaultImpl<T>(list, page, pageSize, rowCount);
}

+ @Override
+ public Page<T> searchPaginatedByCriteria(int page, int pageSize, int
totalRecords,
+ DetachedCriteria criteria) {
+ List<T> list = getHibernateTemplate().
+ findByCriteria(criteria, (page - 1) * pageSize, pageSize);
+
+ return new PageDefaultImpl<T>(list, page, pageSize, totalRecords);
+ }
+
/**
* {@inheritDoc}
*
=======================================
---
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericDaoImpl.java
Thu Dec 1 10:46:34 2011
+++
/lambico-spring-hibernate/src/main/java/org/lambico/spring/dao/hibernate/HibernateGenericDaoImpl.java
Fri Dec 2 02:55:12 2011
@@ -204,6 +204,23 @@

return new PageDefaultImpl<T>(list, page, pageSize, rowCount);
}
+
+ /**
+ * {@inheritDoc}
+ *
+ * @param page {@inheritDoc}
+ * @param pageSize {@inheritDoc}
+ * @param totalRecords {@inheritDoc}
+ * @param criteria {@inheritDoc}
+ * @return {@inheritDoc}
+ */
+ public Page<T> searchPaginatedByCriteria(int page, int pageSize, int
totalRecords,
+ DetachedCriteria criteria) {
+ List<T> list = getCustomizedHibernateTemplate().
+ findByCriteria(criteria, (page - 1) * pageSize, pageSize);
+
+ return new PageDefaultImpl<T>(list, page, pageSize, totalRecords);
+ }

/**
* {@inheritDoc}

Reply all
Reply to author
Forward
0 new messages