From: <fg...@us...> - 2006-10-18 12:27:10
|
Revision: 91 http://svn.sourceforge.net/openutils/?rev=91&view=rev Author: fgiust Date: 2006-10-18 05:27:00 -0700 (Wed, 18 Oct 2006) Log Message: ----------- fix handling of nested properties Modified Paths: -------------- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java Modified: trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java =================================================================== --- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2006-10-15 15:03:14 UTC (rev 90) +++ trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2006-10-18 12:27:00 UTC (rev 91) @@ -83,7 +83,9 @@ fmd = FilterMetadata.EQUAL; } - String simplePropertyName = StringUtils.substringAfterLast(propertyName, "."); + String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils.substringAfterLast( + propertyName, + ".") : propertyName; fmd.createFilter(crit, simplePropertyName, value); @@ -115,7 +117,6 @@ { if (containsSomething(value)) { - log.debug("crit.createCriteria({})", propertyName); // @todo handle multiple associations in lists? // see http://opensource2.atlassian.com/projects/hibernate/browse/HHH-879 @@ -125,13 +126,19 @@ for (Object element : ((Collection) value)) { - Criteria childrenCriteria = crit.createCriteria(propertyName); + String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils + .substringAfterLast(propertyName, ".") : propertyName; + log.debug("crit.createCriteria({})", simplePropertyName); + Criteria childrenCriteria = crit.createCriteria(simplePropertyName); fillCriteria(propertyName, childrenCriteria, element); } } else { - Criteria childrenCriteria = crit.createCriteria(propertyName); + String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils + .substringAfterLast(propertyName, ".") : propertyName; + log.debug("crit.createCriteria({})", simplePropertyName); + Criteria childrenCriteria = crit.createCriteria(simplePropertyName); fillCriteria(propertyName, childrenCriteria, value); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2006-12-05 15:33:51
|
Revision: 134 http://svn.sourceforge.net/openutils/?rev=134&view=rev Author: fgiust Date: 2006-12-05 07:33:48 -0800 (Tue, 05 Dec 2006) Log Message: ----------- fix calendar paramters Modified Paths: -------------- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java Modified: trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java =================================================================== --- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2006-11-20 19:54:23 UTC (rev 133) +++ trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2006-12-05 15:33:48 UTC (rev 134) @@ -313,7 +313,7 @@ || objClass.equals(BigDecimal.class) || objClass.equals(Timestamp.class) || objClass.equals(Character.class) - || objClass.equals(Calendar.class); + || Calendar.class.isAssignableFrom(objClass); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2007-01-30 17:11:52
|
Revision: 159 http://svn.sourceforge.net/openutils/?rev=159&view=rev Author: fgiust Date: 2007-01-30 09:09:39 -0800 (Tue, 30 Jan 2007) Log Message: ----------- handle Maps using filter metadata Modified Paths: -------------- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java Modified: trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java =================================================================== --- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2007-01-30 15:35:37 UTC (rev 158) +++ trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2007-01-30 17:09:39 UTC (rev 159) @@ -67,6 +67,11 @@ private void addCondition(Criteria crit, String propertyName, Object value, Object parentObject) throws HibernateException { + + String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils.substringAfterLast( + propertyName, + ".") : propertyName; + if (isSimpleType(value)) { @@ -83,10 +88,6 @@ fmd = FilterMetadata.EQUAL; } - String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils.substringAfterLast( - propertyName, - ".") : propertyName; - fmd.createFilter(crit, simplePropertyName, value); } @@ -97,7 +98,7 @@ Date to = ((MutableDateRange) value).getTo(); if (from != null && to != null) { - log.debug("crit.add(Restrictions.between({},{}, {})", new Object[]{propertyName, from, to}); + log.debug("crit.add(Restrictions.between({},{}, {})", new Object[]{propertyName, from, to }); crit.add(Restrictions.between(propertyName, from, to)); } else if (from != null) @@ -117,26 +118,38 @@ { 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 nee to analize content - for (Object element : ((Collection) value)) + for (Object element : ((Collection< ? extends Object>) value)) { - String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils - .substringAfterLast(propertyName, ".") : propertyName; + 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 { - String simplePropertyName = StringUtils.contains(propertyName, ".") ? StringUtils - .substringAfterLast(propertyName, ".") : propertyName; log.debug("crit.createCriteria({})", simplePropertyName); Criteria childrenCriteria = crit.createCriteria(simplePropertyName); fillCriteria(propertyName, childrenCriteria, value); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fg...@us...> - 2007-02-18 14:24:06
|
Revision: 271 http://svn.sourceforge.net/openutils/?rev=271&view=rev Author: fgiust Date: 2007-02-18 06:24:05 -0800 (Sun, 18 Feb 2007) Log Message: ----------- handle enums Modified Paths: -------------- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java Modified: trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java =================================================================== --- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2007-02-17 15:08:52 UTC (rev 270) +++ trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2007-02-18 14:24:05 UTC (rev 271) @@ -72,7 +72,7 @@ propertyName, ".") : propertyName; - if (isSimpleType(value)) + if (isSimpleType(value) || value.getClass().isEnum()) { // don't filter on empty strings! This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mol...@us...> - 2008-02-01 10:34:48
|
Revision: 590 http://openutils.svn.sourceforge.net/openutils/?rev=590&view=rev Author: molaschi Date: 2008-02-01 02:34:37 -0800 (Fri, 01 Feb 2008) Log Message: ----------- bug fix for Enum in EnhancedExample Modified Paths: -------------- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java Modified: trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java =================================================================== --- trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2008-01-31 22:35:00 UTC (rev 589) +++ trunk/openutils-bshd5/src/main/java/it/openutils/hibernate/example/EnhancedExample.java 2008-02-01 10:34:37 UTC (rev 590) @@ -17,6 +17,7 @@ import org.apache.commons.lang.StringUtils; import org.hibernate.Criteria; import org.hibernate.HibernateException; +import org.hibernate.mapping.Value; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DataRetrievalFailureException; @@ -146,7 +147,7 @@ { return false; } - if (isSimpleType(bean)) + if (isSimpleType(bean) || bean.getClass().isEnum()) { return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |