From: <gca...@us...> - 2012-06-29 16:59:55
|
Revision: 4086 http://openutils.svn.sourceforge.net/openutils/?rev=4086&view=rev Author: gcatania Date: 2012-06-29 16:59:49 +0000 (Fri, 29 Jun 2012) Log Message: ----------- Merged revisions 4084-4085 via svnmerge from https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5 ........ r4084 | gcatania | 2012-06-29 18:51:34 +0200 (Fri, 29 Jun 2012) | 1 line avoid legacy whenever possible ........ r4085 | gcatania | 2012-06-29 18:55:25 +0200 (Fri, 29 Jun 2012) | 1 line fix filter metadata support not working for empty filter metadata ........ Revision Links: -------------- http://openutils.svn.sourceforge.net/openutils/?rev=4084&view=rev http://openutils.svn.sourceforge.net/openutils/?rev=4085&view=rev Modified Paths: -------------- branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java Property Changed: ---------------- branches/openutils-bshd5-backport/ branches/openutils-bshd5-backport/pom.xml branches/openutils-bshd5-backport/src/ Property changes on: branches/openutils-bshd5-backport ___________________________________________________________________ Modified: svnmerge-integrated - /trunk/openutils-bshd5:1-4040,4042-4056,4058-4082 + /trunk/openutils-bshd5:1-4040,4042-4056,4058-4085 Modified: svn:mergeinfo - /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082* + /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085* Property changes on: branches/openutils-bshd5-backport/pom.xml ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080,4082 + /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080,4082,4084-4085 Property changes on: branches/openutils-bshd5-backport/src ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082 + /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085 Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java =================================================================== --- branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-06-29 16:55:25 UTC (rev 4085) +++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-06-29 16:59:49 UTC (rev 4086) @@ -1,4 +1,4 @@ -/** + /** * * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html) * @@ -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; @@ -484,8 +485,16 @@ public List<T> findFiltered(T filter, Map<String, FilterMetadata> metadata, int maxResults, int page, List<Criterion> criteria, Order... orders) { - return (List<T>) getHibernateTemplate().execute( - new LegacySupportCallback<T>(filter, maxResults, page, metadata, criteria, orders)); + HibernateCallback callback; + if (MapUtils.isEmpty(metadata) && CollectionUtils.isEmpty(criteria)) + { + callback = new ExampleTreeCallback(new ExampleTree(filter), maxResults, page, orders); + } + else + { + callback = new LegacySupportCallback(filter, maxResults, page, metadata, criteria, orders); + } + return (List<T>) getHibernateTemplate().execute(callback); } /** @@ -507,8 +516,23 @@ public List<?> findFilteredProperties(T filter, Order[] orders, Map<String, FilterMetadata> metadata, int maxResults, int page, List<Criterion> criteria, List<String> properties) { - return (List<Object>) getHibernateTemplate().execute( - new LegacySupportPropertiesCallback(filter, maxResults, page, metadata, criteria, properties, orders)); + HibernateCallback 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 (List<Object>) getHibernateTemplate().execute(callback); } /** Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java =================================================================== --- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-06-29 16:55:25 UTC (rev 4085) +++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-06-29 16:59:49 UTC (rev 4086) @@ -27,11 +27,11 @@ import it.openutils.hibernate.selectors.ExcludeBackrefPropertySelector; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Set; -import org.apache.commons.collections.MapUtils; import org.hibernate.Criteria; import org.hibernate.EntityMode; import org.hibernate.Hibernate; @@ -65,7 +65,7 @@ throw new NullPointerException("Null entity."); } this.entity = entity; - this.filterMetadata = filterMetadata; + this.filterMetadata = filterMetadata != null ? filterMetadata : Collections.<String, FilterMetadata> emptyMap(); } /** @@ -106,10 +106,7 @@ public Criteria walk(Criteria rootCriteria, Object rootEntity) { - if (MapUtils.isNotEmpty(filterMetadata)) - { - createSubExamples(rootCriteria, rootEntity, new String[0]); - } + createSubExamples(rootCriteria, rootEntity, new String[0]); return rootCriteria; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |