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. |