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