From ee820931bb2044f6de53189693cb78a3941fa16b Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 08 Mar 2016 09:13:14 +0000
Subject: [PATCH] OPENDJ-2749 Starting opendj server generates an error message in logs
---
opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java | 1 -
opendj-server-legacy/src/main/java/org/opends/server/admin/server/ConfigChangeListenerAdaptor.java | 6 +-----
opendj-config/src/main/java/org/forgerock/opendj/config/server/ConfigChangeListenerAdaptor.java | 53 +++++++++++++++++++++--------------------------------
3 files changed, 22 insertions(+), 38 deletions(-)
diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/server/ConfigChangeListenerAdaptor.java b/opendj-config/src/main/java/org/forgerock/opendj/config/server/ConfigChangeListenerAdaptor.java
index ac6d8f6..a3d351e 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/server/ConfigChangeListenerAdaptor.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/server/ConfigChangeListenerAdaptor.java
@@ -24,13 +24,9 @@
import java.util.List;
import java.util.Set;
-import com.forgerock.opendj.util.StaticUtils;
-
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageBuilder;
import org.forgerock.i18n.slf4j.LocalizedLogger;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.forgerock.opendj.config.AbsoluteInheritedDefaultBehaviorProvider;
import org.forgerock.opendj.config.AbstractManagedObjectDefinition;
import org.forgerock.opendj.config.AliasDefaultBehaviorProvider;
@@ -51,6 +47,10 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.Entry;
import org.forgerock.opendj.ldap.ResultCode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.forgerock.opendj.util.StaticUtils;
/**
* An adaptor class which converts {@link ConfigChangeListener} call-backs to
@@ -73,7 +73,6 @@
* The type of property.
*/
private static final class Visitor<T> implements DefaultBehaviorProviderVisitor<T, Void, ManagedObjectPath<?, ?>> {
-
/**
* Finds the dependencies associated with the provided property
* definition.
@@ -101,7 +100,7 @@
this.dependencies = dependencies;
}
- /** {@inheritDoc} */
+ @Override
public Void visitAbsoluteInherited(AbsoluteInheritedDefaultBehaviorProvider<T> d, ManagedObjectPath<?, ?> p) {
ManagedObjectPath<?, ?> next = d.getManagedObjectPath();
dependencies.add(DNBuilder.create(next));
@@ -116,17 +115,17 @@
return null;
}
- /** {@inheritDoc} */
+ @Override
public Void visitAlias(AliasDefaultBehaviorProvider<T> d, ManagedObjectPath<?, ?> p) {
return null;
}
- /** {@inheritDoc} */
+ @Override
public Void visitDefined(DefinedDefaultBehaviorProvider<T> d, ManagedObjectPath<?, ?> p) {
return null;
}
- /** {@inheritDoc} */
+ @Override
public Void visitRelativeInherited(RelativeInheritedDefaultBehaviorProvider<T> d, ManagedObjectPath<?, ?> p) {
ManagedObjectPath<?, ?> next = d.getManagedObjectPath(p);
dependencies.add(DNBuilder.create(next));
@@ -141,7 +140,7 @@
return null;
}
- /** {@inheritDoc} */
+ @Override
public Void visitUndefined(UndefinedDefaultBehaviorProvider<T> d, ManagedObjectPath<?, ?> p) {
return null;
}
@@ -150,19 +149,13 @@
/** Cached managed object between accept/apply call-backs. */
private ServerManagedObject<? extends S> cachedManagedObject;
- /**
- * The delete listener which is used to remove this listener and any
- * dependencies.
- */
+ /** The delete listener which is used to remove this listener and any dependencies. */
private final ConfigDeleteListener cleanerListener;
/** The names of entries that this change listener depends on. */
private final Set<DN> dependencies;
- /**
- * The listener used to notify this listener when dependency entries are
- * modified.
- */
+ /** The listener used to notify this listener when dependency entries are modified. */
private final ConfigChangeListener dependencyListener;
/** The DN associated with this listener. */
@@ -204,6 +197,7 @@
this.dependencies = new HashSet<>();
this.dependencyListener = new ConfigChangeListener() {
+ @Override
public ConfigChangeResult applyConfigurationChange(Entry configEntry) {
Entry dependentConfigEntry = getConfigEntry(dn);
if (dependentConfigEntry != null) {
@@ -215,6 +209,7 @@
}
}
+ @Override
public boolean configChangeIsAcceptable(Entry configEntry, LocalizableMessageBuilder unacceptableReason) {
Entry dependentConfigEntry = getConfigEntry(dn);
if (dependentConfigEntry != null) {
@@ -245,11 +240,10 @@
}
}
- // Register a delete listener against the parent which will
- // finalize this change listener when the monitored configuration
- // entry is removed.
+ // Register a delete listener against the parent which will finalize
+ // this change listener when the monitored configuration entry is removed
this.cleanerListener = new ConfigDeleteListener() {
-
+ @Override
public ConfigChangeResult applyConfigurationDelete(Entry configEntry) {
// Perform finalization if the deleted entry is the monitored
// entry.
@@ -259,15 +253,15 @@
return new ConfigChangeResult();
}
+ @Override
public boolean configDeleteIsAcceptable(Entry configEntry, LocalizableMessageBuilder unacceptableReason) {
// Always acceptable.
return true;
}
-
};
DN parent = dn.parent();
- if (parent != null) {
+ if (parent != null && !parent.isRootDN()) {
Entry configEntry = getConfigEntry(dn.parent());
if (configEntry != null) {
configRepository.registerDeleteListener(configEntry.getName(), cleanerListener);
@@ -275,7 +269,7 @@
}
}
- /** {@inheritDoc} */
+ @Override
public ConfigChangeResult applyConfigurationChange(Entry configEntry) {
// Looking at the ConfigFileHandler implementation reveals
// that this ConfigEntry will actually be a different object to
@@ -303,7 +297,7 @@
return result;
}
- /** {@inheritDoc} */
+ @Override
public boolean configChangeIsAcceptable(Entry configEntry, LocalizableMessageBuilder unacceptableReason) {
return configChangeIsAcceptable(configEntry, unacceptableReason, configEntry);
}
@@ -371,7 +365,6 @@
if (parentConfigEntry != null) {
configRepository.deregisterDeleteListener(parentConfigEntry.getName(), cleanerListener);
}
-
}
/**
@@ -385,10 +378,7 @@
return listener;
}
- /**
- * Returns the named configuration entry or null if it could not be
- * retrieved.
- */
+ /** Returns the named configuration entry or null if it could not be retrieved. */
private Entry getConfigEntry(DN dn) {
try {
if (configRepository.hasEntry(dn)) {
@@ -403,5 +393,4 @@
}
return null;
}
-
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/admin/server/ConfigChangeListenerAdaptor.java b/opendj-server-legacy/src/main/java/org/opends/server/admin/server/ConfigChangeListenerAdaptor.java
index f27b71d..8717276 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/admin/server/ConfigChangeListenerAdaptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/admin/server/ConfigChangeListenerAdaptor.java
@@ -272,7 +272,6 @@
// finalize this change listener when the monitored configuration
// entry is removed.
this.cleanerListener = new ConfigDeleteListener() {
-
public ConfigChangeResult applyConfigurationDelete(
ConfigEntry configEntry) {
// Perform finalization if the deleted entry is the monitored
@@ -283,18 +282,15 @@
return new ConfigChangeResult();
}
-
-
public boolean configDeleteIsAcceptable(ConfigEntry configEntry,
LocalizableMessageBuilder unacceptableReason) {
// Always acceptable.
return true;
}
-
};
DN parent = dn.parent();
- if (parent != null) {
+ if (parent != null && !parent.isRootDN()) {
ConfigEntry configEntry = getConfigEntry(dn.parent());
if (configEntry != null) {
configEntry.registerDeleteListener(cleanerListener);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
index 72e453c..53bd46c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
@@ -29,7 +29,6 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
--
Gitblit v1.10.0