| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions copyright 2013 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.core; |
| | | import org.opends.messages.Message; |
| | |
| | | { |
| | | // A mapping between the DNs of the config entries and the associated monitor |
| | | // providers. |
| | | private ConcurrentHashMap<DN,MonitorProvider> monitors; |
| | | private ConcurrentHashMap<DN,MonitorProvider<?>> monitors; |
| | | |
| | | |
| | | |
| | |
| | | */ |
| | | public MonitorConfigManager() |
| | | { |
| | | monitors = new ConcurrentHashMap<DN,MonitorProvider>(); |
| | | monitors = new ConcurrentHashMap<DN,MonitorProvider<?>>(); |
| | | } |
| | | |
| | | |
| | |
| | | boolean adminActionRequired = false; |
| | | ArrayList<Message> messages = new ArrayList<Message>(); |
| | | |
| | | MonitorProvider monitor = monitors.remove(configuration.dn()); |
| | | MonitorProvider<?> monitor = monitors.remove(configuration.dn()); |
| | | if (monitor != null) |
| | | { |
| | | String lowerName = toLowerCase(monitor.getMonitorInstanceName()); |
| | | DirectoryServer.deregisterMonitorProvider(lowerName); |
| | | DirectoryServer.deregisterMonitorProvider(monitor); |
| | | monitor.finalizeMonitorProvider(); |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | // Get the existing monitor provider if it's already enabled. |
| | | MonitorProvider existingMonitor = monitors.get(configuration.dn()); |
| | | |
| | | MonitorProvider<?> existingMonitor = monitors.get(configuration.dn()); |
| | | |
| | | // If the new configuration has the monitor disabled, then disable it if it |
| | | // is enabled, or do nothing if it's already disabled. |
| | |
| | | { |
| | | if (existingMonitor != null) |
| | | { |
| | | String lowerName = |
| | | toLowerCase(existingMonitor.getMonitorInstanceName()); |
| | | DirectoryServer.deregisterMonitorProvider(lowerName); |
| | | |
| | | MonitorProvider monitor = monitors.remove(configuration.dn()); |
| | | DirectoryServer.deregisterMonitorProvider(existingMonitor); |
| | | MonitorProvider<?> monitor = monitors.remove(configuration.dn()); |
| | | if (monitor != null) |
| | | { |
| | | monitor.finalizeMonitorProvider(); |
| | |
| | | MonitorProviderCfgDefn.getInstance(); |
| | | ClassPropertyDefinition propertyDefinition = |
| | | definition.getJavaClassPropertyDefinition(); |
| | | Class<? extends MonitorProvider> providerClass = |
| | | propertyDefinition.loadClass(className, MonitorProvider.class); |
| | | MonitorProvider monitor = providerClass.newInstance(); |
| | | @SuppressWarnings("unchecked") |
| | | Class<? extends MonitorProvider<?>> providerClass = |
| | | (Class<? extends MonitorProvider<?>>) propertyDefinition |
| | | .loadClass(className, MonitorProvider.class); |
| | | MonitorProvider<?> monitor = providerClass.newInstance(); |
| | | |
| | | if (configuration != null) |
| | | { |