|
From: <gca...@us...> - 2012-05-21 09:16:48
|
Revision: 4048
http://openutils.svn.sourceforge.net/openutils/?rev=4048&view=rev
Author: gcatania
Date: 2012-05-21 09:16:37 +0000 (Mon, 21 May 2012)
Log Message:
-----------
Merged revisions 4045-4047 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4045 | gcatania | 2012-05-21 10:48:00 +0200 (Mon, 21 May 2012) | 1 line
BSHD-2 cleanup legacy example implementation
........
r4046 | gcatania | 2012-05-21 10:54:27 +0200 (Mon, 21 May 2012) | 1 line
BSHD-2 source cleanup
........
r4047 | gcatania | 2012-05-21 11:03:05 +0200 (Mon, 21 May 2012) | 1 line
dependency cleanup, updates
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4045&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4046&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4047&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
Removed Paths:
-------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/EnhancedExample.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-4039
+ /trunk/openutils-bshd5:1-4040,4042-4047
Added: svn:mergeinfo
+ /trunk/openutils-bshd5:4045-4047*
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2012-05-21 09:03:05 UTC (rev 4047)
+++ branches/openutils-bshd5-backport/pom.xml 2012-05-21 09:16:37 UTC (rev 4048)
@@ -72,17 +72,6 @@
</dependency>
<dependency>
<groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
<exclusions>
@@ -123,37 +112,6 @@
</exclusions>
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>${hibernate.annotations.version}</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- <exclusion>
- <groupId>avalon-framework</groupId>
- <artifactId>avalon-framework</artifactId>
- </exclusion>
- <exclusion>
- <groupId>logkit</groupId>
- <artifactId>logkit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.8.0</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
@@ -164,7 +122,7 @@
<version>2.4</version>
</dependency>
<dependency>
- <groupId>javassist</groupId>
+ <groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist.version}</version>
</dependency>
@@ -190,7 +148,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>5.14.6</version>
+ <version>6.5.2</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -199,11 +157,31 @@
<version>2.2.6</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>${hibernate.annotations.version}</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>logkit</groupId>
+ <artifactId>logkit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
<properties>
<spring.version>2.5.5</spring.version>
<hibernate.version>3.3.1.GA</hibernate.version>
<hibernate.annotations.version>3.4.0.GA</hibernate.annotations.version>
- <javassist.version>3.8.0.GA</javassist.version>
+ <javassist.version>3.14.0-GA</javassist.version>
</properties>
-</project>
\ No newline at end of file
+</project>
Property changes on: branches/openutils-bshd5-backport/pom.xml
___________________________________________________________________
Added: svn:mergeinfo
+ /trunk/openutils-bshd5/pom.xml:4045-4047
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Added: svn:mergeinfo
+ /trunk/openutils-bshd5/src:4045-4047
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-05-21 09:03:05 UTC (rev 4047)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-05-21 09:16:37 UTC (rev 4048)
@@ -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;
/**
@@ -132,7 +132,6 @@
return (List<T>) getHibernateTemplate().execute(new HibernateCallback()
{
- @SuppressWarnings("unchecked")
public List<T> doInHibernate(final Session ses) throws HibernateException
{
Criteria crit = ses.createCriteria(getReferenceClass());
@@ -158,7 +157,6 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
public List<T> find(String query)
{
return getHibernateTemplate().find(query);
@@ -169,7 +167,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});
}
/**
@@ -180,7 +178,6 @@
return (List<T>) getHibernateTemplate().execute(new HibernateCallback()
{
- @SuppressWarnings("unchecked")
public List<T> doInHibernate(final Session ses) throws HibernateException
{
// hibernate 3
@@ -346,7 +343,6 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
public K save(T obj)
{
return (K) getHibernateTemplate().save(obj);
@@ -408,7 +404,6 @@
return (T) getHibernateTemplate().execute(new HibernateCallback()
{
- @SuppressWarnings("unchecked")
public T doInHibernate(final Session ses) throws HibernateException
{
return (T) ses.merge(obj);
@@ -561,7 +556,6 @@
return (List<Object>) getHibernateTemplate().execute(new HibernateCallback()
{
- @SuppressWarnings("unchecked")
public List<Object> doInHibernate(final Session ses) throws HibernateException
{
Query q = ses.getNamedQuery(name);
@@ -593,7 +587,6 @@
return (List<Object>) getHibernateTemplate().execute(new HibernateCallback()
{
- @SuppressWarnings("unchecked")
public List<Object> doInHibernate(final Session ses) throws HibernateException
{
Query q = ses.getNamedQuery(name);
@@ -706,7 +699,6 @@
/**
* @return This is needed as for http://opensource.atlassian.com/projects/spring/browse/SPR-2226
*/
- @SuppressWarnings("unchecked")
private HibernateDAO<T, K> getThis()
{
try
@@ -864,7 +856,6 @@
return crit;
}
- @SuppressWarnings("unchecked")
public List<R> doInHibernate(Session session) throws HibernateException, SQLException
{
return createCriteria(session).list();
Deleted: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/EnhancedExample.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2012-05-21 09:03:05 UTC (rev 4047)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2012-05-21 09:16:37 UTC (rev 4048)
@@ -1,337 +0,0 @@
-/**
- *
- * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
- *
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
- *
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * You may obtain a copy of the License at
- *
- * http://www.gnu.org/licenses/lgpl-2.1.html
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package it.openutils.hibernate.example;
-
-import java.lang.reflect.InvocationTargetException;
-import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.beanutils.PropertyUtils;
-import org.apache.commons.lang.ClassUtils;
-import org.apache.commons.lang.StringUtils;
-import org.hibernate.Criteria;
-import org.hibernate.HibernateException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.dao.DataRetrievalFailureException;
-
-
-/**
- * @deprecated this example implementation does not take into account hibernate metadata, see BSHD-5. Use ExampleTree
- * instead
- * @author Fabrizio Giustina
- * @version $Id: $
- */
-@Deprecated
-public final class EnhancedExample
-{
-
- /**
- * Logger.
- */
- private static Logger log = LoggerFactory.getLogger(EnhancedExample.class);
-
- private Map<String, ? extends FilterMetadata> metadata;
-
- private EnhancedExample(
- final Criteria crit,
- final Object filter,
- final Map<String, ? extends FilterMetadata> metadata)
- {
- this.metadata = metadata == null ? Collections.<String, FilterMetadata> emptyMap() : metadata;
- fillCriteria(null, crit, filter);
- }
-
- /**
- * Fills a criteria object calling addCondition() for any non-null property or for any component in collections.
- * @param crit Criteria
- * @param filter javabean which will be analyzed for non-null properties
- * @param metadata Map of property names - filter metadata
- * @throws HibernateException exception while building the criteria
- */
- public static void create(final Criteria crit, final Object filter,
- final Map<String, ? extends FilterMetadata> metadata) throws HibernateException
- {
- new EnhancedExample(crit, filter, metadata);
- }
-
- /**
- * Adds contitions to an existing criteria or create sub-criteria for associations.
- * @param crit Criteria
- * @param propertyName property name in parent bean
- * @param value property value
- * @throws HibernateException exception while building the criteria
- */
- private void addCondition(final Criteria crit, final String propertyName, final Object value,
- final Object parentObject) throws HibernateException
- {
-
- String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils.substringAfterLast(
- propertyName,
- ".") : propertyName;
-
- if (isSimpleType(value) || value.getClass().isEnum())
- {
-
- // don't filter on empty strings!
- if (value instanceof String && StringUtils.isBlank((String) value))
- {
- return;
- }
-
- FilterMetadata fmd = metadata.get(propertyName);
-
- if (fmd == null)
- {
- fmd = FilterMetadata.EQUAL;
- }
-
- fmd.createFilter(crit, simplePropertyName, value);
-
- }
- else
- {
- if (containsSomething(value))
- {
- // @todo handle multiple associations in lists?
- // see http://opensource2.atlassian.com/projects/hibernate/browse/HHH-879
- if ((value instanceof Set< ? > || value instanceof List< ? >) && !((Collection< ? >) value).isEmpty())
- {
- // collection: the new criteria has already been created, now we only need to analize content
-
- for (Object element : ((Collection< ? >) value))
- {
-
- log.debug("crit.createCriteria({})", simplePropertyName);
- Criteria childrenCriteria = crit.createCriteria(simplePropertyName);
- fillCriteria(propertyName, childrenCriteria, element);
- }
- }
- else if ((value instanceof Map< ? , ? >) && !((Map< ? , ? >) value).isEmpty())
- {
- FilterMetadata fmd = metadata.get(propertyName);
-
- if (fmd != null)
- {
- fmd.createFilter(crit, simplePropertyName, value);
- }
- else
- {
- log.warn(
- "Maps are not handled without a FilterMetadata. Property is {} and value is {}.",
- propertyName,
- value);
- }
- }
- else
- {
- log.debug("crit.createCriteria({})", simplePropertyName);
- Criteria childrenCriteria = crit.createCriteria(simplePropertyName);
- fillCriteria(propertyName, childrenCriteria, value);
- }
- }
- }
- }
-
- /**
- * Check if the bean contains at least a valid property.
- * @param bean javabean
- * @return <code>true</code> if the bean contains at least a valid property
- */
- @SuppressWarnings("unchecked")
- private boolean containsSomething(final Object bean)
- {
-
- if (bean == null)
- {
- return false;
- }
- if (isSimpleType(bean) || bean.getClass().isEnum())
- {
- return true;
- }
-
- if (bean instanceof Collection< ? >)
- {
-
- Collection< ? > coll = ((Collection< ? >) bean);
- if (coll.isEmpty())
- {
- return false;
- }
-
- if (containsSomething(coll.iterator().next()))
- {
- return true;
- }
- }
- else if (bean instanceof Map< ? , ? >)
- {
- Map< ? , ? > coll = ((Map< ? , ? >) bean);
- if (coll.isEmpty())
- {
- return false;
- }
-
- if (containsSomething(coll.values().iterator().next()))
- {
- return true;
- }
- }
-
- Map<String, Object> properties;
- try
- {
- properties = PropertyUtils.describe(bean);
- }
- catch (Throwable e)
- {
- if (e instanceof InvocationTargetException)
- {
- e = ((InvocationTargetException) e).getTargetException();
- }
-
- log.error("Unable to build filter, PropertyUtils.describe throws an exception while analizing class "
- + ClassUtils.getShortClassName(bean, "NULL"), e);
- return false;
- }
-
- for (Map.Entry<String, Object> property : properties.entrySet())
- {
-
- if (!PropertyUtils.isWriteable(bean, property.getKey()))
- {
- // skip readonly properties
- continue;
- }
-
- Object propertyValue = property.getValue();
- if (propertyValue == null)
- {
- continue;
- }
-
- if (isSimpleType(propertyValue) || containsSomething(propertyValue))
- {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Fills a criteria object calling addCondition() for any non-null property or for any component in collections.
- * @param crit Criteria
- * @param filter javabean which will be analyzed for non-null properties
- * @throws HibernateException exception while building the criteria
- */
- @SuppressWarnings("unchecked")
- private void fillCriteria(final String parentPropertyName, final Criteria crit, final Object filter)
- throws HibernateException
- {
- if ((filter instanceof Set< ? > || filter instanceof List< ? >) && !((Collection< ? >) filter).isEmpty())
- {
- // collection: the new criteria has already been created, now we only need to analize content
- for (Object element : ((Collection< ? >) filter))
- {
- fillCriteria(parentPropertyName, crit, element);
- }
- }
-
- Map<String, Object> properties;
- try
- {
- properties = PropertyUtils.describe(filter);
- }
- catch (Throwable e)
- {
- if (e instanceof InvocationTargetException)
- {
- e = ((InvocationTargetException) e).getTargetException();
- }
-
- throw new DataRetrievalFailureException(
- "Unable to build filter, PropertyUtils.describe throws an exception while analizing class "
- + ClassUtils.getShortClassName(filter, "NULL")
- + ":"
- + e.getClass(),
- e);
- }
-
- Iterator<String> iterator = properties.keySet().iterator();
- while (iterator.hasNext())
- {
- String propertyName = iterator.next();
-
- Object value = properties.get(propertyName);
-
- // add only non-null values, ignore read-only properties
- if (value != null && PropertyUtils.isWriteable(filter, propertyName))
- {
- String composedPropertyName = (parentPropertyName == null) ? propertyName : parentPropertyName
- + "."
- + propertyName;
- addCondition(crit, composedPropertyName, value, filter);
- }
- }
- }
-
- /**
- * Check if the given object is a simple java type
- * @param object object to check
- * @return <code>true</code>if the given object is a simple type
- */
- private boolean isSimpleType(final Object object)
- {
-
- Class< ? extends Object> objClass = object.getClass();
-
- return objClass.isPrimitive()
- || objClass.equals(Integer.class)
- || objClass.equals(Long.class)
- || objClass.equals(Short.class)
- || objClass.equals(Boolean.class)
- || objClass.equals(String.class)
- || objClass.equals(Double.class)
- || objClass.equals(Float.class)
- || objClass.equals(Date.class)
- || objClass.equals(Byte.class)
- || objClass.equals(BigDecimal.class)
- || objClass.equals(Timestamp.class)
- || objClass.equals(Character.class)
- || Calendar.class.isAssignableFrom(objClass);
- }
-
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2012-06-06 22:16:25
|
Revision: 4060
http://openutils.svn.sourceforge.net/openutils/?rev=4060&view=rev
Author: gcatania
Date: 2012-06-06 22:16:19 +0000 (Wed, 06 Jun 2012)
Log Message:
-----------
Merged revisions 4059 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4059 | gcatania | 2012-06-07 00:01:52 +0200 (Thu, 07 Jun 2012) | 1 line
BSHD-14 make bshd5 into an osgi bundle
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4059&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/pom.xml
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
- /trunk/openutils-bshd5:1-4040,4042-4047
+ /trunk/openutils-bshd5:1-4040,4042-4047,4059
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*
+ /trunk/openutils-bshd5:4045-4047*,4059
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2012-06-06 22:01:52 UTC (rev 4059)
+++ branches/openutils-bshd5-backport/pom.xml 2012-06-06 22:16:19 UTC (rev 4060)
@@ -7,6 +7,7 @@
<version>1.12</version>
</parent>
<artifactId>openutils-bshd5</artifactId>
+ <packaging>bundle</packaging>
<name>openutils base Spring-Hibernate DAO</name>
<version>2.5.0-SNAPSHOT</version>
<description>Openutils base Spring-Hibernate DAO (for java 5 and more)</description>
@@ -46,6 +47,12 @@
</descriptors>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.3.7</version>
+ <extensions>true</extensions>
+ </plugin>
</plugins>
</build>
<dependencies>
Property changes on: branches/openutils-bshd5-backport/pom.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/pom.xml:4045-4047
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2012-06-06 22:25:05
|
Revision: 4061
http://openutils.svn.sourceforge.net/openutils/?rev=4061&view=rev
Author: gcatania
Date: 2012-06-06 22:24:59 +0000 (Wed, 06 Jun 2012)
Log Message:
-----------
merged revision 4060 - update versions BSHD-10
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4060&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/src/
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4059
+ /trunk/openutils-bshd5:4045-4047*,4057,4059
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2012-06-06 22:16:19 UTC (rev 4060)
+++ branches/openutils-bshd5-backport/pom.xml 2012-06-06 22:24:59 UTC (rev 4061)
@@ -59,12 +59,12 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>1.6.1</version>
+ <version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
- <version>1.6.1</version>
+ <version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
@@ -124,9 +124,9 @@
<version>3.2.1</version>
</dependency>
<dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.4</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.1</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
@@ -186,6 +186,7 @@
</dependency>
</dependencies>
<properties>
+ <slf4j.version>1.6.5</slf4j.version>
<spring.version>2.5.5</spring.version>
<hibernate.version>3.3.1.GA</hibernate.version>
<hibernate.annotations.version>3.4.0.GA</hibernate.annotations.version>
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047
+ /trunk/openutils-bshd5/src:4045-4047,4057
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-06 22:16:19 UTC (rev 4060)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-06-06 22:24:59 UTC (rev 4061)
@@ -39,7 +39,7 @@
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.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.HibernateException;
@@ -167,7 +167,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 });
}
/**
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-06 22:16:19 UTC (rev 4060)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-06 22:24:59 UTC (rev 4061)
@@ -37,7 +37,7 @@
import java.util.Map;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.EntityMode;
import org.hibernate.Hibernate;
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-06 22:16:19 UTC (rev 4060)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-06-06 22:24:59 UTC (rev 4061)
@@ -33,7 +33,7 @@
import java.util.Set;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.EntityMode;
import org.hibernate.Hibernate;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2012-06-22 15:59:28
|
Revision: 4072
http://openutils.svn.sourceforge.net/openutils/?rev=4072&view=rev
Author: gcatania
Date: 2012-06-22 15:59:20 +0000 (Fri, 22 Jun 2012)
Log Message:
-----------
Merged revisions 4069-4070 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4069 | gcatania | 2012-06-22 13:17:21 +0200 (Fri, 22 Jun 2012) | 1 line
BSHD-2 adding clone on test dataobjects, fix unidirectional manyToOne
........
r4070 | gcatania | 2012-06-22 17:51:52 +0200 (Fri, 22 Jun 2012) | 1 line
BSHD-15 fix example support for backref properties, added unit test
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4069&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4070&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.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-4047,4059,4060
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4071
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*
Property changes on: branches/openutils-bshd5-backport/pom.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/pom.xml:4045-4047,4059
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047,4057
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -50,6 +50,7 @@
import org.hibernate.criterion.Restrictions;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.metadata.ClassMetadata;
+import org.hibernate.property.BackrefPropertyAccessor;
import org.hibernate.type.Type;
@@ -68,8 +69,6 @@
private PropertySelector selector;
- private DefaultPropertySelector defaultSelector = DefaultPropertySelector.NOT_NULL;
-
private MatchMode matchMode;
private boolean isIgnoreCaseEnabled;
@@ -132,8 +131,11 @@
*/
public ExampleTree setPropertySelector(PropertySelector selector)
{
- this.selector = selector;
- defaultSelector = null;
+ if (selector == null)
+ {
+ throw new NullPointerException("Null selector specified");
+ }
+ this.selector = new ExcludeBackrefPropertySelector(selector); // BSHD-15
return this;
}
@@ -143,7 +145,7 @@
*/
public ExampleTree excludeZeroes()
{
- return setDefaultSelector(DefaultPropertySelector.NOT_NULL_OR_ZERO);
+ return setPropertySelector(ExampleTreePropertySelectorSupport.NOT_NULL_OR_ZERO);
}
/**
@@ -152,7 +154,7 @@
*/
public ExampleTree excludeNone()
{
- return setDefaultSelector(DefaultPropertySelector.ALL);
+ return setPropertySelector(ExampleTreePropertySelectorSupport.ALL);
}
/**
@@ -235,17 +237,6 @@
return add(associationPath, override);
}
- private static enum DefaultPropertySelector {
- NOT_NULL, NOT_NULL_OR_ZERO, ALL;
- }
-
- private ExampleTree setDefaultSelector(DefaultPropertySelector defaultSelector)
- {
- this.defaultSelector = defaultSelector;
- selector = null;
- return this;
- }
-
private class ExampleTreeWalker implements Serializable
{
@@ -352,24 +343,7 @@
{
ex.ignoreCase();
}
- if (selector != null)
- {
- ex.setPropertySelector(selector);
- }
- else
- {
- switch (defaultSelector)
- {
- case NOT_NULL_OR_ZERO :
- ex.excludeZeroes();
- break;
- case ALL :
- ex.excludeNone();
- break;
- default :
- break;
- }
- }
+ ex.setPropertySelector(selector != null ? selector : new ExcludeBackrefPropertySelector()); // BSHD-15
Set<String> excludedPropertiesForPath = excludedProperties.get(associationPath);
if (excludedPropertiesForPath != null)
{
@@ -473,3 +447,97 @@
}
}
+
+
+/**
+ * support for BSHD-15
+ * @author gcatania
+ * @version $Id$
+ */
+class ExcludeBackrefPropertySelector implements PropertySelector
+{
+
+ private static final long serialVersionUID = -2803322309158823550L;
+
+ private final PropertySelector selector;
+
+ public ExcludeBackrefPropertySelector(PropertySelector selector)
+ {
+ this.selector = selector;
+ }
+
+ public ExcludeBackrefPropertySelector()
+ {
+ selector = ExampleTreePropertySelectorSupport.NOT_NULL;
+ }
+
+ public boolean include(Object propertyValue, String propertyName, Type type)
+ {
+ if (BackrefPropertyAccessor.UNKNOWN.equals(propertyValue))
+ {
+ return false;
+ }
+ return selector.include(propertyValue, propertyName, type);
+ }
+
+}
+
+
+/**
+ * workaround to {@link Example} not exposing internal property selectors
+ * @author gcatania
+ * @version $Id$
+ */
+@SuppressWarnings({"serial", "static-method"})
+class ExampleTreePropertySelectorSupport
+{
+
+ static final PropertySelector NOT_NULL = new NotNullPropertySelector();
+
+ static final PropertySelector ALL = new AllPropertySelector();
+
+ static final PropertySelector NOT_NULL_OR_ZERO = new NotNullOrZeroPropertySelector();
+
+ static final class AllPropertySelector implements PropertySelector
+ {
+
+ public boolean include(Object object, String propertyName, Type type)
+ {
+ return true;
+ }
+
+ private Object readResolve()
+ {
+ return ALL;
+ }
+ }
+
+ static final class NotNullPropertySelector implements PropertySelector
+ {
+
+ public boolean include(Object object, String propertyName, Type type)
+ {
+ return object != null;
+ }
+
+ private Object readResolve()
+ {
+ return NOT_NULL;
+ }
+ }
+
+ static final class NotNullOrZeroPropertySelector implements PropertySelector
+ {
+
+ public boolean include(Object object, String propertyName, Type type)
+ {
+ return object != null && (!(object instanceof Number) || ((Number) object).longValue() != 0);
+ }
+
+ private Object readResolve()
+ {
+ return NOT_NULL_OR_ZERO;
+ }
+ }
+
+}
\ No newline at end of file
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -65,7 +65,7 @@
/*
* TODO tests to perform: 1) find filtered with collection with zero, one or more elements 2) find filtered with
- * additional criteria 3) filter metadata support 4) find filtered with id 5) find filtered with backref
+ * additional criteria 3) filter metadata support
*/
@Autowired
@@ -221,7 +221,7 @@
Designer designer = priusDesigner(prius);
personDAO.save(designer);
- // FIXME evicting breaks the test, there must be something wrong in the hibernate mapping configuration
+ // evicting breaks equals() on persistent bags
// personDAO.evict(designer);
// cannot use load() with entity inheritance, see https://forum.hibernate.org/viewtopic.php?p=2418875
@@ -485,6 +485,44 @@
Assert.assertEquals(alicesProperties[1], alice.getBirthDate());
}
+
+ /**
+ * BSHD-15 check backref property accessors
+ */
+ @Test
+ public void testOneToMany()
+ {
+ Sticker st1 = new Sticker();
+ st1.setName("Warning! Baby on board!");
+ st1.setHeight(20d);
+ st1.setWidth(10d);
+ Sticker st2 = new Sticker();
+ st2.setName("Objects in the mirror are losing");
+ st2.setHeight(5d);
+ st2.setWidth(10d);
+
+ Car chucksPrius = chucksPrius(chuck(), prius(toyota()));
+ chucksPrius.setStickers(Collections.singletonList(st1));
+ Long savedId = carDAO.save(chucksPrius);
+ chucksPrius = carDAO.load(savedId);
+ // evicting breaks equals() on persistent bags
+ // carDAO.evict(chucksPrius);
+
+ Car filter = chucksPrius.clone();
+ // filter.setOwner(null);
+ // filter.setModel(null);
+ filter.setStickers(null);
+ // filter.setRegistrationDate(null);
+ // filter.setMarketValue(null);
+ // filter.setId(null);
+
+ Car found = carDAO.findFilteredFirst(filter);
+ Assert.assertEquals(found, chucksPrius);
+
+ // found = carDAO.findFilteredFirst(chucksPrius);
+ // Assert.assertEquals(found, chucksPrius);
+ }
+
// @Test
// public void testExampleAssociations()
// {
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -36,7 +36,7 @@
* @author gcatania
*/
@Entity
-public class Address
+public class Address implements Cloneable
{
@Id
@@ -293,4 +293,18 @@
+ "]";
}
+ /** {@inheritDoc} */
+ @Override
+ public Address clone()
+ {
+ try
+ {
+ return (Address) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@@ -34,6 +35,7 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
@@ -42,7 +44,7 @@
* @author gcatania
*/
@Entity
-public class Car
+public class Car implements Cloneable
{
@Id
@@ -62,6 +64,8 @@
private CurrencyAmount marketValue;
@OneToMany(cascade = CascadeType.ALL)
+ // join table appears problematic, using single join column instead
+ @JoinColumn(name = "carId", nullable = false)
private List<Sticker> stickers;
/**
@@ -223,7 +227,7 @@
return false;
}
}
- else if (!registrationDate.equals(other.registrationDate))
+ else if (registrationDate.compareTo(other.registrationDate) != 0)
{
return false;
}
@@ -248,11 +252,9 @@
public String toString()
{
StringBuilder builder = new StringBuilder();
- builder
- .append("Car [id=")
- .append(id)
- .append(", registrationDate=")
- .append(registrationDate)
+ builder.append("Car [id=").append(id).append(", model=").append(model)
+ // .append(", registrationDate=")
+ // .append(registrationDate)
.append(", marketValue=")
.append(marketValue)
.append(", stickers=")
@@ -261,4 +263,36 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public Car clone()
+ {
+ Car clone;
+ try
+ {
+ clone = (Car) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ if (model != null)
+ {
+ clone.model = model.clone();
+ }
+ if (registrationDate != null)
+ {
+ clone.registrationDate = (Calendar) registrationDate.clone();
+ }
+ if (stickers != null)
+ {
+ clone.stickers = new ArrayList<Sticker>();
+ for (Sticker s : stickers)
+ {
+ clone.stickers.add(s.clone());
+ }
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
@@ -38,7 +39,7 @@
* @author gcatania
*/
@Entity
-public class CarMaker
+public class CarMaker implements Cloneable
{
@Id
@@ -206,4 +207,32 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public CarMaker clone()
+ {
+ CarMaker clone;
+ try
+ {
+ clone = (CarMaker) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ if (capitalization != null)
+ {
+ clone.capitalization = capitalization.clone();
+ }
+ if (models != null)
+ {
+ clone.models = new ArrayList<CarModel>();
+ for (CarModel m : models)
+ {
+ clone.models.add(m.clone());
+ }
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -38,7 +38,7 @@
* @author gcatania
*/
@Entity
-public class CarModel
+public class CarModel implements Cloneable
{
@Id
@@ -217,4 +217,18 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public CarModel clone()
+ {
+ try
+ {
+ return (CarModel) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -32,7 +32,7 @@
* @author gcatania
*/
@Embeddable
-public class CurrencyAmount
+public class CurrencyAmount implements Cloneable
{
private double amount;
@@ -143,4 +143,17 @@
return new StringBuilder().append(currency).append(' ').append(amount).toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public CurrencyAmount clone()
+ {
+ try
+ {
+ return (CurrencyAmount) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
@@ -130,4 +131,20 @@
return true;
}
+ /** {@inheritDoc} */
+ @Override
+ public Designer clone()
+ {
+ Designer clone = (Designer) super.clone();
+ if (designedModels != null)
+ {
+ clone.designedModels = new HashSet<CarModel>();
+ for (CarModel m : designedModels)
+ {
+ clone.designedModels.add(m.clone());
+ }
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -190,7 +190,7 @@
return false;
}
}
- else if (!employedSince.equals(other.employedSince))
+ else if (employedSince.compareTo(other.employedSince) != 0)
{
return false;
}
@@ -230,4 +230,24 @@
return true;
}
+ /** {@inheritDoc} */
+ @Override
+ public Employee clone()
+ {
+ Employee clone = (Employee) super.clone();
+ if (employer != null)
+ {
+ clone.employer = employer.clone();
+ }
+ if (grossAnnualSalary != null)
+ {
+ clone.grossAnnualSalary = grossAnnualSalary.clone();
+ }
+ if (employedSince != null)
+ {
+ clone.employedSince = (Calendar) employedSince.clone();
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -33,7 +33,7 @@
* @author gcatania
*/
@Embeddable
-public class FullName
+public class FullName implements Cloneable
{
private Title title;
@@ -173,4 +173,18 @@
return "FullName [familyName=" + familyName + ", givenName=" + givenName + ", title=" + title + "]";
}
+ /** {@inheritDoc} */
+ @Override
+ public FullName clone()
+ {
+ try
+ {
+ return (FullName) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.test.model;
+import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
@@ -125,4 +126,24 @@
return true;
}
+ /** {@inheritDoc} */
+ @Override
+ public Owner clone()
+ {
+ Owner clone = (Owner) super.clone();
+ if (cars != null)
+ {
+ clone.cars = new HashSet<Car>();
+ for (Car car : cars)
+ {
+ clone.cars.add(car.clone());
+ }
+ }
+ if (totalValueOfCars != null)
+ {
+ clone.totalValueOfCars = totalValueOfCars.clone();
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -47,7 +47,7 @@
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "personType")
-public class Person
+public class Person implements Cloneable
{
@Id
@@ -188,7 +188,7 @@
return false;
}
}
- else if (!birthDate.equals(other.birthDate))
+ else if (birthDate.compareTo(other.birthDate) != 0)
{
return false;
}
@@ -257,4 +257,37 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public Person clone()
+ {
+ Person clone;
+ try
+ {
+ clone = (Person) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+
+ if (name != null)
+ {
+ clone.name = name.clone();
+ }
+ if (birthDate != null)
+ {
+ clone.birthDate = (Calendar) birthDate.clone();
+ }
+ if (currentAddress != null)
+ {
+ clone.currentAddress = currentAddress.clone();
+ }
+ if (fiscalAddress != null)
+ {
+ clone.fiscalAddress = fiscalAddress.clone();
+ }
+ return clone;
+ }
+
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -35,7 +35,7 @@
* @author gcatania
*/
@Entity
-public class Sticker
+public class Sticker implements Cloneable
{
@Id
@@ -216,4 +216,17 @@
return builder.toString();
}
+ /** {@inheritDoc} */
+ @Override
+ public Sticker clone()
+ {
+ try
+ {
+ return (Sticker) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new InternalError(e.getMessage());
+ }
+ }
}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java 2012-06-22 15:56:05 UTC (rev 4071)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java 2012-06-22 15:59:20 UTC (rev 4072)
@@ -28,9 +28,8 @@
/**
* @author gcatania
*/
-public enum Title {
-
+public enum Title
+{
/** male, female titles */
MR, MRS
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2012-06-29 13:17:47
|
Revision: 4074
http://openutils.svn.sourceforge.net/openutils/?rev=4074&view=rev
Author: gcatania
Date: 2012-06-29 13:17:38 +0000 (Fri, 29 Jun 2012)
Log Message:
-----------
Merged revisions 4073 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4073 | gcatania | 2012-06-29 15:14:53 +0200 (Fri, 29 Jun 2012) | 1 line
BSHD-15 fixed for FilterMetadataSupport, readability improvement
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4073&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.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-4071
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4073
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*
Property changes on: branches/openutils-bshd5-backport/pom.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-29 13:14:53 UTC (rev 4073)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-29 13:17:38 UTC (rev 4074)
@@ -67,7 +67,7 @@
private Character escapeCharacter;
- private PropertySelector selector;
+ private PropertySelector selector = new ExcludeBackrefPropertySelector(); // BSHD-15
private MatchMode matchMode;
@@ -343,7 +343,7 @@
{
ex.ignoreCase();
}
- ex.setPropertySelector(selector != null ? selector : new ExcludeBackrefPropertySelector()); // BSHD-15
+ ex.setPropertySelector(selector);
Set<String> excludedPropertiesForPath = excludedProperties.get(associationPath);
if (excludedPropertiesForPath != null)
{
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 13:14:53 UTC (rev 4073)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-06-29 13:17:38 UTC (rev 4074)
@@ -193,6 +193,7 @@
private Example example(Object entity, Set<String> propertiesToExclude)
{
Example ex = Example.create(entity);
+ ex.setPropertySelector(new ExcludeBackrefPropertySelector()); // BSHD-15
for (String propertyName : propertiesToExclude)
{
// skip properties handled by filterMetadata
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:11:56
|
Revision: 4079
http://openutils.svn.sourceforge.net/openutils/?rev=4079&view=rev
Author: gcatania
Date: 2012-06-29 16:11:44 +0000 (Fri, 29 Jun 2012)
Log Message:
-----------
Merged revisions 4075-4078 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4075 | gcatania | 2012-06-29 16:26:07 +0200 (Fri, 29 Jun 2012) | 1 line
cleanup unit tests
........
r4076 | gcatania | 2012-06-29 17:10:22 +0200 (Fri, 29 Jun 2012) | 1 line
BSHD-15 source code refactor and cleanup
........
r4077 | gcatania | 2012-06-29 18:03:05 +0200 (Fri, 29 Jun 2012) | 1 line
BSHD-2 adding tests for filter metadata, refactoring
........
r4078 | gcatania | 2012-06-29 18:05:56 +0200 (Fri, 29 Jun 2012) | 1 line
licenses
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4075&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4076&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4077&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4078&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/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
Added Paths:
-----------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java
Removed Paths:
-------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.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-4073
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4078
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*
Property changes on: branches/openutils-bshd5-backport/pom.xml
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078
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:05:56 UTC (rev 4078)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-06-29 16:11:44 UTC (rev 4079)
@@ -38,7 +38,6 @@
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;
@@ -167,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});
}
/**
@@ -724,7 +723,7 @@
* @author gcatania
*/
@SuppressWarnings("deprecation")
- private class LegacySupportCallback<R> extends ExampleTreeCallback<R>
+ private class LegacySupportCallback<R> extends BaseCallback<R>
{
private final T rootEntity;
@@ -741,7 +740,7 @@
List< ? extends Criterion> additionalCriteria,
Order... orders)
{
- super(new ExampleTree(rootEntity), maxResults, page, orders);
+ super(maxResults, page, orders);
this.rootEntity = rootEntity;
this.filterMetadata = metadata;
this.additionalCriteria = additionalCriteria;
@@ -750,11 +749,7 @@
@Override
protected Criteria createCriteria(Session session)
{
- Criteria crit = super.createCriteria(session);
- if (MapUtils.isNotEmpty(filterMetadata))
- {
- new FilterMetadataSupport(rootEntity, filterMetadata).appendTo(crit, session);
- }
+ Criteria crit = new FilterMetadataSupport(rootEntity, filterMetadata).create(session);
if (additionalCriteria != null)
{
for (Criterion c : additionalCriteria)
@@ -794,8 +789,12 @@
protected Criteria createCriteria(Session session)
{
Criteria crit = super.createCriteria(session);
- if (!CollectionUtils.isEmpty(properties))
+ if (CollectionUtils.isEmpty(properties))
{
+ crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
+ }
+ else
+ {
ProjectionList projectionList = Projections.projectionList();
for (String property : properties)
{
@@ -814,7 +813,7 @@
* @author gcatania
* @param R the result class
*/
-class ExampleTreeCallback<R> implements HibernateCallback
+abstract class BaseCallback<R> implements HibernateCallback
{
private final Order[] orders;
@@ -823,26 +822,23 @@
private final int page;
- private final ExampleTree exampleTree;
-
- protected ExampleTreeCallback(ExampleTree exampleTree, int maxResults, int page, Order... orders)
+ protected BaseCallback(int maxResults, int page, Order... orders)
{
- this.exampleTree = exampleTree;
this.maxResults = maxResults;
this.page = page;
this.orders = orders;
}
/**
- * internal method that creates the query criteria. Subclasses may override but should call {@code super()}
+ * internal method that creates the query criteria.
* @param session the hibernate session
* @return the hibernate criteria
*/
- protected Criteria createCriteria(Session session)
+ protected abstract Criteria createCriteria(Session session);
+
+ public final List<R> doInHibernate(Session session) throws HibernateException, SQLException
{
- Criteria crit = exampleTree.create(session);
-
- crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
+ Criteria crit = createCriteria(session);
crit.setMaxResults(maxResults);
crit.setFirstResult(maxResults * page);
if (orders != null)
@@ -852,13 +848,35 @@
crit.addOrder(o);
}
}
+ return crit.list();
+ }
+}
- return crit;
+
+/**
+ * @author gcatania
+ * @param R the result class
+ */
+class ExampleTreeCallback<R> extends BaseCallback<R>
+{
+
+ private final ExampleTree exampleTree;
+
+ protected ExampleTreeCallback(ExampleTree exampleTree, int maxResults, int page, Order... orders)
+ {
+ super(maxResults, page, orders);
+ this.exampleTree = exampleTree;
}
- public List<R> doInHibernate(Session session) throws HibernateException, SQLException
+ /**
+ * internal method that creates the query criteria. Subclasses may override.
+ * @param session the hibernate session
+ * @return the hibernate criteria
+ */
+ @Override
+ protected Criteria createCriteria(Session session)
{
- return createCriteria(session).list();
+ return exampleTree.create(session);
}
}
@@ -868,9 +886,12 @@
private final List<String> properties;
- protected ExampleTreePropertiesCallback(ExampleTree exampleTree, int maxResults, int page,
-
- List<String> properties, Order... orders)
+ protected ExampleTreePropertiesCallback(
+ ExampleTree exampleTree,
+ int maxResults,
+ int page,
+ List<String> properties,
+ Order... orders)
{
super(exampleTree, maxResults, page, orders);
this.properties = properties;
@@ -880,8 +901,12 @@
protected Criteria createCriteria(Session session)
{
Criteria crit = super.createCriteria(session);
- if (!CollectionUtils.isEmpty(properties))
+ if (CollectionUtils.isEmpty(properties))
{
+ crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
+ }
+ else
+ {
ProjectionList projectionList = Projections.projectionList();
for (String property : properties)
{
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-29 16:05:56 UTC (rev 4078)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-06-29 16:11:44 UTC (rev 4079)
@@ -25,11 +25,10 @@
package it.openutils.hibernate.example;
+import it.openutils.hibernate.selectors.ExcludeBackrefPropertySelector;
+
import java.io.Serializable;
-import java.lang.reflect.Array;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -37,7 +36,6 @@
import java.util.Map;
import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.EntityMode;
import org.hibernate.Hibernate;
@@ -50,7 +48,6 @@
import org.hibernate.criterion.Restrictions;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.metadata.ClassMetadata;
-import org.hibernate.property.BackrefPropertyAccessor;
import org.hibernate.type.Type;
@@ -67,7 +64,7 @@
private Character escapeCharacter;
- private PropertySelector selector = new ExcludeBackrefPropertySelector(); // BSHD-15
+ private PropertySelector selector = new ExcludeBackrefPropertySelector(ExampleTreePropertySelectorSupport.NOT_NULL); // BSHD-15
private MatchMode matchMode;
@@ -260,7 +257,7 @@
private void createSubExamples(Criteria crit, Object entity, String[] walkedProperties)
{
- String associationPath = getAssociationPath(walkedProperties);
+ String associationPath = ExampleTreeUtils.getPath(walkedProperties);
crit.add(example(entity, associationPath));
for (Criterion c : getAdditionalConditions(associationPath))
{
@@ -281,7 +278,7 @@
continue;
}
String propertyName = names[i];
- if (alreadyWalked(walkedProperties, propertyName))
+ if (ExampleTreeUtils.alreadyWalked(walkedProperties, propertyName))
{
continue;
}
@@ -289,7 +286,7 @@
Object propertyValue = classMetadata.getPropertyValue(entity, propertyName, entityMode);
if (propertyType.isCollectionType())
{
- propertyValue = getValueFromCollection(propertyValue);
+ propertyValue = ExampleTreeUtils.getValueFromCollection(propertyValue);
}
if (propertyValue == null)
{
@@ -298,7 +295,7 @@
}
Criteria subCrit = crit.createCriteria(propertyName);
- String[] subProperties = append(walkedProperties, propertyName);
+ String[] subProperties = ExampleTreeUtils.append(walkedProperties, propertyName);
createSubExamples(subCrit, propertyValue, subProperties);
}
}
@@ -323,11 +320,6 @@
}
}
- private String getAssociationPath(String[] walkedProperties)
- {
- return walkedProperties.length > 0 ? StringUtils.join(walkedProperties, '.') : StringUtils.EMPTY;
- }
-
private Example example(Object entity, String associationPath)
{
Example ex = Example.create(entity);
@@ -365,128 +357,13 @@
return result;
}
- /**
- * check the property with the input name was already walked in the input path
- * @param path the current path
- * @param propertyName the property name about to be walked
- * @return true if the property with the input name was already walked in the input path
- */
- private boolean alreadyWalked(String[] walkedProperties, String propertyName)
- {
- if (walkedProperties.length <= 2)
- {
- return false;
- }
- String parent = walkedProperties[walkedProperties.length - 1];
- boolean lastWasChild = false;
- for (int i = walkedProperties.length - 2; i > 0; i--)
- {
- String currPropertyName = walkedProperties[i];
- if (currPropertyName.equals(propertyName))
- {
- lastWasChild = true;
- continue;
- }
- if (lastWasChild)
- {
- if (currPropertyName.equals(parent))
- {
- return true;
- }
- else
- {
- lastWasChild = false;
- }
- }
- }
- return false;
- }
-
- // see http://opensource2.atlassian.com/projects/hibernate/browse/HHH-879
- private Object getValueFromCollection(Object collectionValue)
- {
- if (collectionValue != null)
- {
- if (collectionValue instanceof Collection< ? >)
- {
- Collection< ? > coll = (Collection< ? >) collectionValue;
- int size = coll.size();
- if (size == 1)
- {
- return coll.iterator().next();
- }
- if (size > 1)
- {
- throw new IllegalArgumentException("More than one element in filter collection is unsupported.");
- }
- }
- Class< ? extends Object> clazz = collectionValue.getClass();
- if (clazz.isArray())
- {
- int length = Array.getLength(collectionValue);
- if (length == 1)
- {
- return Array.get(collectionValue, 0);
- }
- if (length > 1)
- {
- throw new IllegalArgumentException("More than one element in filter array is unsupported.");
- }
- }
- // TODO other cases?
- }
- return null;
- }
-
- private String[] append(String[] propertyNames, String propertyName)
- {
- String[] result = Arrays.copyOf(propertyNames, propertyNames.length + 1);
- result[propertyNames.length] = propertyName;
- return result;
- }
}
-
}
/**
- * support for BSHD-15
- * @author gcatania
- * @version $Id$
- */
-class ExcludeBackrefPropertySelector implements PropertySelector
-{
-
- private static final long serialVersionUID = -2803322309158823550L;
-
- private final PropertySelector selector;
-
- public ExcludeBackrefPropertySelector(PropertySelector selector)
- {
- this.selector = selector;
- }
-
- public ExcludeBackrefPropertySelector()
- {
- selector = ExampleTreePropertySelectorSupport.NOT_NULL;
- }
-
- public boolean include(Object propertyValue, String propertyName, Type type)
- {
- if (BackrefPropertyAccessor.UNKNOWN.equals(propertyValue))
- {
- return false;
- }
- return selector.include(propertyValue, propertyName, type);
- }
-
-}
-
-
-/**
* workaround to {@link Example} not exposing internal property selectors
* @author gcatania
- * @version $Id$
*/
@SuppressWarnings({"serial", "static-method"})
class ExampleTreePropertySelectorSupport
Copied: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java (from rev 4078, trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java)
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java (rev 0)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2012-06-29 16:11:44 UTC (rev 4079)
@@ -0,0 +1,147 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.example;
+
+import java.lang.reflect.Array;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.commons.lang3.StringUtils;
+
+
+/**
+ * @author gcatania
+ * @version $Id$
+ */
+final class ExampleTreeUtils
+{
+
+ private ExampleTreeUtils()
+ {
+ }
+
+ /**
+ * check the property with the input name was already walked in the input path
+ * @param path the current path
+ * @param propertyName the property name about to be walked
+ * @return true if the property with the input name was already walked in the input path
+ */
+ public static boolean alreadyWalked(String[] walkedProperties, String propertyName)
+ {
+ if (walkedProperties.length <= 2)
+ {
+ return false;
+ }
+ String parent = walkedProperties[walkedProperties.length - 1];
+ boolean lastWasChild = false;
+ for (int i = walkedProperties.length - 2; i > 0; i--)
+ {
+ String currPropertyName = walkedProperties[i];
+ if (currPropertyName.equals(propertyName))
+ {
+ lastWasChild = true;
+ continue;
+ }
+ if (lastWasChild)
+ {
+ if (currPropertyName.equals(parent))
+ {
+ return true;
+ }
+ else
+ {
+ lastWasChild = false;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * retrieves a value from a collection
+ * @param collectionValue the collection
+ * @return a value
+ * @see http://opensource2.atlassian.com/projects/hibernate/browse/HHH-879
+ * @throws IllegalArgumentException if the input collection contains more than one value
+ */
+ public static Object getValueFromCollection(Object collectionValue) throws IllegalArgumentException
+ {
+ if (collectionValue != null)
+ {
+ if (collectionValue instanceof Collection< ? >)
+ {
+ Collection< ? > coll = (Collection< ? >) collectionValue;
+ int size = coll.size();
+ if (size == 1)
+ {
+ return coll.iterator().next();
+ }
+ if (size > 1)
+ {
+ throw new IllegalArgumentException("More than one element in filter collection is unsupported.");
+ }
+ }
+ Class< ? extends Object> clazz = collectionValue.getClass();
+ if (clazz.isArray())
+ {
+ int length = Array.getLength(collectionValue);
+ if (length == 1)
+ {
+ return Array.get(collectionValue, 0);
+ }
+ if (length > 1)
+ {
+ throw new IllegalArgumentException("More than one element in filter array is unsupported.");
+ }
+ }
+ // TODO other cases?
+ }
+ return null;
+ }
+
+ /**
+ * @param strings an array of strings
+ * @param s the string to append
+ * @return a new array containing the input string array plus the input string at the end
+ */
+ public static String[] append(String[] strings, String s)
+ {
+ String[] result = Arrays.copyOf(strings, strings.length + 1);
+ result[strings.length] = s;
+ return result;
+ }
+
+ /**
+ * constructs the association path from an array of property names
+ * @param propertyNames the walked properties
+ * @return the association path
+ */
+ public static String getPath(String[] propertyNames)
+ {
+ return propertyNames.length > 0 ? StringUtils.join(propertyNames, '.') : StringUtils.EMPTY;
+ }
+
+}
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:05:56 UTC (rev 4078)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-06-29 16:11:44 UTC (rev 4079)
@@ -25,15 +25,13 @@
package it.openutils.hibernate.example;
-import java.lang.reflect.Array;
-import java.util.Arrays;
-import java.util.Collection;
+import it.openutils.hibernate.selectors.ExcludeBackrefPropertySelector;
+
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.apache.commons.collections.MapUtils;
-import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.EntityMode;
import org.hibernate.Hibernate;
@@ -117,7 +115,7 @@
private void createSubExamples(Criteria crit, Object entity, String[] walkedProperties)
{
- String path = getPath(walkedProperties);
+ String path = ExampleTreeUtils.getPath(walkedProperties);
Map<String, FilterMetadata> currFilterMetadata = getFilterMetadata(path);
crit.add(example(entity, currFilterMetadata.keySet()));
ClassMetadata classMetadata = sessionFactory.getClassMetadata(Hibernate.getClass(entity));
@@ -126,7 +124,7 @@
for (int i = 0; i < types.length; i++)
{
String propertyName = names[i];
- if (alreadyWalked(walkedProperties, propertyName))
+ if (ExampleTreeUtils.alreadyWalked(walkedProperties, propertyName))
{
continue;
}
@@ -147,7 +145,7 @@
if (propertyType.isCollectionType())
{
- propertyValue = getValueFromCollection(propertyValue);
+ propertyValue = ExampleTreeUtils.getValueFromCollection(propertyValue);
}
if (propertyValue == null)
{
@@ -156,7 +154,7 @@
}
Criteria subCrit = crit.createCriteria(propertyName);
- String[] subProperties = append(walkedProperties, propertyName);
+ String[] subProperties = ExampleTreeUtils.append(walkedProperties, propertyName);
createSubExamples(subCrit, propertyValue, subProperties);
}
}
@@ -174,10 +172,12 @@
{
continue;
}
- String leftover = key.substring(path.length() + 1);
- // skip subproperties
+ // need to take into account leading dot for subproperties
+ int trimLength = path.isEmpty() ? 0 : path.length() + 1;
+ String leftover = key.substring(trimLength);
if (leftover.contains("."))
{
+ // skip subproperties
continue;
}
result.put(leftover, filterMetadata.get(key));
@@ -185,15 +185,10 @@
return result;
}
- private String getPath(String[] walkedProperties)
- {
- return walkedProperties.length > 0 ? StringUtils.join(walkedProperties, '.') : StringUtils.EMPTY;
- }
-
private Example example(Object entity, Set<String> propertiesToExclude)
{
Example ex = Example.create(entity);
- ex.setPropertySelector(new ExcludeBackrefPropertySelector()); // BSHD-15
+ ex.setPropertySelector(new ExcludeBackrefPropertySelector(ExampleTreePropertySelectorSupport.NOT_NULL)); // BSHD-15
for (String propertyName : propertiesToExclude)
{
// skip properties handled by filterMetadata
@@ -202,84 +197,6 @@
return ex;
}
- /**
- * check the property with the input name was already walked in the input path
- * @param path the current path
- * @param propertyName the property name about to be walked
- * @return true if the property with the input name was already walked in the input path
- */
- private boolean alreadyWalked(String[] walkedProperties, String propertyName)
- {
- if (walkedProperties.length <= 2)
- {
- return false;
- }
- String parent = walkedProperties[walkedProperties.length - 1];
- boolean lastWasChild = false;
- for (int i = walkedProperties.length - 2; i > 0; i--)
- {
- String currPropertyName = walkedProperties[i];
- if (currPropertyName.equals(propertyName))
- {
- lastWasChild = true;
- continue;
- }
- if (lastWasChild)
- {
- if (currPropertyName.equals(parent))
- {
- return true;
- }
- else
- {
- lastWasChild = false;
- }
- }
- }
- return false;
- }
-
- private Object getValueFromCollection(Object collectionValue)
- {
- if (collectionValue != null)
- {
- if (collectionValue instanceof Collection< ? >)
- {
- Collection< ? > coll = (Collection< ? >) collectionValue;
- int size = coll.size();
- if (size == 1)
- {
- return coll.iterator().next();
- }
- if (size > 1)
- {
- throw new IllegalArgumentException("More than one element in filter collection is unsupported.");
- }
- }
- Class< ? extends Object> clazz = collectionValue.getClass();
- if (clazz.isArray())
- {
- int length = Array.getLength(collectionValue);
- if (length == 1)
- {
- return Array.get(collectionValue, 0);
- }
- if (length > 1)
- {
- throw new IllegalArgumentException("More than one element in filter array is unsupported.");
- }
- }
- // TODO other cases?
- }
- return null;
- }
-
- private String[] append(String[] propertyNames, String propertyName)
- {
- String[] result = Arrays.copyOf(propertyNames, propertyNames.length + 1);
- result[propertyNames.length] = propertyName;
- return result;
- }
}
}
Deleted: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.java
===================================================================
--- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.jav...
[truncated message content] |
|
From: <gca...@us...> - 2012-06-29 16:29:16
|
Revision: 4081
http://openutils.svn.sourceforge.net/openutils/?rev=4081&view=rev
Author: gcatania
Date: 2012-06-29 16:29:10 +0000 (Fri, 29 Jun 2012)
Log Message:
-----------
Merged revisions 4080 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4080 | gcatania | 2012-06-29 18:27:22 +0200 (Fri, 29 Jun 2012) | 1 line
fix filter metadata support
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4080&view=rev
Modified Paths:
--------------
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-4078
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4080
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*
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
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080
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:27:22 UTC (rev 4080)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-06-29 16:29:10 UTC (rev 4081)
@@ -130,7 +130,7 @@
}
Object propertyValue = classMetadata.getPropertyValue(entity, propertyName, entityMode);
FilterMetadata fm = currFilterMetadata.get(propertyName);
- if (fm != null)
+ if (fm != null && propertyValue != null)
{
fm.createFilter(crit, propertyName, propertyValue);
continue;
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:35:01
|
Revision: 4083
http://openutils.svn.sourceforge.net/openutils/?rev=4083&view=rev
Author: gcatania
Date: 2012-06-29 16:34:55 +0000 (Fri, 29 Jun 2012)
Log Message:
-----------
Merged revisions 4082 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4082 | gcatania | 2012-06-29 18:32:50 +0200 (Fri, 29 Jun 2012) | 1 line
fix unit tests after backwards compatibility fix
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4082&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.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-4080
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4082
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*
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
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080,4082
Property changes on: branches/openutils-bshd5-backport/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java 2012-06-29 16:32:50 UTC (rev 4082)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java 2012-06-29 16:34:55 UTC (rev 4083)
@@ -101,7 +101,9 @@
criteria.add(Restrictions.lt(propertyName, 22d));
}
};
- List<Sticker> found = stickerDAO.findFiltered(new Sticker(), Collections.singletonMap("height", fm));
+ Sticker stickerFilter = new Sticker();
+ stickerFilter.setHeight(12d); // unused but must be not null for backwards compatibility
+ List<Sticker> found = stickerDAO.findFiltered(stickerFilter, Collections.singletonMap("height", fm));
Assert.assertEquals(found.size(), 1);
Assert.assertEquals(found.get(0), st1);
}
@@ -143,7 +145,9 @@
}
};
Car filter = new Car();
- filter.setStickers(Collections.singletonList(new Sticker()));
+ Sticker stickerFilter = new Sticker();
+ stickerFilter.setHeight(12d); // unused but must be not null for backwards compatibility
+ filter.setStickers(Collections.singletonList(stickerFilter));
List<Car> found = carDAO.findFiltered(filter, Collections.singletonMap("stickers.height", fm));
Assert.assertEquals(found.size(), 1);
Car actual = found.get(0);
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: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.
|
|
From: <gca...@us...> - 2012-07-02 12:56:33
|
Revision: 4088
http://openutils.svn.sourceforge.net/openutils/?rev=4088&view=rev
Author: gcatania
Date: 2012-07-02 12:56:22 +0000 (Mon, 02 Jul 2012)
Log Message:
-----------
Merged revisions 4087 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4087 | gcatania | 2012-07-02 14:44:01 +0200 (Mon, 02 Jul 2012) | 1 line
BSHD-11 also fixed in FilterMetadataSupport
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4087&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.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-4085
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4087
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*
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,4084-4085
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087
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,4084-4085
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-07-02 12:44:01 UTC (rev 4087)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2012-07-02 12:56:22 UTC (rev 4088)
@@ -45,8 +45,6 @@
import org.hibernate.criterion.Example;
import org.hibernate.criterion.Example.PropertySelector;
import org.hibernate.criterion.MatchMode;
-import org.hibernate.criterion.Restrictions;
-import org.hibernate.engine.SessionImplementor;
import org.hibernate.metadata.ClassMetadata;
import org.hibernate.type.Type;
@@ -265,7 +263,7 @@
}
ClassMetadata classMetadata = sessionFactory.getClassMetadata(Hibernate.getClass(entity));
- addIdentifierRestriction(crit, entity, classMetadata); // BSHD-11
+ ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
Type[] types = classMetadata.getPropertyTypes();
String[] names = classMetadata.getPropertyNames();
@@ -300,26 +298,6 @@
}
}
- /*
- * BSHD-11
- */
- private void addIdentifierRestriction(Criteria crit, Object entity, ClassMetadata classMetadata)
- {
- String identifierName = classMetadata.getIdentifierPropertyName();
- if (identifierName != null)
- {
- // TODO is this cast really necessary? Will it fail in future hibernate versions?
- SessionImplementor si = (SessionImplementor) sessionFactory.getCurrentSession();
-
- // Object idValue = classMetadata.getIdentifier(entity, si);
- Object idValue = classMetadata.getIdentifier(entity, entityMode);
- if (idValue != null) // TODO should we use property selectors instead?
- {
- crit.add(Restrictions.idEq(idValue));
- }
- }
- }
-
private Example example(Object entity, String associationPath)
{
Example ex = Example.create(entity);
@@ -417,4 +395,4 @@
}
}
-}
\ No newline at end of file
+}
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2012-07-02 12:44:01 UTC (rev 4087)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2012-07-02 12:56:22 UTC (rev 4088)
@@ -30,6 +30,11 @@
import java.util.Collection;
import org.apache.commons.lang3.StringUtils;
+import org.hibernate.Criteria;
+import org.hibernate.Session;
+import org.hibernate.criterion.Restrictions;
+import org.hibernate.engine.SessionImplementor;
+import org.hibernate.metadata.ClassMetadata;
/**
@@ -144,4 +149,29 @@
return propertyNames.length > 0 ? StringUtils.join(propertyNames, '.') : StringUtils.EMPTY;
}
+ /**
+ * adds the identifier restriction to the input criteria, if required
+ * @param crit the criteria
+ * @param entity the entity to use as example
+ * @param classMetadata the class metadata to use
+ * @param ses the current session
+ * @see BSHD-11
+ */
+ public static void addIdentifierRestriction(Criteria crit, Object entity, ClassMetadata classMetadata, Session ses)
+ {
+ String identifierName = classMetadata.getIdentifierPropertyName();
+ if (identifierName != null)
+ {
+ // TODO is this cast really necessary? Will it fail in future hibernate versions?
+ SessionImplementor si = (SessionImplementor) ses;
+
+ // Object idValue = classMetadata.getIdentifier(entity, si);
+ Object idValue = classMetadata.getIdentifier(entity, ses.getEntityMode());
+ if (idValue != null) // TODO should we use property selectors instead?
+ {
+ crit.add(Restrictions.idEq(idValue));
+ }
+ }
+ }
+
}
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-07-02 12:44:01 UTC (rev 4087)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2012-07-02 12:56:22 UTC (rev 4088)
@@ -116,6 +116,9 @@
Map<String, FilterMetadata> currFilterMetadata = getFilterMetadata(path);
crit.add(example(entity, currFilterMetadata.keySet()));
ClassMetadata classMetadata = sessionFactory.getClassMetadata(Hibernate.getClass(entity));
+
+ ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
+
Type[] types = classMetadata.getPropertyTypes();
String[] names = classMetadata.getPropertyNames();
for (int i = 0; i < types.length; i++)
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:22:51
|
Revision: 4090
http://openutils.svn.sourceforge.net/openutils/?rev=4090&view=rev
Author: gcatania
Date: 2012-07-04 13:22:42 +0000 (Wed, 04 Jul 2012)
Log Message:
-----------
Merged revisions 4089 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4089 | gcatania | 2012-07-04 15:19:09 +0200 (Wed, 04 Jul 2012) | 1 line
BSHD-2 added support for default filtering on example tree
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4089&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.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-4087
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4089
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*
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,4084-4085,4087
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089
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,4084-4085,4087
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089
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-07-04 13:19:09 UTC (rev 4089)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2012-07-04 13:22:42 UTC (rev 4090)
@@ -191,7 +191,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());
}
/**
@@ -207,7 +207,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);
}
/**
@@ -223,7 +223,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());
}
/**
@@ -303,7 +303,7 @@
*/
public T findFilteredFirst(T filter, List<Criterion> criteria)
{
- ExampleTree exampleTree = new ExampleTree(filter);
+ ExampleTree exampleTree = defaultExample(filter);
appendToRoot(exampleTree, criteria);
return getFirstInCollection(getThis().findFiltered(exampleTree, Integer.MAX_VALUE, 0, getDefaultOrder()));
}
@@ -436,7 +436,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);
}
/**
@@ -488,7 +488,7 @@
HibernateCallback callback;
if (MapUtils.isEmpty(metadata) && CollectionUtils.isEmpty(criteria))
{
- callback = new ExampleTreeCallback(new ExampleTree(filter), maxResults, page, orders);
+ callback = new ExampleTreeCallback(defaultExample(filter), maxResults, page, orders);
}
else
{
@@ -519,7 +519,7 @@
HibernateCallback 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
{
@@ -675,11 +675,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, FilterMetadata> getDefaultFilterMetadata()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2012-07-05 15:05:13
|
Revision: 4095
http://openutils.svn.sourceforge.net/openutils/?rev=4095&view=rev
Author: gcatania
Date: 2012-07-05 15:05:00 +0000 (Thu, 05 Jul 2012)
Log Message:
-----------
Merged revisions 4091-4092 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4091 | gcatania | 2012-07-05 16:42:38 +0200 (Thu, 05 Jul 2012) | 1 line
BSHD-17 preliminary: avoid possible sql keywords as field names
........
r4092 | gcatania | 2012-07-05 16:49:05 +0200 (Thu, 05 Jul 2012) | 1 line
BSHD-17 added derby profile for unit tests
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4091&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4092&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml
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-4089
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2012-07-05 15:03:58 UTC (rev 4094)
+++ branches/openutils-bshd5-backport/pom.xml 2012-07-05 15:05:00 UTC (rev 4095)
@@ -29,6 +29,12 @@
<url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/trunk/openutils-bshd5</url>
</scm>
<build>
+ <testResources>
+ <testResource>
+ <filtering>true</filtering>
+ <directory>src/test/resources</directory>
+ </testResource>
+ </testResources>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
@@ -159,12 +165,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>2.2.6</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>${hibernate.annotations.version}</version>
@@ -192,4 +192,61 @@
<hibernate.annotations.version>3.4.0.GA</hibernate.annotations.version>
<javassist.version>3.14.0-GA</javassist.version>
</properties>
+
+ <profiles>
+ <profile>
+ <id>test-hsql</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <hibernate.driver>org.hsqldb.jdbcDriver</hibernate.driver>
+ <hibernate.url>jdbc:hsqldb:mem:daotest</hibernate.url>
+ <hibernate.user>sa</hibernate.user>
+ <hibernate.password></hibernate.password>
+ <hibernate.dialect>org.hibernate.dialect.HSQLDialect</hibernate.dialect>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>2.2.8</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>test-derby</id>
+ <properties>
+ <hibernate.driver>org.apache.derby.jdbc.EmbeddedDriver</hibernate.driver>
+ <hibernate.url>jdbc:derby:memory:daotest;create=true</hibernate.url>
+ <hibernate.user>sa</hibernate.user>
+ <hibernate.password></hibernate.password>
+ <hibernate.dialect>org.hibernate.dialect.DerbyDialect</hibernate.dialect>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>derby.stream.error.file</name>
+ <value>${project.build.directory}/derby.log</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.9.1.0</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
</project>
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,4084-4085,4087,4089
+ /trunk/openutils-bshd5/pom.xml:4045-4047,4059,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089,4091-4092
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,4084-4085,4087,4089
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089,4091-4092
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java 2012-07-05 15:03:58 UTC (rev 4094)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java 2012-07-05 15:05:00 UTC (rev 4095)
@@ -115,7 +115,7 @@
CarModel prius = new CarModel();
prius.setName("Prius");
prius.setMake(toyota);
- prius.setYear(Integer.valueOf(2008));
+ prius.setLaunchYear(Integer.valueOf(2008));
List<CarModel> toyotaModels = toyota.getModels();
if (toyotaModels == null)
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2012-07-05 15:03:58 UTC (rev 4094)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2012-07-05 15:05:00 UTC (rev 4095)
@@ -128,7 +128,7 @@
Assert.assertEquals(rd.getEmployer(), toyota);
Assert.assertEquals(prius.getMake(), toyota);
Assert.assertEquals(rd.getHipsterFactor(), 97);
- Assert.assertEquals(rd.getDesignedModels().iterator().next().getYear(), Integer.valueOf(2008));
+ Assert.assertEquals(rd.getDesignedModels().iterator().next().getLaunchYear(), Integer.valueOf(2008));
}
@Test
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2012-07-05 15:03:58 UTC (rev 4094)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2012-07-05 15:05:00 UTC (rev 4095)
@@ -47,7 +47,7 @@
private String street;
@Column(nullable = false, scale = 4)
- private Integer no;
+ private Integer streetNumber;
@Column(nullable = false, length = 50)
private String city;
@@ -62,10 +62,10 @@
{
}
- public Address(String street, Integer no, String city, String county, Integer zipCode)
+ public Address(String street, Integer streetNumber, String city, String county, Integer zipCode)
{
this.street = street;
- this.no = no;
+ this.streetNumber = streetNumber;
this.city = city;
this.county = county;
this.zipCode = zipCode;
@@ -104,19 +104,19 @@
}
/**
- * @return the no
+ * @return the streetNumber
*/
- public Integer getNo()
+ public Integer getStreetNumber()
{
- return no;
+ return streetNumber;
}
/**
- * @param no the no to set
+ * @param streetNumber the no to set
*/
- public void setNo(Integer no)
+ public void setStreetNumber(Integer streetNumber)
{
- this.no = no;
+ this.streetNumber = streetNumber;
}
/**
@@ -178,7 +178,7 @@
result = prime * result + ((city == null) ? 0 : city.hashCode());
result = prime * result + ((county == null) ? 0 : county.hashCode());
result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((no == null) ? 0 : no.hashCode());
+ result = prime * result + ((streetNumber == null) ? 0 : streetNumber.hashCode());
result = prime * result + ((street == null) ? 0 : street.hashCode());
result = prime * result + ((zipCode == null) ? 0 : zipCode.hashCode());
return result;
@@ -236,14 +236,14 @@
{
return false;
}
- if (no == null)
+ if (streetNumber == null)
{
- if (other.no != null)
+ if (other.streetNumber != null)
{
return false;
}
}
- else if (!no.equals(other.no))
+ else if (!streetNumber.equals(other.streetNumber))
{
return false;
}
@@ -284,8 +284,8 @@
+ county
+ ", id="
+ id
- + ", no="
- + no
+ + ", streetNumber="
+ + streetNumber
+ ", street="
+ street
+ ", zipCode="
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java 2012-07-05 15:03:58 UTC (rev 4094)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java 2012-07-05 15:05:00 UTC (rev 4095)
@@ -52,7 +52,7 @@
private String name;
@Column
- private Integer year;
+ private Integer launchYear;
/**
* @return the id
@@ -103,19 +103,19 @@
}
/**
- * @return the year
+ * @return the launchYear
*/
- public Integer getYear()
+ public Integer getLaunchYear()
{
- return year;
+ return launchYear;
}
/**
- * @param year the year to set
+ * @param launchYear the launchYear to set
*/
- public void setYear(Integer year)
+ public void setLaunchYear(Integer launchYear)
{
- this.year = year;
+ this.launchYear = launchYear;
}
/**
@@ -129,7 +129,7 @@
result = prime * result + ((id == null) ? 0 : id.hashCode());
result = prime * result + ((make == null) ? 0 : make.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((year == null) ? 0 : year.hashCode());
+ result = prime * result + ((launchYear == null) ? 0 : launchYear.hashCode());
return result;
}
@@ -185,14 +185,14 @@
{
return false;
}
- if (year == null)
+ if (launchYear == null)
{
- if (other.year != null)
+ if (other.launchYear != null)
{
return false;
}
}
- else if (!year.equals(other.year))
+ else if (!launchYear.equals(other.launchYear))
{
return false;
}
@@ -211,8 +211,8 @@
.append(id)
.append(", name=")
.append(name)
- .append(", year=")
- .append(year)
+ .append(", launchYear=")
+ .append(launchYear)
.append("]");
return builder.toString();
}
Modified: branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml
===================================================================
--- branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml 2012-07-05 15:03:58 UTC (rev 4094)
+++ branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml 2012-07-05 15:05:00 UTC (rev 4095)
@@ -11,10 +11,10 @@
<context:annotation-config />
<context:component-scan base-package="it.openutils.hibernate.test" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
- <property name="url" value="jdbc:hsqldb:mem:daotest" />
- <property name="username" value="sa" />
- <property name="password" value="" />
+ <property name="driverClassName" value="${hibernate.driver}" />
+ <property name="url" value="${hibernate.url}" />
+ <property name="username" value="${hibernate.user}" />
+ <property name="password" value="${hibernate.password}" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
@@ -22,7 +22,7 @@
<property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
<property name="hibernateProperties">
<props>
- <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
+ <prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
</props>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2013-02-14 15:58:53
|
Revision: 4193
http://openutils.svn.sourceforge.net/openutils/?rev=4193&view=rev
Author: gcatania
Date: 2013-02-14 15:58:42 +0000 (Thu, 14 Feb 2013)
Log Message:
-----------
Merged revisions 4192 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4192 | gcatania | 2013-02-14 16:32:53 +0100 (gio, 14 feb 2013) | 1 line
BSHD-18 improve error message for missing hibernate entity mapping
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4192&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/src/
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
- /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4192
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*
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,4084-4085,4087,4089,4091-4092
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089,4091-4092,4192
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2013-02-14 15:32:53 UTC (rev 4192)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2013-02-14 15:58:42 UTC (rev 4193)
@@ -261,10 +261,9 @@
{
crit.add(c);
}
- ClassMetadata classMetadata = sessionFactory.getClassMetadata(Hibernate.getClass(entity));
+ ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
-
Type[] types = classMetadata.getPropertyTypes();
String[] names = classMetadata.getPropertyNames();
for (int i = 0; i < types.length; i++)
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2013-02-14 15:32:53 UTC (rev 4192)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2013-02-14 15:58:42 UTC (rev 4193)
@@ -31,7 +31,9 @@
import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
+import org.hibernate.Hibernate;
import org.hibernate.Session;
+import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.metadata.ClassMetadata;
@@ -106,7 +108,8 @@
}
if (size > 1)
{
- throw new IllegalArgumentException("More than one element in filter collection is unsupported.");
+ throw new IllegalArgumentException("More than one element in filter collection is unsupported.\n"
+ + coll);
}
}
Class< ? extends Object> clazz = collectionValue.getClass();
@@ -128,6 +131,25 @@
}
/**
+ * obtains the hibernate class metadata for the input entity
+ * @param entity the hibernate entity
+ * @param sessionFactory the session factory to retrieve metadata from
+ * @return the class metadata
+ * @throws IllegalStateException if no class metadata is configured for the input entity
+ */
+ public static ClassMetadata getClassMetadata(Object entity, SessionFactory sessionFactory)
+ throws IllegalStateException
+ {
+ Class< ? > cl = Hibernate.getClass(entity);
+ ClassMetadata classMetadata = sessionFactory.getClassMetadata(cl);
+ if (classMetadata == null)
+ {
+ throw new IllegalStateException("No hibernate class metadata found for: " + cl);
+ }
+ return classMetadata;
+ }
+
+ /**
* @param strings an array of strings
* @param s the string to append
* @return a new array containing the input string array plus the input string at the end
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 2013-02-14 15:32:53 UTC (rev 4192)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2013-02-14 15:58:42 UTC (rev 4193)
@@ -115,10 +115,9 @@
String path = ExampleTreeUtils.getPath(walkedProperties);
Map<String, FilterMetadata> currFilterMetadata = getFilterMetadata(path);
crit.add(example(entity, currFilterMetadata.keySet()));
- ClassMetadata classMetadata = sessionFactory.getClassMetadata(Hibernate.getClass(entity));
+ ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
-
Type[] types = classMetadata.getPropertyTypes();
String[] names = classMetadata.getPropertyNames();
for (int i = 0; i < types.length; i++)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2013-03-11 15:45:37
|
Revision: 4199
http://openutils.svn.sourceforge.net/openutils/?rev=4199&view=rev
Author: gcatania
Date: 2013-03-11 15:45:30 +0000 (Mon, 11 Mar 2013)
Log Message:
-----------
Merged revisions 4195 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4195 | gcatania | 2013-03-11 16:03:14 +0100 (lun, 11 mar 2013) | 1 line
BSHD-19 failing tests added (currently disabled)
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4195&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/test/resources/hibernate.cfg.xml
Added Paths:
-----------
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Bar.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Foo.java
branches/openutils-bshd5-backport/src/test/resources/preload-data.sql
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/src/
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
- /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4192
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4192,4195
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*,4195*
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,4084-4085,4087,4089,4091-4092,4192
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089,4091-4092,4192,4195
Copied: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java (from rev 4195, trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java)
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java (rev 0)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java 2013-03-11 15:45:30 UTC (rev 4199)
@@ -0,0 +1,147 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.test;
+
+import it.openutils.hibernate.test.dao.BarDAO;
+import it.openutils.hibernate.test.dao.FooDAO;
+import it.openutils.hibernate.test.model.Bar;
+import it.openutils.hibernate.test.model.Foo;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+
+/**
+ * @author gcatania
+ */
+@ContextConfiguration(locations = "/spring-tests.xml")
+public class HibernateDAOLazyLoadTest extends AbstractTransactionalTestNGSpringContextTests
+{
+
+ @Autowired
+ private FooDAO fooDAO;
+
+ @Autowired
+ private BarDAO barDAO;
+
+ @BeforeClass
+ protected final void preloadData()
+ {
+ executeSqlScript("/preload-data.sql", false);
+ }
+
+ private List<Foo> findFoo(String s, Bar bar)
+ {
+ Foo filter = new Foo();
+ filter.setBar(bar);
+ filter.setS(s);
+ List<Foo> found = fooDAO.findFiltered(filter);
+ return found;
+ }
+
+ private void testFind(long barId, String fooStr, Bar bar)
+ {
+ List<Foo> found = findFoo(fooStr, bar);
+ Assert.assertEquals(found.size(), 1);
+ Foo foo = found.get(0);
+ Assert.assertEquals(foo.getS(), fooStr);
+ Assert.assertEquals(foo.getBar().getId().longValue(), barId);
+ }
+
+ private void testDontFind(String fooStr, Bar bar)
+ {
+ List<Foo> found = findFoo(fooStr, bar);
+ Assert.assertEquals(found.size(), 0);
+ }
+
+ private void testFindEager(long barId, String fooStr)
+ {
+ Bar bar = barDAO.get(barId);
+ testFind(barId, fooStr, bar);
+ }
+
+ private void testFindLazy(long barId, String fooStr)
+ {
+ Bar bar = barDAO.load(barId);
+ testFind(barId, fooStr, bar);
+ }
+
+ @Test
+ public void testFindWithEagerParent1()
+ {
+ testFindEager(1L, "foo1_2");
+ }
+
+ @Test
+ public void testFindWithEagerParent2()
+ {
+ testFindEager(1L, "fooX_X");
+ }
+
+ @Test
+ public void testFindWithLazyParent1()
+ {
+ testFindLazy(1L, "foo1_2");
+ }
+
+ /**
+ * FIXME enable this test and fix BSHD-19
+ */
+ @Test(enabled = false)
+ public void testFindWithLazyParent2()
+ {
+ testFindLazy(1L, "fooX_X");
+ }
+
+ @Test
+ public void testDontFindWithEagerParent()
+ {
+ long barId = 1L;
+ String fooStr = "foo2_2";
+
+ Bar bar1 = barDAO.get(barId);
+ testDontFind(fooStr, bar1);
+ }
+
+ /**
+ * FIXME enable this test and fix BSHD-19
+ */
+ @Test(enabled = false)
+ public void testDontFindWithLazyParent()
+ {
+ long barId = 1L;
+ String fooStr = "foo2_2";
+
+ Bar bar1 = barDAO.load(barId);
+ testDontFind(fooStr, bar1);
+ }
+}
Copied: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java (from rev 4195, trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java)
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java (rev 0)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java 2013-03-11 15:45:30 UTC (rev 4199)
@@ -0,0 +1,55 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.test.dao;
+
+import it.openutils.dao.hibernate.HibernateDAO;
+import it.openutils.dao.hibernate.HibernateDAOImpl;
+import it.openutils.hibernate.test.model.Bar;
+
+import org.hibernate.SessionFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+
+/**
+ * @author gcatania
+ */
+public interface BarDAO extends HibernateDAO<Bar, Long>
+{
+
+ @Repository("barDAO")
+ class PersonDAOImpl extends HibernateDAOImpl<Bar, Long> implements BarDAO
+ {
+
+ @Autowired
+ public PersonDAOImpl(SessionFactory factory)
+ {
+ super(Bar.class);
+ setSessionFactory(factory);
+ }
+ }
+
+}
Copied: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java (from rev 4195, trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java)
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java (rev 0)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java 2013-03-11 15:45:30 UTC (rev 4199)
@@ -0,0 +1,55 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.test.dao;
+
+import it.openutils.dao.hibernate.HibernateDAO;
+import it.openutils.dao.hibernate.HibernateDAOImpl;
+import it.openutils.hibernate.test.model.Foo;
+
+import org.hibernate.SessionFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+
+/**
+ * @author gcatania
+ */
+public interface FooDAO extends HibernateDAO<Foo, Long>
+{
+
+ @Repository("fooDAO")
+ class PersonDAOImpl extends HibernateDAOImpl<Foo, Long> implements FooDAO
+ {
+
+ @Autowired
+ public PersonDAOImpl(SessionFactory factory)
+ {
+ super(Foo.class);
+ setSessionFactory(factory);
+ }
+ }
+
+}
Copied: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Bar.java (from rev 4195, trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/test/model/Bar.java)
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Bar.java (rev 0)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Bar.java 2013-03-11 15:45:30 UTC (rev 4199)
@@ -0,0 +1,80 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.test.model;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+
+/**
+ * @author gcatania
+ * @version $Id$
+ */
+@Entity
+public class Bar implements Cloneable
+{
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ private String s;
+
+ /**
+ * @return the id
+ */
+ public Long getId()
+ {
+ return id;
+ }
+
+ /**
+ * @param id the id to set
+ */
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ /**
+ * @return the s
+ */
+ public String getS()
+ {
+ return s;
+ }
+
+ /**
+ * @param s the s to set
+ */
+ public void setS(String s)
+ {
+ this.s = s;
+ }
+
+}
Copied: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Foo.java (from rev 4195, trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/test/model/Foo.java)
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Foo.java (rev 0)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Foo.java 2013-03-11 15:45:30 UTC (rev 4199)
@@ -0,0 +1,102 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.test.model;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+
+/**
+ * @author gcatania
+ * @version $Id$
+ */
+@Entity
+public class Foo implements Cloneable
+{
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ @ManyToOne
+ private Bar bar;
+
+ @Column
+ private String s;
+
+ /**
+ * @return the id
+ */
+ public Long getId()
+ {
+ return id;
+ }
+
+ /**
+ * @param id the id to set
+ */
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ /**
+ * @return the bar
+ */
+ public Bar getBar()
+ {
+ return bar;
+ }
+
+ /**
+ * @param bar the bar to set
+ */
+ public void setBar(Bar bar)
+ {
+ this.bar = bar;
+ }
+
+ /**
+ * @return the s
+ */
+ public String getS()
+ {
+ return s;
+ }
+
+ /**
+ * @param s the s to set
+ */
+ public void setS(String s)
+ {
+ this.s = s;
+ }
+
+}
Modified: branches/openutils-bshd5-backport/src/test/resources/hibernate.cfg.xml
===================================================================
--- branches/openutils-bshd5-backport/src/test/resources/hibernate.cfg.xml 2013-03-11 15:34:58 UTC (rev 4198)
+++ branches/openutils-bshd5-backport/src/test/resources/hibernate.cfg.xml 2013-03-11 15:45:30 UTC (rev 4199)
@@ -13,5 +13,8 @@
<mapping class="it.openutils.hibernate.test.model.Owner" />
<mapping class="it.openutils.hibernate.test.model.Person" />
<mapping class="it.openutils.hibernate.test.model.Sticker" />
+
+ <mapping class="it.openutils.hibernate.test.model.Foo" />
+ <mapping class="it.openutils.hibernate.test.model.Bar" />
</session-factory>
</hibernate-configuration>
\ No newline at end of file
Copied: branches/openutils-bshd5-backport/src/test/resources/preload-data.sql (from rev 4195, trunk/openutils-bshd5/src/test/resources/preload-data.sql)
===================================================================
--- branches/openutils-bshd5-backport/src/test/resources/preload-data.sql (rev 0)
+++ branches/openutils-bshd5-backport/src/test/resources/preload-data.sql 2013-03-11 15:45:30 UTC (rev 4199)
@@ -0,0 +1,17 @@
+insert into bar (id, s)
+values (1, 'bar1');
+insert into bar (id, s)
+values (2, 'bar2');
+
+insert into foo (id, bar_id, s)
+values ( 1, 1, 'foo1_1' );
+insert into foo (id, bar_id, s)
+values ( 2, 1, 'foo1_2' );
+insert into foo (id, bar_id, s)
+values ( 3, 1, 'fooX_X' );
+insert into foo (id, bar_id, s)
+values ( 4, 2, 'foo2_1' );
+insert into foo (id, bar_id, s)
+values ( 5, 2, 'foo2_2' );
+insert into foo (id, bar_id, s)
+values ( 6, 2, 'fooX_X' );
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2013-03-12 09:14:07
|
Revision: 4202
http://openutils.svn.sourceforge.net/openutils/?rev=4202&view=rev
Author: gcatania
Date: 2013-03-12 09:13:58 +0000 (Tue, 12 Mar 2013)
Log Message:
-----------
Merged revisions 4201 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4201 | gcatania | 2013-03-12 10:06:55 +0100 (mar, 12 mar 2013) | 1 line
BSHD-20 make identifier restrictions alternative to examples and filter metadata
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4201&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/src/
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
- /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4192,4195
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4192,4195,4201
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*,4195*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*,4195*,4201*
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,4084-4085,4087,4089,4091-4092,4192,4195
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089,4091-4092,4192,4195,4201
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2013-03-12 09:06:55 UTC (rev 4201)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2013-03-12 09:13:58 UTC (rev 4202)
@@ -255,6 +255,18 @@
private void createSubExamples(Criteria crit, Object entity, String[] walkedProperties)
{
+ ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
+ boolean isIdSet = ExampleTreeUtils.addIdentifierRestriction(
+ crit,
+ entity,
+ classMetadata,
+ sessionFactory.getCurrentSession()); // BSHD-11
+ if (isIdSet)
+ {
+ // BSHD-20 if the identifier is set on a property, do not impose further conditions
+ return;
+ }
+
String associationPath = ExampleTreeUtils.getPath(walkedProperties);
crit.add(example(entity, associationPath));
for (Criterion c : getAdditionalConditions(associationPath))
@@ -262,8 +274,6 @@
crit.add(c);
}
- ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
- ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
Type[] types = classMetadata.getPropertyTypes();
String[] names = classMetadata.getPropertyNames();
for (int i = 0; i < types.length; i++)
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2013-03-12 09:06:55 UTC (rev 4201)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2013-03-12 09:13:58 UTC (rev 4202)
@@ -178,9 +178,11 @@
* @param entity the entity to use as example
* @param classMetadata the class metadata to use
* @param ses the current session
- * @see BSHD-11
+ * @return true if the identifier restriction has been added, false otherwise
+ * @see BSHD-11, BSHD-20
*/
- public static void addIdentifierRestriction(Criteria crit, Object entity, ClassMetadata classMetadata, Session ses)
+ public static boolean addIdentifierRestriction(Criteria crit, Object entity, ClassMetadata classMetadata,
+ Session ses)
{
String identifierName = classMetadata.getIdentifierPropertyName();
if (identifierName != null)
@@ -199,8 +201,10 @@
if (idValue != null) // TODO should we use property selectors instead?
{
crit.add(Restrictions.idEq(idValue));
+ return true;
}
}
+ return false;
}
}
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 2013-03-12 09:06:55 UTC (rev 4201)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2013-03-12 09:13:58 UTC (rev 4202)
@@ -112,12 +112,22 @@
private void createSubExamples(Criteria crit, Object entity, String[] walkedProperties)
{
+ ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
+ boolean isIdSet = ExampleTreeUtils.addIdentifierRestriction(
+ crit,
+ entity,
+ classMetadata,
+ sessionFactory.getCurrentSession()); // BSHD-11
+ if (isIdSet)
+ {
+ // BSHD-20 if the identifier is set on a property, do not impose further conditions
+ return;
+ }
+
String path = ExampleTreeUtils.getPath(walkedProperties);
Map<String, FilterMetadata> currFilterMetadata = getFilterMetadata(path);
crit.add(example(entity, currFilterMetadata.keySet()));
- ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
- ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
Type[] types = classMetadata.getPropertyTypes();
String[] names = classMetadata.getPropertyNames();
for (int i = 0; i < types.length; i++)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2013-03-15 13:55:32
|
Revision: 4204
http://openutils.svn.sourceforge.net/openutils/?rev=4204&view=rev
Author: gcatania
Date: 2013-03-15 13:55:23 +0000 (Fri, 15 Mar 2013)
Log Message:
-----------
Merged revisions 4197,4203 via svnmerge from
https://openutils.svn.sourceforge.net/svnroot/openutils/trunk/openutils-bshd5
........
r4197 | gcatania | 2013-03-11 16:29:17 +0100 (lun, 11 mar 2013) | 1 line
BSHD-19 re-enable tests that no longer fail after version bump
........
r4203 | gcatania | 2013-03-14 15:25:36 +0100 (gio, 14 mar 2013) | 1 line
BSHD-20 add flag to change identifier restriction behavior, tests
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4197&view=rev
http://openutils.svn.sourceforge.net/openutils/?rev=4203&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java
Added Paths:
-----------
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
branches/openutils-bshd5-backport/src/
Property changes on: branches/openutils-bshd5-backport
___________________________________________________________________
Modified: svnmerge-integrated
- /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4192,4195,4201
+ /trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203
Modified: svn:mergeinfo
- /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*,4195*,4201*
+ /trunk/openutils-bshd5:4045-4047*,4057,4059,4069-4070*,4073*,4075-4078*,4080*,4082*,4084-4085*,4087*,4089*,4091-4092*,4192*,4195*,4197*,4201*,4203*
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,4084-4085,4087,4089,4091-4092,4192,4195,4201
+ /trunk/openutils-bshd5/src:4045-4047,4057,4069-4070,4073,4075-4078,4080,4082,4084-4085,4087,4089,4091-4092,4192,4195,4201,4203
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2013-03-14 14:25:36 UTC (rev 4203)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2013-03-15 13:55:23 UTC (rev 4204)
@@ -46,6 +46,7 @@
import org.hibernate.criterion.Example.PropertySelector;
import org.hibernate.criterion.MatchMode;
import org.hibernate.metadata.ClassMetadata;
+import org.hibernate.proxy.HibernateProxy;
import org.hibernate.type.Type;
@@ -68,6 +69,8 @@
private boolean isIgnoreCaseEnabled;
+ private boolean jointPropertyAndIdentifierFiltering;
+
private final Map<String, Set<String>> excludedProperties = new HashMap<String, Set<String>>();
private final Map<String, List<Criterion>> additionalConditions = new HashMap<String, List<Criterion>>();
@@ -183,6 +186,18 @@
}
/**
+ * The default behaviour of this class ignores properties set on a filter entity with a non-null identifier.
+ * Invoking this method reverses the default behaviour by enabling property filtering regardless of identifier
+ * presence.
+ * @return this, for method concatenation
+ */
+ public ExampleTree enableJointPropertyAndIdentifierFiltering()
+ {
+ jointPropertyAndIdentifierFiltering = true;
+ return this;
+ }
+
+ /**
* add an additional criterion for properties of the subentity at the given path
* @param associationPath the association path with respect to the filter entity
* @param criterion the criterion to add
@@ -261,9 +276,12 @@
entity,
classMetadata,
sessionFactory.getCurrentSession()); // BSHD-11
- if (isIdSet)
+ if (isIdSet && (HibernateProxy.class.isInstance(entity) || !jointPropertyAndIdentifierFiltering))
{
- // BSHD-20 if the identifier is set on a property, do not impose further conditions
+ // BSHD-20 only impose the identifier conditions in the following cases:
+ // 1) if the current entity is an hibernate proxy (because we assume the identifier restriction is
+ // enough and the entity is already aligned
+ // 2) if the corresponding flag has not been explicitly activated
return;
}
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 2013-03-14 14:25:36 UTC (rev 4203)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2013-03-15 13:55:23 UTC (rev 4204)
@@ -39,6 +39,7 @@
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Example;
import org.hibernate.metadata.ClassMetadata;
+import org.hibernate.proxy.HibernateProxy;
import org.hibernate.type.Type;
@@ -113,16 +114,7 @@
private void createSubExamples(Criteria crit, Object entity, String[] walkedProperties)
{
ClassMetadata classMetadata = ExampleTreeUtils.getClassMetadata(entity, sessionFactory);
- boolean isIdSet = ExampleTreeUtils.addIdentifierRestriction(
- crit,
- entity,
- classMetadata,
- sessionFactory.getCurrentSession()); // BSHD-11
- if (isIdSet)
- {
- // BSHD-20 if the identifier is set on a property, do not impose further conditions
- return;
- }
+ ExampleTreeUtils.addIdentifierRestriction(crit, entity, classMetadata, sessionFactory.getCurrentSession()); // BSHD-11
String path = ExampleTreeUtils.getPath(walkedProperties);
Map<String, FilterMetadata> currFilterMetadata = getFilterMetadata(path);
@@ -196,6 +188,14 @@
private Example example(Object entity, Set<String> propertiesToExclude)
{
+ if (HibernateProxy.class.isInstance(entity))
+ {
+ // BSHD-19 javassist hibernate proxies do not seem to work with examples (property values are not
+ // returned)
+ HibernateProxy proxy = (HibernateProxy) entity;
+ entity = proxy.getHibernateLazyInitializer().getImplementation();
+ }
+
Example ex = Example.create(entity);
ex.setPropertySelector(new ExcludeBackrefPropertySelector(ExampleTreePropertySelectorSupport.NOT_NULL)); // BSHD-15
for (String propertyName : propertiesToExclude)
Copied: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java (from rev 4203, trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java)
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java (rev 0)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java 2013-03-15 13:55:23 UTC (rev 4204)
@@ -0,0 +1,142 @@
+/**
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package it.openutils.hibernate.test;
+
+import it.openutils.hibernate.example.ExampleTree;
+import it.openutils.hibernate.test.dao.FooDAO;
+import it.openutils.hibernate.test.model.Bar;
+import it.openutils.hibernate.test.model.Foo;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+
+/**
+ * @author gcatania
+ */
+@ContextConfiguration(locations = "/spring-tests.xml")
+public class HibernateDAOFindIdentifierTest extends AbstractTransactionalTestNGSpringContextTests
+{
+
+ @Autowired
+ private FooDAO fooDAO;
+
+ @BeforeClass
+ protected final void preloadData()
+ {
+ executeSqlScript("/preload-data.sql", false);
+ }
+
+ @AfterClass
+ protected final void cleanupData()
+ {
+ super.deleteFromTables("foo", "bar");
+ }
+
+ private List<Foo> searchFoos(Long barId, String barStr, Long fooId, String fooStr)
+ {
+ Bar barFilter = new Bar();
+ barFilter.setId(barId);
+ barFilter.setS(barStr);
+ Foo fooFilter = new Foo();
+ fooFilter.setId(fooId);
+ fooFilter.setBar(barFilter);
+ fooFilter.setS(fooStr);
+ return fooDAO.findFiltered(fooFilter);
+ }
+
+ private Foo findFoo(Long barId, String barStr, Long fooId, String fooStr)
+ {
+ List<Foo> found = searchFoos(barId, barStr, fooId, fooStr);
+ Assert.assertEquals(found.size(), 1);
+ return found.get(0);
+ }
+
+ private void dontFindFoo(Long barId, String barStr, Long fooId, String fooStr)
+ {
+ List<Foo> found = searchFoos(barId, barStr, fooId, fooStr);
+ Assert.assertEquals(found.size(), 0);
+ }
+
+ @Test
+ public void testFindWithParentId()
+ {
+ Foo foundFoo = findFoo(1L, null, null, "fooX_X");
+ Assert.assertEquals(foundFoo.getId().longValue(), 3L);
+ }
+
+ @Test
+ public void testFindWithParentProperty()
+ {
+ Foo foundFoo = findFoo(null, "bar1", null, "fooX_X");
+ Assert.assertEquals(foundFoo.getId().longValue(), 3L);
+ }
+
+ @Test
+ public void testDontFindWithParentId()
+ {
+ dontFindFoo(1L, null, null, "foo2_1");
+ }
+
+ @Test
+ public void testDontFindWithParentProperty()
+ {
+ dontFindFoo(null, "bar1", null, "foo2_1");
+ }
+
+ @Test
+ public void testFindWithBothParentIdAndPropertyKeepingInMindTheMagicFlagIsDisabled()
+ {
+ List<Foo> foundFoos = searchFoos(2L, "bar1", null, null);
+ Assert.assertEquals(foundFoos.size(), 3);
+ for (Foo foo : foundFoos)
+ {
+ Assert.assertEquals(foo.getBar().getId().longValue(), 2L);
+ }
+ }
+
+ @Test
+ public void testDontFindWithBothParentIdAndPropertyKeepingInMindTheMagicFlagIsEnabled()
+ {
+ Bar barFilter = new Bar();
+ barFilter.setId(2L);
+ barFilter.setS("bar1");
+ Foo fooFilter = new Foo();
+ fooFilter.setBar(barFilter);
+ ExampleTree et = new ExampleTree(fooFilter);
+ et.enableJointPropertyAndIdentifierFiltering();
+ List<Foo> foundFoos = fooDAO.findFiltered(et);
+ Assert.assertEquals(foundFoos.size(), 0);
+ }
+
+}
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java 2013-03-14 14:25:36 UTC (rev 4203)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java 2013-03-15 13:55:23 UTC (rev 4204)
@@ -36,6 +36,7 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -59,6 +60,12 @@
executeSqlScript("/preload-data.sql", false);
}
+ @AfterClass
+ protected final void cleanupData()
+ {
+ super.deleteFromTables("foo", "bar");
+ }
+
private List<Foo> findFoo(String s, Bar bar)
{
Foo filter = new Foo();
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: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.
|
|
From: <gca...@us...> - 2014-07-04 14:51:07
|
Revision: 4578
http://openutils.svn.sourceforge.net/openutils/?rev=4578&view=rev
Author: gcatania
Date: 2014-07-04 14:50:58 +0000 (Fri, 04 Jul 2014)
Log Message:
-----------
Merged revisions 4577 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4577 | gcatania | 2014-07-04 16:43:33 +0200 (ven, 04 lug 2014) | 1 line
BSHD-24 dependency updates
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4577&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml
Property Changed:
----------------
branches/openutils-bshd5-backport/
Index: branches/openutils-bshd5-backport
===================================================================
--- branches/openutils-bshd5-backport 2014-07-04 14:43:33 UTC (rev 4577)
+++ branches/openutils-bshd5-backport 2014-07-04 14:50:58 UTC (rev 4578)
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,4572-4573
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4572-4573,4577
\ No newline at end of property
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2014-07-04 14:43:33 UTC (rev 4577)
+++ branches/openutils-bshd5-backport/pom.xml 2014-07-04 14:50:58 UTC (rev 4578)
@@ -56,7 +56,7 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
- <version>2.3.7</version>
+ <version>2.5.0</version>
<extensions>true</extensions>
</plugin>
</plugins>
@@ -125,14 +125,14 @@
</exclusions>
</dependency>
<dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2.1</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ <version>4.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.1</version>
+ <version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
@@ -141,10 +141,16 @@
</dependency>
<!-- test dependencies -->
<dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <version>1.2.1</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-dbcp2</artifactId>
+ <version>2.0.1</version>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
@@ -161,7 +167,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>6.5.2</version>
+ <version>6.8.8</version>
<scope>test</scope>
</dependency>
<dependency>
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-07-04 14:43:33 UTC (rev 4577)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-07-04 14:50:58 UTC (rev 4578)
@@ -36,8 +36,8 @@
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.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.Hibernate;
Modified: branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml
===================================================================
--- branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml 2014-07-04 14:43:33 UTC (rev 4577)
+++ branches/openutils-bshd5-backport/src/test/resources/spring-tests.xml 2014-07-04 14:50:58 UTC (rev 4578)
@@ -10,7 +10,7 @@
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config />
<context:component-scan base-package="it.openutils.hibernate.test" />
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
+ <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${hibernate.driver}" />
<property name="url" value="${hibernate.url}" />
<property name="username" value="${hibernate.user}" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2014-07-04 14:52:47
|
Revision: 4579
http://openutils.svn.sourceforge.net/openutils/?rev=4579&view=rev
Author: gcatania
Date: 2014-07-04 14:52:38 +0000 (Fri, 04 Jul 2014)
Log Message:
-----------
Merged revisions 4575 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4575 | gcatania | 2014-05-22 11:50:40 +0200 (gio, 22 mag 2014) | 1 line
BSHD-22 update spring jira link
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4575&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-07-04 14:50:58 UTC (rev 4578)
+++ branches/openutils-bshd5-backport 2014-07-04 14:52:38 UTC (rev 4579)
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,4572-4573,4577
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4572-4573,4575,4577
\ 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-07-04 14:50:58 UTC (rev 4578)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-07-04 14:52:38 UTC (rev 4579)
@@ -762,7 +762,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...> - 2014-07-04 14:57:25
|
Revision: 4580
http://openutils.svn.sourceforge.net/openutils/?rev=4580&view=rev
Author: gcatania
Date: 2014-07-04 14:57:13 +0000 (Fri, 04 Jul 2014)
Log Message:
-----------
Merged revisions 4383 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4383 | fgiust | 2013-10-19 14:10:45 +0200 (sab, 19 ott 2013) | 1 line
upgrade parent pom (maven 3.1 and java 6 required)
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4383&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadata.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResult.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultImpl.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultUtils.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOHierarchyTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarMakerDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/PersonDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/StickerDAO.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Bar.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Car.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarMaker.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CarModel.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/CurrencyAmount.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Designer.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Employee.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Foo.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/FullName.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Owner.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Person.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Sticker.java
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Title.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
Index: branches/openutils-bshd5-backport
===================================================================
--- branches/openutils-bshd5-backport 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport 2014-07-04 14:57:13 UTC (rev 4580)
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,4572-4573,4575,4577
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4383,4572-4573,4575,4577
\ No newline at end of property
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/pom.xml 2014-07-04 14:57:13 UTC (rev 4580)
@@ -4,7 +4,7 @@
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-parent</artifactId>
<relativePath>../openutils-parent</relativePath>
- <version>1.12</version>
+ <version>1.14</version>
</parent>
<artifactId>openutils-bshd5</artifactId>
<packaging>bundle</packaging>
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.dao.hibernate;
import it.openutils.hibernate.example.ExampleTree;
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-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -1,8 +1,8 @@
- /**
+/**
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.dao.hibernate;
import it.openutils.hibernate.example.ExampleTree;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.example;
import it.openutils.hibernate.selectors.ExcludeBackrefPropertySelector;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.example;
import java.lang.reflect.Array;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadata.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadata.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadata.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.example;
import org.hibernate.Criteria;
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 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.example;
import it.openutils.hibernate.selectors.ExcludeBackrefPropertySelector;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResult.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResult.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResult.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.paging;
import java.io.Serializable;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultImpl.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultImpl.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultImpl.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.paging;
import java.util.Collection;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultUtils.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultUtils.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/paging/PaginatedResultUtils.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.paging;
import java.util.Collection;
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/selectors/ExcludeBackrefPropertySelector.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.selectors;
import java.io.Serializable;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/EntityBuilder.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test;
import it.openutils.hibernate.test.model.Address;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFilterMetadataTest.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test;
import static it.openutils.hibernate.test.EntityBuilder.bobsPrius;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOFindIdentifierTest.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test;
import it.openutils.hibernate.example.ExampleTree;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOHierarchyTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOHierarchyTest.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOHierarchyTest.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test;
import it.openutils.dao.hibernate.HibernateDAOImpl;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOLazyLoadTest.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test;
import it.openutils.hibernate.test.dao.BarDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/HibernateDAOPersistenceTest.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test;
import static it.openutils.hibernate.test.EntityBuilder.alice;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/BarDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.dao;
import it.openutils.dao.hibernate.HibernateDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.dao;
import it.openutils.dao.hibernate.HibernateDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarMakerDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarMakerDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/CarMakerDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.dao;
import it.openutils.dao.hibernate.HibernateDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/FooDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.dao;
import it.openutils.dao.hibernate.HibernateDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/PersonDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/PersonDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/PersonDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.dao;
import it.openutils.dao.hibernate.HibernateDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/StickerDAO.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/StickerDAO.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/dao/StickerDAO.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.dao;
import it.openutils.dao.hibernate.HibernateDAO;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2014-07-04 14:52:38 UTC (rev 4579)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Address.java 2014-07-04 14:57:13 UTC (rev 4580)
@@ -2,7 +2,7 @@
*
* openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
*
- * Copyright(C) 2005-2012, Openmind S.r.l. http://www.openmindonline.it
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
*
*
* This library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
package it.openutils.hibernate.test.model;
import javax.persistence.Column;
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/test/model/Bar.java
===================================================================
--- bra...
[truncated message content] |
|
From: <gca...@us...> - 2014-08-01 17:03:11
|
Revision: 4586
http://openutils.svn.sourceforge.net/openutils/?rev=4586&view=rev
Author: gcatania
Date: 2014-08-01 17:03:08 +0000 (Fri, 01 Aug 2014)
Log Message:
-----------
Merged revisions 4585 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4585 | gcatania | 2014-08-01 19:01:13 +0200 (ven, 01 ago 2014) | 1 line
BSHD-25 improve error reporting in getValueFromCollection()
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4585&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
Index: branches/openutils-bshd5-backport
===================================================================
--- branches/openutils-bshd5-backport 2014-08-01 17:01:13 UTC (rev 4585)
+++ branches/openutils-bshd5-backport 2014-08-01 17:03:08 UTC (rev 4586)
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,4383,4572-4573,4575,4577
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4383,4572-4573,4575,4577,4585
\ No newline at end of property
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2014-08-01 17:01:13 UTC (rev 4585)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTree.java 2014-08-01 17:03:08 UTC (rev 4586)
@@ -310,7 +310,7 @@
Object propertyValue = classMetadata.getPropertyValue(entity, propertyName, entityMode);
if (propertyType.isCollectionType())
{
- propertyValue = ExampleTreeUtils.getValueFromCollection(propertyValue);
+ propertyValue = ExampleTreeUtils.getValueFromCollection(propertyName, propertyValue);
}
if (propertyValue == null)
{
@@ -369,7 +369,7 @@
* workaround to {@link Example} not exposing internal property selectors
* @author gcatania
*/
-@SuppressWarnings({"serial", "static-method"})
+@SuppressWarnings({"serial", "static-method" })
class ExampleTreePropertySelectorSupport
{
@@ -382,6 +382,7 @@
static final class AllPropertySelector implements PropertySelector
{
+ @Override
public boolean include(Object object, String propertyName, Type type)
{
return true;
@@ -396,6 +397,7 @@
static final class NotNullPropertySelector implements PropertySelector
{
+ @Override
public boolean include(Object object, String propertyName, Type type)
{
return object != null;
@@ -410,6 +412,7 @@
static final class NotNullOrZeroPropertySelector implements PropertySelector
{
+ @Override
public boolean include(Object object, String propertyName, Type type)
{
return object != null && (!(object instanceof Number) || ((Number) object).longValue() != 0);
Modified: branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java
===================================================================
--- branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2014-08-01 17:01:13 UTC (rev 4585)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/ExampleTreeUtils.java 2014-08-01 17:03:08 UTC (rev 4586)
@@ -25,6 +25,7 @@
package it.openutils.hibernate.example;
import java.lang.reflect.Array;
+import java.text.MessageFormat;
import java.util.Arrays;
import java.util.Collection;
@@ -88,13 +89,15 @@
}
/**
- * retrieves a value from a collection
+ * retrieves a value from a collection property
+ * @param propertyName the property name (will be reported in the exception)
* @param collectionValue the collection
* @return a value
* @see http://opensource2.atlassian.com/projects/hibernate/browse/HHH-879
* @throws IllegalArgumentException if the input collection contains more than one value
*/
- public static Object getValueFromCollection(Object collectionValue) throws IllegalArgumentException
+ public static Object getValueFromCollection(String propertyName, Object collectionValue)
+ throws IllegalArgumentException
{
if (collectionValue != null)
{
@@ -108,8 +111,10 @@
}
if (size > 1)
{
- throw new IllegalArgumentException("More than one element in filter collection is unsupported.\n"
- + coll);
+ throw new IllegalArgumentException(MessageFormat.format(
+ "More than one element in filter collection is unsupported.\nproperty: {0}, value: {1}",
+ propertyName,
+ coll));
}
}
Class< ? extends Object> clazz = collectionValue.getClass();
@@ -122,7 +127,13 @@
}
if (length > 1)
{
- throw new IllegalArgumentException("More than one element in filter array is unsupported.");
+ throw new IllegalArgumentException(
+ MessageFormat
+ .format(
+ "More than one element in filter array is unsupported.\nproperty: {0}, value: {1} - length: {2}",
+ propertyName,
+ collectionValue,
+ length));
}
}
// TODO other cases?
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 2014-08-01 17:01:13 UTC (rev 4585)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/hibernate/example/FilterMetadataSupport.java 2014-08-01 17:03:08 UTC (rev 4586)
@@ -145,7 +145,7 @@
if (propertyType.isCollectionType())
{
- propertyValue = ExampleTreeUtils.getValueFromCollection(propertyValue);
+ propertyValue = ExampleTreeUtils.getValueFromCollection(propertyName, propertyValue);
}
if (propertyValue == null)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2014-08-01 17:21:44
|
Revision: 4589
http://openutils.svn.sourceforge.net/openutils/?rev=4589&view=rev
Author: gcatania
Date: 2014-08-01 17:21:35 +0000 (Fri, 01 Aug 2014)
Log Message:
-----------
Merged revisions 4587 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4587 | gcatania | 2014-08-01 19:09:42 +0200 (ven, 01 ago 2014) | 1 line
BSHD-26 improve test coverage
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4587&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/pom.xml
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java
Added Paths:
-----------
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/
Property Changed:
----------------
branches/openutils-bshd5-backport/
Index: branches/openutils-bshd5-backport
===================================================================
--- branches/openutils-bshd5-backport 2014-08-01 17:14:45 UTC (rev 4588)
+++ branches/openutils-bshd5-backport 2014-08-01 17:21:35 UTC (rev 4589)
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,4383,4572-4573,4575,4577,4585
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4383,4572-4573,4575,4577,4585,4587
\ No newline at end of property
Modified: branches/openutils-bshd5-backport/pom.xml
===================================================================
--- branches/openutils-bshd5-backport/pom.xml 2014-08-01 17:14:45 UTC (rev 4588)
+++ branches/openutils-bshd5-backport/pom.xml 2014-08-01 17:21:35 UTC (rev 4589)
@@ -190,6 +190,12 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<properties>
<slf4j.version>1.6.5</slf4j.version>
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java
===================================================================
--- trunk/openutils-bshd5/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java 2014-08-01 17:09:42 UTC (rev 4587)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java 2014-08-01 17:21:35 UTC (rev 4589)
@@ -20,10 +20,11 @@
import org.apache.commons.lang3.StringUtils;
import org.hamcrest.Matcher;
import org.hibernate.Criteria;
+import org.hibernate.EntityMode;
+import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
-import org.hibernate.event.spi.EventSource;
import org.hibernate.metadata.ClassMetadata;
import org.mockito.ArgumentMatcher;
import org.testng.Assert;
@@ -135,16 +136,20 @@
Assert.assertEquals(getPath(new String[]{"a", "b", "c" }), "a.b.c");
}
+ /**
+ * TODO also test HibernateProxy case
+ */
@Test
public void testAddIdentifierRestrictionWhenAdded()
{
Criteria crit = mock(Criteria.class);
Object entity = new Object();
// mock EventSource because it needs to implement both Session and SessionImplementor
- EventSource sess = mock(EventSource.class);
+ Session sess = mock(Session.class);
ClassMetadata clm = mock(ClassMetadata.class);
+ when(sess.getEntityMode()).thenReturn(EntityMode.POJO);
when(clm.getIdentifierPropertyName()).thenReturn("id");
- when(clm.getIdentifier(entity, sess)).thenReturn(1);
+ when(clm.getIdentifier(entity, EntityMode.POJO)).thenReturn(1);
boolean added = addIdentifierRestriction(crit, entity, clm, sess);
Assert.assertTrue(added, "identifier restriction not added");
@@ -168,8 +173,7 @@
{
Criteria crit = mock(Criteria.class);
Object entity = new Object();
- // mock EventSource because it needs to implement both Session and SessionImplementor
- EventSource sess = mock(EventSource.class);
+ Session sess = mock(Session.class);
ClassMetadata clm = mock(ClassMetadata.class);
when(clm.getIdentifierPropertyName()).thenReturn(null);
@@ -182,11 +186,11 @@
{
Criteria crit = mock(Criteria.class);
Object entity = new Object();
- // mock EventSource because it needs to implement both Session and SessionImplementor
- EventSource sess = mock(EventSource.class);
+ Session sess = mock(Session.class);
ClassMetadata clm = mock(ClassMetadata.class);
+ when(sess.getEntityMode()).thenReturn(EntityMode.POJO);
when(clm.getIdentifierPropertyName()).thenReturn("id");
- when(clm.getIdentifier(entity, sess)).thenReturn(null);
+ when(clm.getIdentifier(entity, EntityMode.POJO)).thenReturn(null);
boolean added = addIdentifierRestriction(crit, entity, clm, sess);
Assert.assertFalse(added, "identifier restriction added");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gca...@us...> - 2014-08-01 17:23:13
|
Revision: 4590
http://openutils.svn.sourceforge.net/openutils/?rev=4590&view=rev
Author: gcatania
Date: 2014-08-01 17:23:04 +0000 (Fri, 01 Aug 2014)
Log Message:
-----------
Merged revisions 4588 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4588 | gcatania | 2014-08-01 19:14:45 +0200 (ven, 01 ago 2014) | 1 line
BSHD-26 fix license header
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4588&view=rev
Modified Paths:
--------------
branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java
Property Changed:
----------------
branches/openutils-bshd5-backport/
Index: branches/openutils-bshd5-backport
===================================================================
--- branches/openutils-bshd5-backport 2014-08-01 17:21:35 UTC (rev 4589)
+++ branches/openutils-bshd5-backport 2014-08-01 17:23:04 UTC (rev 4590)
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,4383,4572-4573,4575,4577,4585,4587
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4203,4383,4572-4573,4575,4577,4585,4587-4588
\ No newline at end of property
Modified: branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java
===================================================================
--- branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java 2014-08-01 17:21:35 UTC (rev 4589)
+++ branches/openutils-bshd5-backport/src/test/java/it/openutils/hibernate/example/ExampleTreeUtilsTest.java 2014-08-01 17:23:04 UTC (rev 4590)
@@ -1,5 +1,26 @@
/**
- * Copyright (c) Energeya LLC. All rights reserved. http://www.energeya.com
+ *
+ * openutils base Spring-Hibernate DAO (http://www.openmindlab.com/lab/products/bshd5.html)
+ *
+ * Copyright(C) 2005-2013, Openmind S.r.l. http://www.openmindonline.it
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * You may obtain a copy of the License at
+ *
+ * http://www.gnu.org/licenses/lgpl-2.1.html
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package it.openutils.hibernate.example;
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:48:05
|
Revision: 4625
http://openutils.svn.sourceforge.net/openutils/?rev=4625&view=rev
Author: gcatania
Date: 2015-04-17 08:48:02 +0000 (Fri, 17 Apr 2015)
Log Message:
-----------
Merged revisions 4624 via svnmerge from
svn+ssh://gcatania@svn.code.sf.net/p/openutils/code/trunk/openutils-bshd5
........
r4624 | gcatania | 2015-04-17 10:43:39 +0200 (ven, 17 apr 2015) | 1 line
BSHD-27 regression after refactoring - distinct root entity transformer got lost
........
Revision Links:
--------------
http://openutils.svn.sourceforge.net/openutils/?rev=4624&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 2015-04-17 08:43:39 UTC (rev 4624)
+++ branches/openutils-bshd5-backport 2015-04-17 08:48:02 UTC (rev 4625)
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,4383,4572-4573,4575,4577,4585,4587-4588
+/trunk/openutils-bshd5:1-4040,4042-4056,4058-4092,4095-4096,4098-4195,4197-4239,4241-4409,4411-4452,4455,4457-4570,4572-4624
\ 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 2015-04-17 08:43:39 UTC (rev 4624)
+++ branches/openutils-bshd5-backport/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2015-04-17 08:48:02 UTC (rev 4625)
@@ -814,7 +814,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)
@@ -847,19 +848,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)
{
@@ -941,7 +937,7 @@
@Override
protected Criteria createCriteria(Session session)
{
- return exampleTree.create(session);
+ return exampleTree.create(session).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
}
}
@@ -966,12 +962,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.
|