|
From: <gca...@us...> - 2009-09-07 09:37:30
|
Revision: 1437
http://openutils.svn.sourceforge.net/openutils/?rev=1437&view=rev
Author: gcatania
Date: 2009-09-07 09:37:23 +0000 (Mon, 07 Sep 2009)
Log Message:
-----------
BSHD-3 - minor improvements to code readability
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 2009-09-07 08:27:54 UTC (rev 1436)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2009-09-07 09:37:23 UTC (rev 1437)
@@ -49,17 +49,14 @@
*/
public HibernateDAOImpl()
{
- super();
}
/**
* Sets the class of the persistent bean managed by this DAO
* @param referenceClass the class for the bean managed by this DAO
*/
- @SuppressWarnings({"unchecked" })
- public HibernateDAOImpl(final Class referenceClass)
+ public HibernateDAOImpl(Class<T> referenceClass)
{
- super();
this.referenceClass = referenceClass;
}
@@ -67,7 +64,7 @@
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
- public List<T> find(final String query)
+ public List<T> find(String query)
{
return getHibernateTemplate().find(query);
}
@@ -83,7 +80,7 @@
/**
* {@inheritDoc}
*/
- public List<T> findAll(final Order[] orderProperties)
+ public List<T> findAll(Order[] orderProperties)
{
return getThis().findAll(orderProperties, Collections.<Criterion> emptyList());
}
@@ -123,7 +120,7 @@
/**
* {@inheritDoc}
*/
- public List<T> find(final String query, final Object obj, final Type type)
+ public List<T> find(String query, Object obj, Type type)
{
return find(query, new Object[]{obj }, new Type[]{type });
}
@@ -148,9 +145,9 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
- public T load(final K key)
+ public T load(K key)
{
+ @SuppressWarnings("unchecked")
T result = (T) getHibernateTemplate().load(getReferenceClass(), key);
Hibernate.initialize(result);
return result;
@@ -159,31 +156,30 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
- public T loadIfAvailable(final K key)
+ public T loadIfAvailable(K key)
{
- T result;
try
{
- result = (T) getHibernateTemplate().get(getReferenceClass(), key);
+ @SuppressWarnings("unchecked")
+ T result = (T) getHibernateTemplate().get(getReferenceClass(), key);
if (result != null)
{
Hibernate.initialize(result);
+ return result;
}
}
catch (ObjectNotFoundException e)
{
- // during lazy initialization
- return null;
+ // thrown by HibernateTemplate#get() if the object does not exist
}
- return result;
+ return null;
}
/**
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
- public T get(final K key)
+ public T get(K key)
{
return (T) getHibernateTemplate().get(getReferenceClass(), key);
}
@@ -191,7 +187,7 @@
/**
* {@inheritDoc}
*/
- public void saveOrUpdate(final T obj)
+ public void saveOrUpdate(T obj)
{
getHibernateTemplate().saveOrUpdate(obj);
}
@@ -199,7 +195,7 @@
/**
* {@inheritDoc}
*/
- public void update(final T obj)
+ public void update(T obj)
{
getHibernateTemplate().update(obj);
}
@@ -225,7 +221,7 @@
/**
* {@inheritDoc}
*/
- public void refresh(final T obj)
+ public void refresh(T obj)
{
getHibernateTemplate().refresh(obj);
}
@@ -233,7 +229,7 @@
/**
* {@inheritDoc}
*/
- public void evict(final T obj)
+ public void evict(T obj)
{
getHibernateTemplate().evict(obj);
}
@@ -259,7 +255,7 @@
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
- public K save(final T obj)
+ public K save(T obj)
{
return (K) getHibernateTemplate().save(obj);
}
@@ -267,7 +263,7 @@
/**
* {@inheritDoc}
*/
- public T findFilteredFirst(final T filter)
+ public T findFilteredFirst(T filter)
{
return getFirstInCollection(findFiltered(filter, 1, 0));
}
@@ -275,7 +271,7 @@
/**
* {@inheritDoc}
*/
- public T findFilteredFirst(final T filter, final Order[] order)
+ public T findFilteredFirst(T filter, final Order[] order)
{
return getFirstInCollection(findFiltered(filter, order, getDefaultFilterMetadata(), 1, 0));
}
@@ -283,15 +279,15 @@
/**
* {@inheritDoc}
*/
- public T findFilteredFirst(final T filter, final List< ? extends Criterion> criteria)
+ public T findFilteredFirst(T filter, List< ? extends Criterion> criteria)
{
- return getFirstInCollection(findFiltered(filter, null, getDefaultFilterMetadata(), 1, 0, criteria));
+ return getFirstInCollection(findFiltered(filter, getDefaultOrder(), getDefaultFilterMetadata(), 1, 0, criteria));
}
/**
* {@inheritDoc}
*/
- public List<T> findFiltered(final T filter)
+ public List<T> findFiltered(T filter)
{
return findFiltered(filter, getDefaultFilterMetadata());
}
@@ -299,7 +295,7 @@
/**
* {@inheritDoc}
*/
- public List<T> findFiltered(final T filter, final Order[] orderProperties)
+ public List<T> findFiltered(T filter, Order[] orderProperties)
{
return findFiltered(filter, orderProperties, getDefaultFilterMetadata(), Integer.MAX_VALUE, 0);
}
@@ -307,7 +303,7 @@
/**
* {@inheritDoc}
*/
- public List<T> findFiltered(final T filter, final Map<String, ? extends FilterMetadata> metadata)
+ public List<T> findFiltered(T filter, Map<String, ? extends FilterMetadata> metadata)
{
return findFiltered(filter, metadata, Integer.MAX_VALUE, 0);
}
@@ -315,7 +311,7 @@
/**
* {@inheritDoc}
*/
- public List<T> findFiltered(final T filter, final int maxResults, final int page)
+ public List<T> findFiltered(T filter, int maxResults, int page)
{
return findFiltered(filter, getDefaultFilterMetadata(), maxResults, page);
}
@@ -323,17 +319,16 @@
/**
* {@inheritDoc}
*/
- public List<T> findFiltered(final T filter, final Map<String, ? extends FilterMetadata> metadata,
- final int maxResults, final int page)
+ public List<T> findFiltered(T filter, Map<String, ? extends FilterMetadata> metadata, int maxResults, int page)
{
- return findFiltered(filter, null, metadata, maxResults, page);
+ return findFiltered(filter, getDefaultOrder(), metadata, maxResults, page);
}
/**
* {@inheritDoc}
*/
- public List<T> findFiltered(final T filter, final Order[] customOrder,
- final Map<String, ? extends FilterMetadata> metadata, final int maxResults, final int page)
+ public List<T> findFiltered(T filter, Order[] customOrder, Map<String, ? extends FilterMetadata> metadata,
+ int maxResults, int page)
{
return getThis().findFiltered(
filter,
@@ -348,41 +343,34 @@
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
- public List<T> findFiltered(final T filter, final Order[] customOrder,
- final Map<String, ? extends FilterMetadata> metadata, final int maxResults, final int page,
- final List< ? extends Criterion> additionalCriteria)
+ public List<T> findFiltered(T filter, Order[] customOrder, Map<String, ? extends FilterMetadata> metadata,
+ int maxResults, int page, List< ? extends Criterion> additionalCriteria)
{
- final Order[] orderProperties = customOrder != null && customOrder.length > 0 ? customOrder : this
- .getDefaultOrder();
-
return (List<T>) getHibernateTemplate().execute(
new HibernateCallbackForExecution(
filter,
page,
maxResults,
metadata,
- orderProperties,
+ customOrder,
additionalCriteria,
- null));
+ Collections.<String> emptyList()));
}
/**
* {@inheritDoc}
*/
- public List< ? > findFilteredProperties(final T filter, final Order[] customOrder,
- final Map<String, ? extends FilterMetadata> metadata, final int maxResults, final int page,
- final List< ? extends Criterion> additionalCriteria, final List<String> properties)
+ public List< ? > findFilteredProperties(T filter, Order[] customOrder,
+ Map<String, ? extends FilterMetadata> metadata, int maxResults, int page,
+ List< ? extends Criterion> additionalCriteria, List<String> properties)
{
- final Order[] orderProperties = customOrder != null && customOrder.length > 0 ? customOrder : this
- .getDefaultOrder();
-
return (List< ? >) getHibernateTemplate().execute(
new HibernateCallbackForExecution(
filter,
page,
maxResults,
metadata,
- orderProperties,
+ customOrder,
additionalCriteria,
properties));
}
@@ -396,7 +384,7 @@
return referenceClass;
}
- public void setReferenceClass(final Class<T> referenceClass)
+ public void setReferenceClass(Class<T> referenceClass)
{
this.referenceClass = referenceClass;
}
@@ -482,7 +470,7 @@
* @deprecated use the better named <code>findByNamedQuery</code> method
*/
@Deprecated
- protected List< ? > getNamedQuery(final String name, final Serializable[] params, final int maxResults)
+ protected List< ? > getNamedQuery(String name, Serializable[] params, int maxResults)
{
return findByNamedQuery(name, params, maxResults > 0 ? maxResults : Integer.MAX_VALUE);
}
@@ -496,7 +484,7 @@
* @deprecated use the better named <code>findByNamedQuery</code> method
*/
@Deprecated
- protected List< ? > getNamedQuery(final String name, final Map<String, ? > params, final int maxResults)
+ protected List< ? > getNamedQuery(String name, Map<String, ? > params, int maxResults)
{
return findByNamedQuery(name, params, maxResults > 0 ? maxResults : Integer.MAX_VALUE);
}
@@ -508,7 +496,7 @@
* @param key the key name
* @param value the object to set as the parameter
*/
- protected void setParameterValue(final Query query, final String key, final Object value)
+ protected void setParameterValue(Query query, String key, Object value)
{
if (null == key || null == value)
{
@@ -532,7 +520,7 @@
* @param list collection
* @return first element in the list
*/
- private T getFirstInCollection(final Collection< ? extends T> list)
+ private T getFirstInCollection(Collection< ? extends T> list)
{
if (list != null && !list.isEmpty())
{
@@ -547,7 +535,7 @@
* Sets the aopenabled.
* @param aopenabled the aopenabled to set
*/
- public void setAopenabled(final boolean aopenabled)
+ public void setAopenabled(boolean aopenabled)
{
this.aopenabled = aopenabled;
}
@@ -584,56 +572,31 @@
* @author carone
* @version $Id$
*/
- private final class HibernateCallbackForExecution implements HibernateCallback
+ private class HibernateCallbackForExecution implements HibernateCallback
{
- /**
- *
- */
- private final T filter;
+ private T filter;
- /**
- *
- */
- private final int page;
+ private int page;
- /**
- *
- */
- private final int maxResults;
+ private int maxResults;
- /**
- *
- */
- private final Map<String, ? extends FilterMetadata> metadata;
+ private Map<String, ? extends FilterMetadata> metadata;
- /**
- *
- */
- private final List<String> properties;
+ private List<String> properties;
- /**
- *
- */
- private final Order[] orderProperties;
+ private Order[] orderProperties;
private List< ? extends Criterion> additionalCriteria;
- /**
- * @param filter
- * @param page
- * @param maxResults
- * @param metadata
- * @param orderProperties
- */
private HibernateCallbackForExecution(
- final T filter,
- final int page,
- final int maxResults,
- final Map<String, ? extends FilterMetadata> metadata,
- final Order[] orderProperties,
- final List< ? extends Criterion> additionalCriteria,
- final List<String> properties)
+ T filter,
+ int page,
+ int maxResults,
+ Map<String, ? extends FilterMetadata> metadata,
+ Order[] orderProperties,
+ List< ? extends Criterion> additionalCriteria,
+ List<String> properties)
{
this.filter = filter;
this.page = page;
@@ -644,14 +607,14 @@
this.properties = properties;
}
- public Object doInHibernate(final Session ses) throws HibernateException
+ public Object doInHibernate(Session ses) throws HibernateException
{
Criteria crit = ses.createCriteria(filter.getClass());
crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
crit.setMaxResults(maxResults);
crit.setFirstResult(maxResults * page);
- if (orderProperties != null && orderProperties.length > 0)
+ if (orderProperties != null)
{
for (Order order : orderProperties)
{
@@ -662,7 +625,7 @@
}
}
EnhancedExample.create(crit, filter, metadata);
- if (additionalCriteria != null && !additionalCriteria.isEmpty())
+ if (additionalCriteria != null)
{
for (Criterion criterion : additionalCriteria)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2009-09-07 09:38:07
|
Revision: 1438
http://openutils.svn.sourceforge.net/openutils/?rev=1438&view=rev
Author: gcatania
Date: 2009-09-07 09:38:00 +0000 (Mon, 07 Sep 2009)
Log Message:
-----------
BSHD-4 - fixed
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 2009-09-07 09:37:23 UTC (rev 1437)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2009-09-07 09:38:00 UTC (rev 1438)
@@ -122,7 +122,7 @@
*/
public List<T> find(String query, Object obj, Type type)
{
- return find(query, new Object[]{obj }, new Type[]{type });
+ return getThis().find(query, new Object[]{obj }, new Type[]{type });
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2012-05-21 08:54:38
|
Revision: 4046
http://openutils.svn.sourceforge.net/openutils/?rev=4046&view=rev
Author: gcatania
Date: 2012-05-21 08:54:27 +0000 (Mon, 21 May 2012)
Log Message:
-----------
BSHD-2 source cleanup
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-05-21 08:48:00 UTC (rev 4045)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-05-21 08:54:27 UTC (rev 4046)
@@ -37,6 +37,7 @@
import java.util.Map;
import org.aopalliance.aop.AspectException;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Criteria;
@@ -54,7 +55,6 @@
import org.springframework.aop.framework.AopContext;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
-import org.springframework.util.CollectionUtils;
/**
@@ -131,7 +131,6 @@
return getHibernateTemplate().execute(new HibernateCallback<List<T>>()
{
- @SuppressWarnings("unchecked")
public List<T> doInHibernate(final Session ses) throws HibernateException
{
Criteria crit = ses.createCriteria(getReferenceClass());
@@ -157,7 +156,6 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
public List<T> find(String query)
{
return getHibernateTemplate().find(query);
@@ -168,7 +166,7 @@
*/
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});
}
/**
@@ -179,7 +177,6 @@
return getHibernateTemplate().execute(new HibernateCallback<List<T>>()
{
- @SuppressWarnings("unchecked")
public List<T> doInHibernate(final Session ses) throws HibernateException
{
// hibernate 3
@@ -345,7 +342,6 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
public K save(T obj)
{
return (K) getHibernateTemplate().save(obj);
@@ -407,7 +403,6 @@
return getHibernateTemplate().execute(new HibernateCallback<T>()
{
- @SuppressWarnings("unchecked")
public T doInHibernate(final Session ses) throws HibernateException
{
return (T) ses.merge(obj);
@@ -560,7 +555,6 @@
return getHibernateTemplate().execute(new HibernateCallback<List<Object>>()
{
- @SuppressWarnings("unchecked")
public List<Object> doInHibernate(final Session ses) throws HibernateException
{
Query q = ses.getNamedQuery(name);
@@ -592,7 +586,6 @@
return getHibernateTemplate().execute(new HibernateCallback<List<Object>>()
{
- @SuppressWarnings("unchecked")
public List<Object> doInHibernate(final Session ses) throws HibernateException
{
Query q = ses.getNamedQuery(name);
@@ -705,7 +698,6 @@
/**
* @return This is needed as for http://opensource.atlassian.com/projects/spring/browse/SPR-2226
*/
- @SuppressWarnings("unchecked")
private HibernateDAO<T, K> getThis()
{
try
@@ -863,7 +855,6 @@
return crit;
}
- @SuppressWarnings("unchecked")
public List<R> doInHibernate(Session session) throws HibernateException, SQLException
{
return createCriteria(session).list();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <gca...@us...> - 2012-07-04 13:19:20
|
Revision: 4089
http://openutils.svn.sourceforge.net/openutils/?rev=4089&view=rev
Author: gcatania
Date: 2012-07-04 13:19:09 +0000 (Wed, 04 Jul 2012)
Log Message:
-----------
BSHD-2 added support for default filtering on example tree
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-07-02 12:56:22 UTC (rev 4088)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-07-04 13:19:09 UTC (rev 4089)
@@ -190,7 +190,7 @@
*/
public List<T> findFiltered(T filter)
{
- return getThis().findFiltered(new ExampleTree(filter), Integer.MAX_VALUE, 0, getDefaultOrder());
+ return getThis().findFiltered(defaultExample(filter), Integer.MAX_VALUE, 0, getDefaultOrder());
}
/**
@@ -206,7 +206,7 @@
*/
public List<T> findFiltered(T filter, Order... orders)
{
- return getThis().findFiltered(new ExampleTree(filter), Integer.MAX_VALUE, 0, orders);
+ return getThis().findFiltered(defaultExample(filter), Integer.MAX_VALUE, 0, orders);
}
/**
@@ -222,7 +222,7 @@
*/
public List<T> findFiltered(T filter, int maxResults, int page)
{
- return getThis().findFiltered(new ExampleTree(filter), maxResults, page, getDefaultOrder());
+ return getThis().findFiltered(defaultExample(filter), maxResults, page, getDefaultOrder());
}
/**
@@ -302,7 +302,7 @@
*/
public T findFilteredFirst(T filter, List< ? extends Criterion> criteria)
{
- ExampleTree exampleTree = new ExampleTree(filter);
+ ExampleTree exampleTree = defaultExample(filter);
appendToRoot(exampleTree, criteria);
return getFirstInCollection(getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, getDefaultOrder()));
}
@@ -434,7 +434,7 @@
public List<Object> findFilteredProperties(T filter, int maxResults, int page, List<String> properties,
Order... orders)
{
- return getThis().findFilteredProperties(new ExampleTree(filter), maxResults, page, properties, orders);
+ return getThis().findFilteredProperties(defaultExample(filter), maxResults, page, properties, orders);
}
/**
@@ -486,7 +486,7 @@
HibernateCallback<List<T>> callback;
if (MapUtils.isEmpty(metadata) && CollectionUtils.isEmpty(criteria))
{
- callback = new ExampleTreeCallback<T>(new ExampleTree(filter), maxResults, page, orders);
+ callback = new ExampleTreeCallback<T>(defaultExample(filter), maxResults, page, orders);
}
else
{
@@ -518,7 +518,7 @@
HibernateCallback<List<Object>> callback;
if (MapUtils.isEmpty(metadata) && CollectionUtils.isEmpty(criteria))
{
- callback = new ExampleTreePropertiesCallback(new ExampleTree(filter), maxResults, page, properties, orders);
+ callback = new ExampleTreePropertiesCallback(defaultExample(filter), maxResults, page, properties, orders);
}
else
{
@@ -674,11 +674,22 @@
}
/**
+ * Returns the default example tree that will be applied to a filtered search by entity. The default implementation
+ * just returns an {@link ExampleTree}, subclasses may override.
+ * @param entity the example (filter) entity
+ * @return an example for the entity
+ */
+ protected ExampleTree defaultExample(T entity)
+ {
+ return new ExampleTree(entity);
+ }
+
+ /**
* Returns the default set of FilterMetadata that will be applied to any query. The default implementation doesn't
* set any default filter, subclasses may override this.
* @return map of property name - filter metadata
- * @deprecated {@link FilterMetadata} has been deprecated in favor of {@link ExampleTree#add(String, Criterion)} and
- * {@link ExampleTree#overridePropertyFilter(String, String, Criterion)}
+ * @deprecated this method uses the deprecated class {@link FilterMetadata}, use {@link #defaultExample(Object)}
+ * instead
*/
@Deprecated
protected Map<String, ? extends FilterMetadata> getDefaultFilterMetadata()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2014-05-22 09:21:03
|
Revision: 4572
http://openutils.svn.sourceforge.net/openutils/?rev=4572&view=rev
Author: gcatania
Date: 2014-05-22 09:20:59 +0000 (Thu, 22 May 2014)
Log Message:
-----------
BSHD-21 fix performance problems with find filtered first
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 2014-05-21 19:28:04 UTC (rev 4571)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-05-22 09:20:59 UTC (rev 4572)
@@ -29,7 +29,6 @@
import it.openutils.hibernate.example.FilterMetadataSupport;
import java.io.Serializable;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -269,7 +268,7 @@
*/
public T findFilteredFirst(T filter)
{
- return getFirstInCollection(findFiltered(filter));
+ return findFilteredFirst(defaultExample(filter));
}
/**
@@ -277,7 +276,7 @@
*/
public T findFilteredFirst(ExampleTree exampleTree)
{
- return getFirstInCollection(findFiltered(exampleTree));
+ return findFilteredFirst(exampleTree, new Order[0]);
}
/**
@@ -285,25 +284,32 @@
*/
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)
+ public T findFilteredFirst(T filter, List< ? extends 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< ? extends Criterion> criteria)
+ 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;
}
/**
@@ -665,22 +671,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.
|
|
From: <gca...@us...> - 2014-05-22 09:22:32
|
Revision: 4573
http://openutils.svn.sourceforge.net/openutils/?rev=4573&view=rev
Author: gcatania
Date: 2014-05-22 09:22:26 +0000 (Thu, 22 May 2014)
Log Message:
-----------
add missing override annotations, ignore static modifier warnings
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 2014-05-22 09:20:59 UTC (rev 4572)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-05-22 09:22:26 UTC (rev 4573)
@@ -122,6 +122,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findAll()
{
return getThis().find(Collections.<Criterion> emptyList(), getDefaultOrder());
@@ -130,6 +131,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findAll(Order... orders)
{
@@ -139,6 +141,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> find(final List< ? extends Criterion> criteria, final Order... orders)
{
Criteria crit = createCriteria();
@@ -162,6 +165,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> find(String query)
{
return getCurrentSession().createQuery(query).list();
@@ -170,14 +174,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 getCurrentSession().createQuery(query).setParameters(paramValues, paramTypes).list();
@@ -186,6 +192,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(T filter)
{
return getThis().findFiltered(defaultExample(filter), Integer.MAX_VALUE, 0, getDefaultOrder());
@@ -194,6 +201,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree)
{
return getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, getDefaultOrder());
@@ -202,6 +210,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(T filter, Order... orders)
{
return getThis().findFiltered(defaultExample(filter), Integer.MAX_VALUE, 0, orders);
@@ -210,6 +219,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree, Order... orders)
{
return getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, orders);
@@ -218,6 +228,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(T filter, int maxResults, int page)
{
return getThis().findFiltered(defaultExample(filter), maxResults, page, getDefaultOrder());
@@ -226,6 +237,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree, int maxResults, int page)
{
return getThis().findFiltered(exampleTree, maxResults, page, getDefaultOrder());
@@ -235,6 +247,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, ? extends FilterMetadata> metadata)
{
@@ -251,6 +264,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, ? extends FilterMetadata> metadata, int maxResults, int page)
{
@@ -266,6 +280,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(T filter)
{
return findFilteredFirst(defaultExample(filter));
@@ -274,6 +289,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(ExampleTree exampleTree)
{
return findFilteredFirst(exampleTree, new Order[0]);
@@ -282,6 +298,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(T filter, final Order... orders)
{
return findFilteredFirst(defaultExample(filter), orders);
@@ -290,6 +307,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(T filter, List< ? extends Criterion> criteria)
{
ExampleTree exampleTree = defaultExample(filter);
@@ -300,6 +318,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T findFilteredFirst(ExampleTree exampleTree, final Order... orders)
{
List<T> found = getThis().findFiltered(exampleTree, 1, 0, orders);
@@ -315,6 +334,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T load(K key)
{
T result = (T) sessionFactory.getCurrentSession().load(getReferenceClass(), key);
@@ -325,6 +345,7 @@
/**
* @deprecated same as {@link #get(Serializable)};
*/
+ @Override
@Deprecated
public T loadIfAvailable(K key)
{
@@ -334,6 +355,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T get(K key)
{
return (T) sessionFactory.getCurrentSession().get(getReferenceClass(), key);
@@ -342,6 +364,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public K save(T obj)
{
return (K) sessionFactory.getCurrentSession().save(obj);
@@ -350,6 +373,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void update(T obj)
{
sessionFactory.getCurrentSession().update(obj);
@@ -358,6 +382,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void saveOrUpdate(T obj)
{
sessionFactory.getCurrentSession().saveOrUpdate(obj);
@@ -366,6 +391,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean delete(final K key)
{
Session s = getCurrentSession();
@@ -377,6 +403,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void refresh(T obj)
{
getCurrentSession().refresh(obj);
@@ -385,6 +412,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void evict(T obj)
{
getCurrentSession().evict(obj);
@@ -393,6 +421,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public T merge(final T obj)
{
return (T) getCurrentSession().merge(obj);
@@ -401,6 +430,7 @@
/**
* {@inheritDoc}
*/
+ @Override
@Deprecated
public List<T> findAll(Order[] orders, List< ? extends Criterion> criteria)
{
@@ -410,6 +440,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<T> findFiltered(ExampleTree exampleTree, int maxResults, int page, Order... orders)
{
return new ExampleTreeCallback<T>(exampleTree, maxResults, page, orders).doInHibernate(getCurrentSession());
@@ -418,6 +449,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<Object> findFilteredProperties(T filter, int maxResults, int page, List<String> properties,
Order... orders)
{
@@ -427,6 +459,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public List<Object> findFilteredProperties(ExampleTree exampleTree, int maxResults, int page,
List<String> properties, Order... orders)
{
@@ -438,6 +471,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, ? extends FilterMetadata> metadata,
int maxResults, int page)
@@ -455,6 +489,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, ? extends FilterMetadata> metadata, int maxResults, int page,
Order... orders)
@@ -466,6 +501,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, ? extends FilterMetadata> metadata, int maxResults, int page,
List< ? extends Criterion> criteria, Order... orders)
@@ -486,6 +522,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, ? extends FilterMetadata> metadata,
int maxResults, int page, List< ? extends Criterion> criteria)
@@ -497,6 +534,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<Object> findFilteredProperties(T filter, Order[] orders,
Map<String, ? extends FilterMetadata> metadata, int maxResults, int page, List< ? extends Criterion> criteria,
@@ -548,6 +586,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];
@@ -664,6 +703,7 @@
* @deprecated this method uses the deprecated class {@link FilterMetadata}, use {@link #defaultExample(Object)}
* instead
*/
+ @SuppressWarnings("static-method")
@Deprecated
protected Map<String, ? extends FilterMetadata> getDefaultFilterMetadata()
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2014-05-22 09:50:43
|
Revision: 4575
http://openutils.svn.sourceforge.net/openutils/?rev=4575&view=rev
Author: gcatania
Date: 2014-05-22 09:50:40 +0000 (Thu, 22 May 2014)
Log Message:
-----------
BSHD-22 update spring jira link
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 2014-05-22 09:38:30 UTC (rev 4574)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-05-22 09:50:40 UTC (rev 4575)
@@ -727,7 +727,7 @@
}
/**
- * @return This is needed as for http://opensource.atlassian.com/projects/spring/browse/SPR-2226
+ * @return This is needed as for https://jira.spring.io/browse/SPR-2226
*/
private HibernateDAO<T, K> getThis()
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2015-04-17 08:43:42
|
Revision: 4624
http://openutils.svn.sourceforge.net/openutils/?rev=4624&view=rev
Author: gcatania
Date: 2015-04-17 08:43:39 +0000 (Fri, 17 Apr 2015)
Log Message:
-----------
BSHD-27 regression after refactoring - distinct root entity transformer got lost
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 2015-04-13 19:46:54 UTC (rev 4623)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2015-04-17 08:43:39 UTC (rev 4624)
@@ -796,7 +796,8 @@
@Override
protected Criteria createCriteria(Session session)
{
- Criteria crit = new FilterMetadataSupport(rootEntity, filterMetadata).create(session);
+ Criteria crit = new FilterMetadataSupport(rootEntity, filterMetadata).create(session).setResultTransformer(
+ CriteriaSpecification.DISTINCT_ROOT_ENTITY);
if (additionalCriteria != null)
{
for (Criterion c : additionalCriteria)
@@ -829,19 +830,14 @@
{
super(rootEntity, maxResults, page, metadata, additionalCriteria, orders);
this.properties = properties;
-
}
@Override
protected Criteria createCriteria(Session session)
{
Criteria crit = super.createCriteria(session);
- if (CollectionUtils.isEmpty(properties))
+ if (CollectionUtils.isNotEmpty(properties))
{
- crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
- }
- else
- {
ProjectionList projectionList = Projections.projectionList();
for (String property : properties)
{
@@ -923,7 +919,7 @@
@Override
protected Criteria createCriteria(Session session)
{
- return exampleTree.create(session);
+ return exampleTree.create(session).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
}
}
@@ -948,12 +944,8 @@
protected Criteria createCriteria(Session session)
{
Criteria crit = super.createCriteria(session);
- if (CollectionUtils.isEmpty(properties))
+ if (CollectionUtils.isNotEmpty(properties))
{
- crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
- }
- else
- {
ProjectionList projectionList = Projections.projectionList();
for (String property : properties)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|