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://gca...@sv.../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. |