Class FractionalLDIFImportPlugin
- java.lang.Object
-
- org.opends.server.api.plugin.DirectoryServerPlugin<FractionalLdifImportPluginCfg>
-
- org.opends.server.replication.plugin.FractionalLDIFImportPlugin
-
- All Implemented Interfaces:
ConfigurationChangeListener<FractionalLdifImportPluginCfg>
public final class FractionalLDIFImportPlugin extends DirectoryServerPlugin<FractionalLdifImportPluginCfg> implements ConfigurationChangeListener<FractionalLdifImportPluginCfg>
This class implements a Directory Server plugin that is used in fractional replication to initialize a just configured fractional domain (when an online full update occurs or offline/online ldif import). The following tasks are done: - check that the fractional configuration (if any) stored in the (incoming) root entry of the domain is compliant with the fractional configuration of the domain (if not make online update stop) - perform filtering according to fractional configuration of the domain - flush the fractional configuration of the domain in the root entry (if no one already present)
-
-
Constructor Summary
Constructors Constructor Description FractionalLDIFImportPlugin()
Creates a new instance of this Directory Server plugin.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResult
applyConfigurationChange(FractionalLdifImportPluginCfg configuration)
Applies the configuration changes to this change listener.PluginResult.ImportLDIF
doLDIFImport(LDIFImportConfig importConfig, Entry entry)
See class comment for what we achieve here...void
doLDIFImportEnd(LDIFImportConfig importConfig)
Terminates an import session.void
finalizePlugin()
Performs any necessary finalization for this plugin.void
initializePlugin(Set<PluginType> pluginTypes, FractionalLdifImportPluginCfg configuration)
Performs any initialization necessary for this plugin.boolean
isConfigurationAcceptable(FractionalLdifImportPluginCfg configuration, List<LocalizableMessage> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this plugin.boolean
isConfigurationChangeAcceptable(FractionalLdifImportPluginCfg configuration, List<LocalizableMessage> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener.-
Methods inherited from class org.opends.server.api.plugin.DirectoryServerPlugin
doLDIFImportBegin, doPostConnect, doPostDisconnect, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostSynchronization, doPostSynchronization, doPostSynchronization, doPostSynchronization, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doShutdown, doStartup, getPluginEntryDN, getPluginTypes, getServerContext, initializeInternal, invokeForInternalOperations, processIntermediateResponse, processSearchEntry, processSearchReference, processSubordinateDelete, processSubordinateModifyDN, setInvokeForInternalOperations
-
-
-
-
Constructor Detail
-
FractionalLDIFImportPlugin
public FractionalLDIFImportPlugin()
Creates a new instance of this Directory Server plugin. Every plugin must implement a default constructor (it is the only one that will be used to create plugins defined in the configuration), and every plugin constructor must callsuper()
as its first element.
-
-
Method Detail
-
initializePlugin
public void initializePlugin(Set<PluginType> pluginTypes, FractionalLdifImportPluginCfg configuration) throws ConfigException
Description copied from class:DirectoryServerPlugin
Performs any initialization necessary for this plugin. This will be called as soon as the plugin has been loaded and before it is registered with the server.- Specified by:
initializePlugin
in classDirectoryServerPlugin<FractionalLdifImportPluginCfg>
- Parameters:
pluginTypes
- The set of plugin types that indicate the ways in which this plugin will be invoked.configuration
- The configuration for this plugin.- Throws:
ConfigException
- If the provided entry does not contain a valid configuration for this plugin.
-
finalizePlugin
public void finalizePlugin()
Description copied from class:DirectoryServerPlugin
Performs any necessary finalization for this plugin. This will be called just after the plugin has been deregistered with the server but before it has been unloaded.- Overrides:
finalizePlugin
in classDirectoryServerPlugin<FractionalLdifImportPluginCfg>
-
doLDIFImportEnd
public void doLDIFImportEnd(LDIFImportConfig importConfig)
Description copied from class:DirectoryServerPlugin
Terminates an import session. Performs any necessary processing that should be done at the end of an LDIF import session based on the provided configuration.- Overrides:
doLDIFImportEnd
in classDirectoryServerPlugin<FractionalLdifImportPluginCfg>
- Parameters:
importConfig
- The configuration used for the LDIF import.
-
doLDIFImport
public PluginResult.ImportLDIF doLDIFImport(LDIFImportConfig importConfig, Entry entry)
See class comment for what we achieve here... Performs any necessary processing that should be done during an LDIF import operation immediately after reading an entry and confirming that it should be imported based on the provided configuration.- Overrides:
doLDIFImport
in classDirectoryServerPlugin<FractionalLdifImportPluginCfg>
- Parameters:
importConfig
- The configuration used for the LDIF import.entry
- The entry that has been read to the LDIF file.- Returns:
- The result of the plugin processing.
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(FractionalLdifImportPluginCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from class:DirectoryServerPlugin
Indicates whether the provided configuration is acceptable for this plugin. It should be possible to call this method on an uninitialized plugin instance in order to determine whether the plugin would be able to use the provided configuration.- Overrides:
isConfigurationAcceptable
in classDirectoryServerPlugin<FractionalLdifImportPluginCfg>
- Parameters:
configuration
- The plugin configuration for which to make the determination.unacceptableReasons
- A list that may be used to hold the reasons that the provided configuration is not acceptable.- Returns:
true
if the provided configuration is acceptable for this plugin, orfalse
if not.
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(FractionalLdifImportPluginCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from interface:ConfigurationChangeListener
Indicates whether the proposed change to the configuration is acceptable to this change listener.- Specified by:
isConfigurationChangeAcceptable
in interfaceConfigurationChangeListener<FractionalLdifImportPluginCfg>
- Parameters:
configuration
- The new configuration containing the changes.unacceptableReasons
- A list that can be used to hold messages about why the provided configuration is not acceptable.- Returns:
- Returns
true
if the proposed change is acceptable, orfalse
if it is not.
-
applyConfigurationChange
public ConfigChangeResult applyConfigurationChange(FractionalLdifImportPluginCfg configuration)
Description copied from interface:ConfigurationChangeListener
Applies the configuration changes to this change listener.- Specified by:
applyConfigurationChange
in interfaceConfigurationChangeListener<FractionalLdifImportPluginCfg>
- Parameters:
configuration
- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
-