Class 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 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 call super() as its first element.
    • Method Detail

      • doLDIFImportEnd

        public final void doLDIFImportEnd​(LDIFImportConfig importConfig)
        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 class DirectoryServerPlugin<FractionalLDIFImportPluginCfg>
        Parameters:
        importConfig - The configuration used for the LDIF import.
      • doLDIFImport

        public final 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 class DirectoryServerPlugin<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​(PluginCfg configuration,
                                                 List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        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 class DirectoryServerPlugin<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, or false if not.
      • isConfigurationChangeAcceptable

        public boolean isConfigurationChangeAcceptable​(FractionalLDIFImportPluginCfg configuration,
                                                       List<org.forgerock.i18n.LocalizableMessage> unacceptableReasons)
        Indicates whether the proposed change to the configuration is acceptable to this change listener.
        Specified by:
        isConfigurationChangeAcceptable in interface ConfigurationChangeListener<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, or false if it is not.