From 3749749fcfc4a3f9821fa8df2c0b93688971628e Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 12:48:19 +0000
Subject: [PATCH] Fix for issue #4536. Close JNDI enumerations to avoid unbinding and closing underlying LDAP connection. Fixes in all CLI and control panel.

---
 opends/src/guitools/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java b/opends/src/guitools/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
index 76e71fa..7b01be9 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/datamodel/CustomSearchResult.java
@@ -135,20 +135,27 @@
     if (attrs != null)
     {
       NamingEnumeration<?> en = attrs.getAll();
-      while (en.hasMore()) {
-        Attribute attr = (Attribute)en.next();
-        String attrName = attr.getID();
-        attrNames.add(attrName);
-        List<Object> values = new ArrayList<Object>();
-        for (int i=0; i<attr.size(); i++)
-        {
-          Object v = attr.get(i);
-          if (!"".equals(v.toString()))
+      try
+      {
+        while (en.hasMore()) {
+          Attribute attr = (Attribute)en.next();
+          String attrName = attr.getID();
+          attrNames.add(attrName);
+          List<Object> values = new ArrayList<Object>();
+          for (int i=0; i<attr.size(); i++)
           {
-            values.add(v);
+            Object v = attr.get(i);
+            if (!"".equals(v.toString()))
+            {
+              values.add(v);
+            }
           }
+          attributes.put(attrName.toLowerCase(), values);
         }
-        attributes.put(attrName.toLowerCase(), values);
+      }
+      finally
+      {
+        en.close();
       }
     }
     toString = calculateToString();

--
Gitblit v1.10.0