From 81b66dafd30d3893f5199a7ca5efaae9eff3e180 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 05 Nov 2007 22:14:14 +0000
Subject: [PATCH] Complete fix for issue 2263.

---
 opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java |   34 ++++++++++++++++++++++------------
 1 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java b/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
index e9f5a1f..d12972b 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
@@ -1894,7 +1894,7 @@
     Set<SuffixDescriptor> suffixes =
       getUserData().getSuffixesToReplicateOptions().getSuffixes();
 
-    /* Initialize local ADS contents using any replica. */
+    /* Initialize local ADS and schema contents using any replica. */
     {
       ServerDescriptor server
        = suffixes.iterator().next().getReplicas().iterator().next().getServer();
@@ -1905,11 +1905,14 @@
         ServerDescriptor s = ServerDescriptor.createStandalone(rCtx);
         for (ReplicaDescriptor replica : s.getReplicas())
         {
-          if (areDnsEqual(replica.getSuffix().getDN(),
-                  ADSContext.getAdministrationSuffixDN()))
+          String dn = replica.getSuffix().getDN();
+          if (areDnsEqual(dn, ADSContext.getAdministrationSuffixDN()))
           {
             suffixes.add(replica.getSuffix());
-            break;
+          }
+          else if (areDnsEqual(dn, Constants.SCHEMA_DN))
+          {
+            suffixes.add(replica.getSuffix());
           }
         }
       }
@@ -1945,17 +1948,23 @@
       String hostPort = server.getHostPort(true);
 
       boolean isADS = areDnsEqual(dn, ADSContext.getAdministrationSuffixDN());
-      if(!isADS)
+      boolean isSchema = areDnsEqual(dn, Constants.SCHEMA_DN);
+      if(isADS)
+      {
+        notifyListeners(getFormattedWithPoints(
+            INFO_PROGRESS_INITIALIZING_ADS.get()));
+      }
+      else if (isSchema)
+      {
+        notifyListeners(getFormattedWithPoints(
+            INFO_PROGRESS_INITIALIZING_SCHEMA.get()));
+      }
+      else
       {
         notifyListeners(getFormattedProgress(
             INFO_PROGRESS_INITIALIZING_SUFFIX.get(dn, hostPort)));
         notifyListeners(getLineBreak());
       }
-      else
-      {
-        notifyListeners(getFormattedWithPoints(
-            INFO_PROGRESS_INITIALIZING_ADS.get()));
-      }
       try
       {
         int replicationId = replica.getReplicationId();
@@ -2025,7 +2034,8 @@
             LOG.log(Level.INFO, "Try number: "+(6 - nTries));
             LOG.log(Level.INFO, "replicationId of source replica: "+
                 replicationId);
-            initializeSuffix(ctx, replicationId, dn, !isADS, hostPort);
+            initializeSuffix(ctx, replicationId, dn, !isADS && !isSchema,
+                hostPort);
             initDone = true;
           }
           catch (PeerNotFoundException pnfe)
@@ -2062,7 +2072,7 @@
         }
         throw ae;
       }
-      if (isADS)
+      if (isADS || isSchema)
       {
         notifyListeners(getFormattedDone());
       }

--
Gitblit v1.10.0