|
From: <gca...@us...> - 2014-05-22 09:38:36
|
Revision: 4574
http://openutils.svn.sourceforge.net/openutils/?rev=4574&view=rev
Author: gcatania
Date: 2014-05-22 09:38:30 +0000 (Thu, 22 May 2014)
Log Message:
-----------
Merged revisions 4572-4573 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4572 | gcatania | 2014-05-22 11:20:59 +0200 (gio, 22 mag 2014) | 1 line
BSHD-21 fix performance problems with find filtered first
........
r4573 | gcatania | 2014-05-22 11:22:26 +0200 (gio, 22 mag 2014) | 1 line
add missing override annotations, ignore static modifier warnings
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4572&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4573&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
Index: branches/openutils-bshd5-backport
===================================================================
--- branches/openutils-bshd5-backport 2014-05-22 09:22:26 UTC (rev 4573)
+++ branches/openutils-bshd5-backport 2014-05-22 09:38:30 UTC (rev 4574)
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
## -1 +1 ##
-/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4572-4573
\ No newline at end of property
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 2014-05-22 09:22:26 UTC (rev 4573)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-05-22 09:38:30 UTC (rev 4574)
@@ -31,7 +31,6 @@
import java.io.Serializable;
import java.sql.SQLException;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -110,6 +109,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findAll()
{
return getThis().find(Collections.<Criterion> emptyList(), getDefaultOrder());
@@ -118,6 +118,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findAll(Order... orders)
{
@@ -127,6 +128,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> find(final List< ? extends Criterion> criteria, final Order... orders)
{
return (List<T>) getHibernateTemplate().execute(new HibernateCallback()
@@ -157,6 +159,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> find(String query)
{
return getHibernateTemplate().find(query);
@@ -165,14 +168,16 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> find(String query, Object paramValue, Type paramType)
{
- return getThis().find(query, new Object[]{paramValue}, new Type[]{paramType});
+ return getThis().find(query, new Object[]{paramValue }, new Type[]{paramType });
}
/**
* {@inheritDoc}
*/
+ @Override
public List<T> find(final String query, final Object[] paramValues, final Type[] paramTypes)
{
return (List<T>) getHibernateTemplate().execute(new HibernateCallback()
@@ -189,6 +194,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(T filter)
{
return getThis().findFiltered(defaultExample(filter), Integer.MAX_VALUE, 0, getDefaultOrder());
@@ -197,6 +203,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree)
{
return getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, getDefaultOrder());
@@ -205,6 +212,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(T filter, Order... orders)
{
return getThis().findFiltered(defaultExample(filter), Integer.MAX_VALUE, 0, orders);
@@ -213,6 +221,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree, Order... orders)
{
return getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, orders);
@@ -221,6 +230,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(T filter, int maxResults, int page)
{
return getThis().findFiltered(defaultExample(filter), maxResults, page, getDefaultOrder());
@@ -229,6 +239,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree, int maxResults, int page)
{
return getThis().findFiltered(exampleTree, maxResults, page, getDefaultOrder());
@@ -238,6 +249,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findFiltered(T filter, Map<String, FilterMetadata> metadata)
{
@@ -254,6 +266,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findFiltered(T filter, Map<String, FilterMetadata> metadata, int maxResults, int page)
{
@@ -269,48 +282,61 @@
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(T filter)
{
- return getFirstInCollection(findFiltered(filter));
+ return findFilteredFirst(defaultExample(filter));
}
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(ExampleTree exampleTree)
{
- return getFirstInCollection(findFiltered(exampleTree));
+ return findFilteredFirst(exampleTree, new Order[0]);
}
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(T filter, final Order... orders)
{
- return getFirstInCollection(findFiltered(filter, orders));
+ return findFilteredFirst(defaultExample(filter), orders);
}
/**
* {@inheritDoc}
*/
- public T findFilteredFirst(ExampleTree exampleTree, final Order... orders)
+ @Override
+ public T findFilteredFirst(T filter, List<Criterion> criteria)
{
- return getFirstInCollection(findFiltered(exampleTree, orders));
+ ExampleTree exampleTree = defaultExample(filter);
+ appendToRoot(exampleTree, criteria);
+ return findFilteredFirst(exampleTree, new Order[0]);
}
/**
* {@inheritDoc}
*/
- public T findFilteredFirst(T filter, List<Criterion> criteria)
+ @Override
+ public T findFilteredFirst(ExampleTree exampleTree, final Order... orders)
{
- ExampleTree exampleTree = defaultExample(filter);
- appendToRoot(exampleTree, criteria);
- return getFirstInCollection(getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, getDefaultOrder()));
+ List<T> found = getThis().findFiltered(exampleTree, 1, 0, orders);
+ if (found.isEmpty())
+ {
+ return null;
+ }
+ T result = found.get(0);
+ Hibernate.initialize(result);
+ return result;
}
/**
* {@inheritDoc}
*/
+ @Override
public T load(K key)
{
T result = (T) getHibernateTemplate().load(getReferenceClass(), key);
@@ -321,6 +347,8 @@
/**
* {@inheritDoc}
*/
+ @Override
+ @Deprecated
public T loadIfAvailable(K key)
{
T result = (T) getHibernateTemplate().get(getReferenceClass(), key);
@@ -335,6 +363,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T get(K key)
{
return (T) getHibernateTemplate().get(getReferenceClass(), key);
@@ -343,6 +372,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public K save(T obj)
{
return (K) getHibernateTemplate().save(obj);
@@ -351,6 +381,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void update(T obj)
{
getHibernateTemplate().update(obj);
@@ -359,6 +390,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void saveOrUpdate(T obj)
{
getHibernateTemplate().saveOrUpdate(obj);
@@ -367,6 +399,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean delete(final K key)
{
return (Boolean) getHibernateTemplate().execute(new HibernateCallback()
@@ -383,6 +416,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void refresh(T obj)
{
getHibernateTemplate().refresh(obj);
@@ -391,6 +425,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void evict(T obj)
{
getHibernateTemplate().evict(obj);
@@ -399,6 +434,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T merge(final T obj)
{
return (T) getHibernateTemplate().execute(new HibernateCallback()
@@ -415,6 +451,7 @@
/**
* {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findAll(Order[] orders, List<Criterion> criteria)
{
@@ -424,6 +461,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree, int maxResults, int page, Order... orders)
{
return (List<T>) getHibernateTemplate().execute(
@@ -433,6 +471,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<Object> findFilteredProperties(T filter, int maxResults, int page, List<String> properties,
Order... orders)
{
@@ -442,6 +481,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<Object> findFilteredProperties(ExampleTree exampleTree, int maxResults, int page,
List<String> properties, Order... orders)
{
@@ -453,6 +493,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findFiltered(T filter, Order[] customOrder, Map<String, FilterMetadata> metadata, int maxResults,
int page)
@@ -470,6 +511,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findFiltered(T filter, Map<String, FilterMetadata> metadata, int maxResults, int page,
Order... orders)
@@ -481,6 +523,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findFiltered(T filter, Map<String, FilterMetadata> metadata, int maxResults, int page,
List<Criterion> criteria, Order... orders)
@@ -501,6 +544,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findFiltered(T filter, Order[] orders, Map<String, FilterMetadata> metadata, int maxResults,
int page, List<Criterion> criteria)
@@ -512,6 +556,7 @@
* @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
* {@link ExampleTree#overridePropertyFilter(String, String, Criterion)} {@inheritDoc}
*/
+ @Override
@Deprecated
public List<?> findFilteredProperties(T filter, Order[] orders, Map<String, FilterMetadata> metadata,
int maxResults, int page, List<Criterion> criteria, List<String> properties)
@@ -562,6 +607,7 @@
* Return a list of <code>Order</code> object to be used for the default ordering of the collection.
* @return the property name
*/
+ @SuppressWarnings("static-method")
protected Order[] getDefaultOrder()
{
return new Order[0];
@@ -692,6 +738,7 @@
* @deprecated this method uses the deprecated class {@link FilterMetadata}, use {@link #defaultExample(Object)}
* instead
*/
+ @SuppressWarnings("static-method")
@Deprecated
protected Map<String, FilterMetadata> getDefaultFilterMetadata()
{
@@ -699,22 +746,6 @@
}
/**
- * Returns the first object in the collection or null if the collection is null or empty.
- * @param list collection
- * @return first element in the list
- */
- private T getFirstInCollection(Collection< ? extends T> list)
- {
- if (list != null && !list.isEmpty())
- {
- T result = list.iterator().next();
- Hibernate.initialize(result);
- return result;
- }
- return null;
- }
-
- /**
* appends the input criterions to the input example tree as root entity criterions
* @param exampleTree the example tree
* @param criterions the criterions to append
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|