From: <gca...@us...> - 2012-06-29 16:51:40
|
Revision: 4084 http://openutils.svn.sourceforge.net/openutils/?rev=4084&view=rev Author: gcatania Date: 2012-06-29 16:51:34 +0000 (Fri, 29 Jun 2012) Log Message: ----------- avoid legacy whenever possible Modified Paths: -------------- trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java Modified: trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java =================================================================== --- trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-06-29 16:34:55 UTC (rev 4083) +++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-06-29 16:51:34 UTC (rev 4084) @@ -38,6 +38,7 @@ import org.aopalliance.aop.AspectException; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; import org.hibernate.Criteria; import org.hibernate.Hibernate; @@ -482,8 +483,16 @@ public List<T> findFiltered(T filter, Map<String, ? extends FilterMetadata> metadata, int maxResults, int page, List< ? extends Criterion> criteria, Order... orders) { - return getHibernateTemplate().execute( - new LegacySupportCallback<T>(filter, maxResults, page, metadata, criteria, orders)); + HibernateCallback<List<T>> callback; + if (MapUtils.isEmpty(metadata) && CollectionUtils.isEmpty(criteria)) + { + callback = new ExampleTreeCallback<T>(new ExampleTree(filter), maxResults, page, orders); + } + else + { + callback = new LegacySupportCallback<T>(filter, maxResults, page, metadata, criteria, orders); + } + return getHibernateTemplate().execute(callback); } /** @@ -506,8 +515,23 @@ Map<String, ? extends FilterMetadata> metadata, int maxResults, int page, List< ? extends Criterion> criteria, List<String> properties) { - return getHibernateTemplate().execute( - new LegacySupportPropertiesCallback(filter, maxResults, page, metadata, criteria, properties, orders)); + HibernateCallback<List<Object>> callback; + if (MapUtils.isEmpty(metadata) && CollectionUtils.isEmpty(criteria)) + { + callback = new ExampleTreePropertiesCallback(new ExampleTree(filter), maxResults, page, properties, orders); + } + else + { + callback = new LegacySupportPropertiesCallback( + filter, + maxResults, + page, + metadata, + criteria, + properties, + orders); + } + return getHibernateTemplate().execute(callback); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |