From d1a78c9355578d1b72e11b1d7c56c3cf136e66bf Mon Sep 17 00:00:00 2001 From: Ulrik Sandberg Date: Tue, 29 Apr 2008 16:15:44 +0000 Subject: [PATCH] Fixed LDAP-107: Setting returningObj for ContextMapper handlers in search http://jira.springframework.org/browse/LDAP-107 --- .../springframework/ldap/core/LdapTemplate.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/spring-ldap/src/main/java/org/springframework/ldap/core/LdapTemplate.java b/spring-ldap/src/main/java/org/springframework/ldap/core/LdapTemplate.java index 2ed4a796..6769c249 100644 --- a/spring-ldap/src/main/java/org/springframework/ldap/core/LdapTemplate.java +++ b/spring-ldap/src/main/java/org/springframework/ldap/core/LdapTemplate.java @@ -346,8 +346,12 @@ public class LdapTemplate implements LdapOperations, InitializingBean { public void search(Name base, String filter, NameClassPairCallbackHandler handler) { - search(base, filter, getDefaultSearchControls(DEFAULT_SEARCH_SCOPE, - DONT_RETURN_OBJ_FLAG, ALL_ATTRIBUTES), handler); + SearchControls controls = getDefaultSearchControls(DEFAULT_SEARCH_SCOPE, + DONT_RETURN_OBJ_FLAG, ALL_ATTRIBUTES); + if (handler instanceof ContextMapperCallbackHandler) { + assureReturnObjFlagSet(controls); + } + search(base, filter, controls, handler); } /* @@ -358,8 +362,12 @@ public class LdapTemplate implements LdapOperations, InitializingBean { public void search(String base, String filter, NameClassPairCallbackHandler handler) { - search(base, filter, getDefaultSearchControls(DEFAULT_SEARCH_SCOPE, - DONT_RETURN_OBJ_FLAG, ALL_ATTRIBUTES), handler); + SearchControls controls = getDefaultSearchControls(DEFAULT_SEARCH_SCOPE, + DONT_RETURN_OBJ_FLAG, ALL_ATTRIBUTES); + if (handler instanceof ContextMapperCallbackHandler) { + assureReturnObjFlagSet(controls); + } + search(base, filter, controls, handler); } /*