From 642ee854211fe638a4c47b44eae0d1405f20caf7 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 09 Oct 2015 11:49:40 +0000
Subject: [PATCH] OPENDJ-1719: implement upgrade tasks for migrating JE backends

---
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeUtils.java |   41 ++++++++++++++++-------------------------
 1 files changed, 16 insertions(+), 25 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeUtils.java
index d15a57c..4fd6eba 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeUtils.java
@@ -371,44 +371,35 @@
    *
    * @return A backend list.
    */
-  static List<String> getLocalBackendsFromConfig()
+  static List<String> getIndexedBackendsFromConfig()
   {
-    final Schema schema = getUpgradeSchema();
-
+    final SearchRequest sr = Requests.newSearchRequest("", SearchScope.WHOLE_SUBTREE,
+            "(&(objectclass=ds-cfg-pluggable-backend)(ds-cfg-enabled=true))",
+            "ds-cfg-base-dn");
     final List<String> listBackends = new LinkedList<>();
-    LDIFEntryReader entryReader = null;
-    try
+    try (final EntryReader entryReader = searchConfigFile(sr))
     {
-      entryReader =
-          new LDIFEntryReader(new FileInputStream(new File(configDirectory,
-              CURRENT_CONFIG_FILE_NAME))).setSchema(schema);
-
-      final SearchRequest sr =
-          Requests.newSearchRequest("", SearchScope.WHOLE_SUBTREE,
-              "(&(objectclass=ds-cfg-local-db-backend)(ds-cfg-enabled=true))",
-              "ds-cfg-base-dn");
-
-      final EntryReader resultReader = LDIF.search(entryReader, sr, schema);
-
-      while (resultReader.hasNext())
+      while (entryReader.hasNext())
       {
-        final Entry entry = resultReader.readEntry();
-        listBackends.add(entry.getAttribute("ds-cfg-base-dn")
-            .firstValueAsString());
+        final Entry entry = entryReader.readEntry();
+        listBackends.addAll(entry.parseAttribute("ds-cfg-base-dn").asSetOfString());
       }
     }
     catch (Exception ex)
     {
       logger.error(LocalizableMessage.raw(ex.getMessage()));
     }
-    finally
-    {
-      StaticUtils.close(entryReader);
-    }
-
     return listBackends;
   }
 
+  static EntryReader searchConfigFile(final SearchRequest sr) throws FileNotFoundException
+  {
+    final Schema schema = getUpgradeSchema();
+    final File configFile = new File(configDirectory, CURRENT_CONFIG_FILE_NAME);
+    final LDIFEntryReader entryReader = new LDIFEntryReader(new FileInputStream(configFile)).setSchema(schema);
+    return LDIF.search(entryReader, sr, schema);
+  }
+
   /**
    * Updates the config file during the upgrade process.
    *

--
Gitblit v1.10.0