opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/AciListenerManager.java
@@ -316,7 +316,7 @@ } DirectoryServer.registerInternalPlugin(plugin); DirectoryServer.registerBackendInitializationListener(this); serverContext.getBackendConfigManager().registerLocalBackendInitializationListener(this); DirectoryServer.registerAlertGenerator(this); } @@ -327,7 +327,8 @@ public void finalizeListenerManager() { DirectoryServer.deregisterInternalPlugin(plugin); DirectoryServer.deregisterBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .deregisterLocalBackendInitializationListener(this); DirectoryServer.deregisterAlertGenerator(this); } opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
@@ -88,8 +88,8 @@ /** The mapping between backend configuration names and backend implementations. */ private final Map<DN, Backend<? extends BackendCfg>> configuredBackends = new ConcurrentHashMap<>(); /** The set of local backend initialization listeners. */ private final Set<LocalBackendInitializationListener> initializationListeners = new CopyOnWriteArraySet<>(); /** The set of initialization listeners restricted to local backends. */ private final Set<LocalBackendInitializationListener> localInitializationListeners = new CopyOnWriteArraySet<>(); /** Contains all relationships between the base DNs and the backends (at the exclusion of RootDSE backend). */ private volatile Registry registry = new Registry(); @@ -656,9 +656,9 @@ * * @param listener The listener to register. */ public void registerBackendInitializationListener(LocalBackendInitializationListener listener) public void registerLocalBackendInitializationListener(LocalBackendInitializationListener listener) { initializationListeners.add(listener); localInitializationListeners.add(listener); } /** @@ -689,9 +689,9 @@ * * @param listener The listener to deregister. */ public void deregisterBackendInitializationListener(LocalBackendInitializationListener listener) public void deregisterLocalBackendInitializationListener(LocalBackendInitializationListener listener) { initializationListeners.remove(listener); localInitializationListeners.remove(listener); } /** @@ -906,7 +906,7 @@ if (backend instanceof LocalBackend<?>) { LocalBackend<?> localBackend = (LocalBackend<?>) backend; for (LocalBackendInitializationListener listener : initializationListeners) for (LocalBackendInitializationListener listener : localInitializationListeners) { listener.performBackendPreInitializationProcessing(localBackend); } @@ -928,7 +928,7 @@ return false; } for (LocalBackendInitializationListener listener : initializationListeners) for (LocalBackendInitializationListener listener : localInitializationListeners) { listener.performBackendPostInitializationProcessing(localBackend); } @@ -1150,24 +1150,29 @@ private void deregisterBackend(DN backendDN, Backend<?> backend) { if (backend instanceof LocalBackend<?>) boolean isLocalBackend = backend instanceof LocalBackend<?>; LocalBackend<?> localBackend = isLocalBackend ? (LocalBackend<?>) backend : null; if (isLocalBackend) { LocalBackend<?> localBackend = (LocalBackend<?>) backend; for (LocalBackendInitializationListener listener : initializationListeners) for (LocalBackendInitializationListener listener : localInitializationListeners) { listener.performBackendPreFinalizationProcessing(localBackend); } } configuredBackends.remove(backendDN); deregisterLocalBackend(localBackend); for (LocalBackendInitializationListener listener : initializationListeners) if (isLocalBackend) { deregisterLocalBackend(localBackend); for (LocalBackendInitializationListener listener : localInitializationListeners) { listener.performBackendPostFinalizationProcessing(localBackend); } } else { throw new RuntimeException("deregisterBackend() is not yet supported for proxy backend."); else { throw new RuntimeException("Proxy backend deregistration not implemented yet"); } } @@ -1181,14 +1186,14 @@ { try { for (LocalBackendInitializationListener listener : initializationListeners) for (LocalBackendInitializationListener listener : localInitializationListeners) { listener.performBackendPreFinalizationProcessing(backend); } backend.finalizeBackend(); for (LocalBackendInitializationListener listener : initializationListeners) for (LocalBackendInitializationListener listener : localInitializationListeners) { listener.performBackendPostFinalizationProcessing(backend); } opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
@@ -82,7 +82,6 @@ import org.opends.server.api.AuthenticationPolicy; import org.opends.server.api.Backend; import org.opends.server.api.LocalBackend; import org.opends.server.api.LocalBackendInitializationListener; import org.opends.server.api.BackupTaskListener; import org.opends.server.api.CertificateMapper; import org.opends.server.api.ClientConnection; @@ -1625,32 +1624,6 @@ return directoryServer.compressedSchema; } /** * Registers the provided local backend initialization listener with the Directory * Server. * * @param listener The local backend initialization listener to register with the * Directory Server. */ public static void registerBackendInitializationListener( LocalBackendInitializationListener listener) { directoryServer.backendConfigManager.registerBackendInitializationListener(listener); } /** * Deregisters the provided local backend initialization listener with the Directory * Server. * * @param listener The backend initialization listener to deregister with * the Directory Server. */ public static void deregisterBackendInitializationListener( LocalBackendInitializationListener listener) { directoryServer.backendConfigManager.deregisterBackendInitializationListener(listener); } private void initializeRootAndAdminDataBackends() throws ConfigException, InitializationException { backendConfigManager.initializeBackendConfig(Arrays.asList("adminRoot", "ads-truststore")); opendj-server-legacy/src/main/java/org/opends/server/core/GroupManager.java
@@ -142,7 +142,7 @@ lock = new ReentrantReadWriteLock(); DirectoryServer.registerInternalPlugin(this); DirectoryServer.registerBackendInitializationListener(this); serverContext.getBackendConfigManager().registerLocalBackendInitializationListener(this); } /** @@ -443,7 +443,7 @@ public void finalizeGroupManager() { DirectoryServer.deregisterInternalPlugin(this); DirectoryServer.deregisterBackendInitializationListener(this); serverContext.getBackendConfigManager().deregisterLocalBackendInitializationListener(this); deregisterAllGroups(); opendj-server-legacy/src/main/java/org/opends/server/core/SubentryManager.java
@@ -131,7 +131,8 @@ true); DirectoryServer.registerInternalPlugin(this); DirectoryServer.registerBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .registerLocalBackendInitializationListener(this); } /** @@ -143,7 +144,8 @@ // Deregister as internal plugin and // backend initialization listener. DirectoryServer.deregisterInternalPlugin(this); DirectoryServer.deregisterBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .deregisterLocalBackendInitializationListener(this); } /** opendj-server-legacy/src/main/java/org/opends/server/crypto/CryptoManagerSync.java
@@ -136,7 +136,8 @@ catch (CryptoManagerException ex) { throw new InitializationException(ex.getMessageObject()); } DirectoryServer.registerBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .registerLocalBackendInitializationListener(this); try { opendj-server-legacy/src/main/java/org/opends/server/extensions/DefaultEntryCache.java
@@ -64,7 +64,8 @@ // Register with backend initialization listener to clear cache // entries belonging to given backend that about to go offline. DirectoryServer.registerBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .registerLocalBackendInitializationListener(this); } @Override opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -594,7 +594,8 @@ // register as an AlertGenerator DirectoryServer.registerAlertGenerator(this); DirectoryServer.registerBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .registerLocalBackendInitializationListener(this); DirectoryServer.registerShutdownListener(this); startPublishService(); @@ -2238,7 +2239,8 @@ } DirectoryServer.deregisterAlertGenerator(this); DirectoryServer.deregisterBackendInitializationListener(this); DirectoryServer.getInstance().getServerContext().getBackendConfigManager() .deregisterLocalBackendInitializationListener(this); DirectoryServer.deregisterShutdownListener(this); // stop the ReplicationDomain