From 48ab4e165184e418b73fba8f92c13219edfe10c4 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 15 May 2015 08:35:26 +0000
Subject: [PATCH] OPENDJ-1978 CR-6931 Setup: enable replication 3.0 to 2.6 should not propose to replicate dc=replicationChanges
---
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/Constants.java | 3 +++
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java | 4 ++++
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java | 21 ++++++++++-----------
opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/ui/SuffixesToReplicatePanel.java | 3 ++-
opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties | 2 ++
5 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/Constants.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/Constants.java
index e05d07f..162c74f 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/Constants.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/Constants.java
@@ -65,6 +65,9 @@
/** DN of the schema object. */
public static final String SCHEMA_DN = "cn=schema";
+ /** DN of legacy replication changes base DN for backwards compatibility with OpenDJ <= 2.6.x. */
+ public static final String REPLICATION_CHANGES_DN = "dc=replicationChanges";
+
/** The cli java system property. */
public static final String CLI_JAVA_PROPERTY = "org.opends.quicksetup.cli";
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/ui/SuffixesToReplicatePanel.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/ui/SuffixesToReplicatePanel.java
index a8012c7..d117b32 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/ui/SuffixesToReplicatePanel.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/ui/SuffixesToReplicatePanel.java
@@ -224,7 +224,8 @@
{
if (!Utils.areDnsEqual(suffix.getDN(),
ADSContext.getAdministrationSuffixDN()) &&
- !Utils.areDnsEqual(suffix.getDN(), Constants.SCHEMA_DN))
+ !Utils.areDnsEqual(suffix.getDN(), Constants.SCHEMA_DN) &&
+ !Utils.areDnsEqual(suffix.getDN(), Constants.REPLICATION_CHANGES_DN))
{
orderedSuffixes.add(suffix);
}
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
index 7cd1f6c..9364e31 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliArgumentParser.java
@@ -336,6 +336,10 @@
{
errors.add(ERR_REPLICATION_NOT_A_VALID_BASEDN.get(dn));
}
+ if (dn.equalsIgnoreCase(Constants.REPLICATION_CHANGES_DN))
+ {
+ errors.add(ERR_REPLICATION_NOT_A_USER_SUFFIX.get(Constants.REPLICATION_CHANGES_DN));
+ }
}
}
if (errors.size() > 0)
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
index b71406b..d83ba8c 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
@@ -1709,7 +1709,7 @@
{
for (String suffix : suffixes)
{
- if (!isSchemaOrAdminSuffix(suffix))
+ if (!isSchemaOrInternalAdminSuffix(suffix))
{
return false;
}
@@ -1717,10 +1717,11 @@
return true;
}
- private boolean isSchemaOrAdminSuffix(String suffix)
+ private boolean isSchemaOrInternalAdminSuffix(String suffix)
{
return areDnsEqual(suffix, ADSContext.getAdministrationSuffixDN())
- || areDnsEqual(suffix, Constants.SCHEMA_DN);
+ || areDnsEqual(suffix, Constants.SCHEMA_DN)
+ || areDnsEqual(suffix, Constants.REPLICATION_CHANGES_DN);
}
/**
@@ -4723,7 +4724,7 @@
{
for (String dn : availableSuffixes)
{
- if (!isSchemaOrAdminSuffix(dn))
+ if (!isSchemaOrInternalAdminSuffix(dn))
{
try
{
@@ -4871,7 +4872,7 @@
for (String dn : availableSuffixes)
{
- if (!isSchemaOrAdminSuffix(dn))
+ if (!isSchemaOrInternalAdminSuffix(dn))
{
boolean addSuffix;
try
@@ -5715,7 +5716,7 @@
for (SuffixDescriptor suffix : cache.getSuffixes())
{
- if (isSchemaOrAdminSuffix(suffix.getDN()))
+ if (isSchemaOrInternalAdminSuffix(suffix.getDN()))
{
// Do not display these suffixes.
continue;
@@ -5742,7 +5743,7 @@
Set<String> baseDNs = new LinkedHashSet<String>();
for (SuffixDescriptor suffix : beforeLastRepServer)
{
- if (!isSchemaOrAdminSuffix(suffix.getDN()))
+ if (!isSchemaOrInternalAdminSuffix(suffix.getDN()))
{
// Do not display these suffixes.
baseDNs.add(suffix.getDN());
@@ -5775,8 +5776,7 @@
boolean baseDNSpecified = false;
for (String baseDN : uData.getBaseDNs())
{
- if (!isSchemaOrAdminSuffix(baseDN)
- && areDnsEqual(baseDN, suffix.getDN()))
+ if (!isSchemaOrInternalAdminSuffix(baseDN) && areDnsEqual(baseDN, suffix.getDN()))
{
baseDNSpecified = true;
break;
@@ -6110,8 +6110,7 @@
// If no base DNs where specified display all the base DNs but the schema
// and cn=admin data.
- boolean found = containsDN(userBaseDNs, dn)
- || (displayAll && !isSchemaOrAdminSuffix(dn));
+ boolean found = containsDN(userBaseDNs, dn) || (displayAll && !isSchemaOrInternalAdminSuffix(dn));
if (found)
{
boolean replicated = false;
diff --git a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties
index 34f7ae8..c9aff83 100644
--- a/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties
+++ b/opendj-sdk/opendj-server-legacy/src/messages/org/opends/messages/admin_tool.properties
@@ -521,6 +521,8 @@
provide it using the %s or the %s options.
ERR_REPLICATION_NOT_A_VALID_BASEDN=The provided value %s is not a valid \
base DN.
+ERR_REPLICATION_NOT_A_USER_SUFFIX=The administrative base DN '%s' cannot \
+ be replicated. Please provide a base DN that contains user data.
ERR_REPLICATION_ENABLE_SAME_SERVER_PORT=You have to provide two \
different servers to enable replication. You have provided twice the server \
%s:%s
--
Gitblit v1.10.0