| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | * Portions Copyright 2014-2015 ForgeRock AS |
| | | */ |
| | | |
| | | package org.opends.server.admin.server; |
| | |
| | | PropertyProvider { |
| | | private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass(); |
| | | |
| | | // The configuration entry associated with this server managed |
| | | // object (null if root). |
| | | /** |
| | | * The configuration entry associated with this server managed |
| | | * object (null if root). |
| | | */ |
| | | private ConfigEntry configEntry; |
| | | |
| | | // The management context. |
| | | /** The management context. */ |
| | | private final ServerManagementContext context = ServerManagementContext |
| | | .getInstance(); |
| | | |
| | | // The managed object's definition. |
| | | /** The managed object's definition. */ |
| | | private final ManagedObjectDefinition<?, S> definition; |
| | | |
| | | // The managed object path identifying this managed object's |
| | | // location. |
| | | /** The managed object path identifying this managed object's location. */ |
| | | private final ManagedObjectPath<?, S> path; |
| | | |
| | | // The managed object's properties. |
| | | /** The managed object's properties. */ |
| | | private final Map<PropertyDefinition<?>, SortedSet<?>> properties; |
| | | |
| | | |
| | |
| | | |
| | | |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | /** {@inheritDoc} */ |
| | | @Override |
| | | public String toString() { |
| | | StringBuilder builder = new StringBuilder(); |
| | |
| | | |
| | | |
| | | |
| | | // Deregister an add listener. |
| | | /** Deregister an add listener. */ |
| | | private <M extends Configuration> void deregisterAddListener(DN baseDN, |
| | | ConfigurationAddListener<M> listener) { |
| | | try { |
| | |
| | | |
| | | |
| | | |
| | | // Deregister an add listener. |
| | | /** Deregister an add listener. */ |
| | | private <M extends Configuration> void deregisterAddListener(DN baseDN, |
| | | ServerManagedObjectAddListener<M> listener) { |
| | | try { |
| | |
| | | |
| | | |
| | | |
| | | // Deregister a delete listener. |
| | | /** Deregister a delete listener. */ |
| | | private <M extends Configuration> void deregisterDeleteListener(DN baseDN, |
| | | ConfigurationDeleteListener<M> listener) { |
| | | try { |
| | |
| | | |
| | | |
| | | |
| | | // Deregister a delete listener. |
| | | /** Deregister a delete listener. */ |
| | | private <M extends Configuration> void deregisterDeleteListener(DN baseDN, |
| | | ServerManagedObjectDeleteListener<M> listener) { |
| | | try { |
| | |
| | | |
| | | |
| | | |
| | | // Gets a config entry required for a listener and throws a config |
| | | // exception on failure or returns null if the entry does not exist. |
| | | /** |
| | | * Gets a config entry required for a listener and throws a config |
| | | * exception on failure or returns null if the entry does not exist. |
| | | */ |
| | | private ConfigEntry getListenerConfigEntry(DN dn) throws ConfigException { |
| | | // Attempt to retrieve the listener base entry. |
| | | ConfigEntry configEntry; |
| | |
| | | |
| | | |
| | | |
| | | // Register an instantiable or optional relation add listener. |
| | | /** Register an instantiable or optional relation add listener. */ |
| | | private void registerAddListener(DN baseDN, ConfigAddListener adaptor) |
| | | throws IllegalArgumentException, ConfigException { |
| | | ConfigEntry relationEntry = getListenerConfigEntry(baseDN); |
| | |
| | | |
| | | |
| | | |
| | | // Register a delayed listener with the nearest existing parent |
| | | // entry to the provided base DN. |
| | | /** |
| | | * Register a delayed listener with the nearest existing parent |
| | | * entry to the provided base DN. |
| | | */ |
| | | private void registerDelayedListener(DN baseDN, |
| | | ConfigAddListener delayedListener) throws ConfigException { |
| | | DN parentDN = baseDN.parent(); |
| | |
| | | throw new ConfigException(message); |
| | | } |
| | | |
| | | // Deregister a delayed listener with the nearest existing parent |
| | | // entry to the provided base DN. |
| | | /** |
| | | * Deregister a delayed listener with the nearest existing parent |
| | | * entry to the provided base DN. |
| | | */ |
| | | private <M extends Configuration> void deregisterDelayedAddListener(DN baseDN, |
| | | ConfigurationAddListener<M> listener) throws ConfigException { |
| | | DN parentDN = baseDN.parent(); |
| | |
| | | } |
| | | |
| | | |
| | | // Deregister a delayed listener with the nearest existing parent |
| | | // entry to the provided base DN. |
| | | /** |
| | | * Deregister a delayed listener with the nearest existing parent |
| | | * entry to the provided base DN. |
| | | */ |
| | | private <M extends Configuration> void deregisterDelayedDeleteListener( |
| | | DN baseDN, ConfigurationDeleteListener<M> listener) |
| | | throws ConfigException { |
| | |
| | | } |
| | | } |
| | | |
| | | // Deregister a delayed listener with the nearest existing parent |
| | | // entry to the provided base DN. |
| | | /** |
| | | * Deregister a delayed listener with the nearest existing parent |
| | | * entry to the provided base DN. |
| | | */ |
| | | private <M extends Configuration> void deregisterDelayedAddListener(DN baseDN, |
| | | ServerManagedObjectAddListener<M> listener) throws ConfigException { |
| | | DN parentDN = baseDN.parent(); |
| | |
| | | } |
| | | |
| | | |
| | | // Deregister a delayed listener with the nearest existing parent |
| | | // entry to the provided base DN. |
| | | /** |
| | | * Deregister a delayed listener with the nearest existing parent |
| | | * entry to the provided base DN. |
| | | */ |
| | | private <M extends Configuration> void deregisterDelayedDeleteListener( |
| | | DN baseDN, ServerManagedObjectDeleteListener<M> listener) |
| | | throws ConfigException { |
| | |
| | | } |
| | | |
| | | |
| | | // Register an instantiable or optional relation delete listener. |
| | | /** Register an instantiable or optional relation delete listener. */ |
| | | private void registerDeleteListener(DN baseDN, ConfigDeleteListener adaptor) |
| | | throws ConfigException { |
| | | ConfigEntry relationEntry = getListenerConfigEntry(baseDN); |
| | |
| | | |
| | | |
| | | |
| | | // Validate that a relation definition belongs to this managed |
| | | // object. |
| | | /** Validate that a relation definition belongs to this managed object. */ |
| | | private void validateRelationDefinition(RelationDefinition<?, ?> rd) |
| | | throws IllegalArgumentException { |
| | | RelationDefinition<?, ?> tmp = definition.getRelationDefinition(rd |