|
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.
|