Package org.opends.server.types
Class LDIFImportConfig
- java.lang.Object
-
- org.opends.server.types.Cancellable
-
- org.opends.server.types.LDIFImportConfig
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
@PublicAPI(stability=VOLATILE, mayInstantiate=true, mayInvoke=true) public final class LDIFImportConfig extends Cancellable implements Closeable
This class defines a data structure for holding configuration information to use when performing an LDIF import.
-
-
Constructor Summary
Constructors Constructor Description LDIFImportConfig(InputStream ldifInputStream)
Creates a new LDIF import configuration that will read from the provided input stream.LDIFImportConfig(String ldifFile)
Creates a new LDIF import configuration that will read from the specified LDIF file.LDIFImportConfig(List<String> ldifFiles)
Creates a new LDIF import configuration that will read from the specified LDIF files.LDIFImportConfig(EntryGenerator entryGenerator)
Creates a new LDIF import configuration that will read from the provided entry generator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
clearBackend()
Indicates whether to clear the entire backend if importing to a backend with more than one base DNs.void
close()
Closes any resources that this import config might have open.int
getBufferSize()
Retrieves the buffer size that should be used when reading LDIF data.Set<AttributeType>
getExcludeAttributes()
Retrieves the set of attributes that should be excluded from the entries read from the LDIF.Set<Dn>
getExcludeBranches()
Retrieves the set of base DNs that specify the set of entries to exclude from the import.Set<AttributeType>
getIncludeAttributes()
Retrieves the set of attributes that should be included in the entries read from the LDIF.Set<Dn>
getIncludeBranches()
Retrieves the set of base DNs that specify the set of entries to include in the import.BufferedReader
getReader()
Retrieves the reader that should be used to read the LDIF data.BufferedWriter
getRejectWriter()
Retrieves the writer that should be used to write entries that are rejected rather than imported for some reason.BufferedWriter
getSkipWriter()
Retrieves the writer that should be used to write entries that are skipped because they don't match the criteria.int
getThreadCount()
Return the specified thread count.String
getTmpDirectory()
Return the temporary directory path.boolean
includeAttribute(AttributeType attributeType)
Indicates whether the specified attribute should be included in the entries read from the LDIF.Pair<Boolean,LocalizableMessage>
includeEntry(Dn dn)
Indicates whether to include the entry with the specified DN in the import.Pair<Boolean,LocalizableMessage>
includeEntry(Entry entry)
Indicates whether the specified entry should be included in the import based on the configured set of include and exclude filters.boolean
invokeImportPlugins()
Indicates whether any LDIF import plugins registered with the server should be invoked during the import operation.boolean
isCompressed()
Indicates whether the input LDIF source is expected to be compressed.boolean
isEncrypted()
Indicates whether the input LDIF source is expected to be encrypted.BufferedReader
nextReader()
Retrieves the LDIF reader configured to read from the next LDIF file in the list.void
setBufferSize(int bufferSize)
Specifies the buffer size that should be used when reading LDIF data.void
setClearBackend(boolean clearBackend)
Specifies whether to clear the entire backend if importing to a backend.void
setCompressed(boolean isCompressed)
Specifies whether the input LDIF source is expected to be compressed.void
setEncrypted(boolean isEncrypted)
Specifies whether the input LDIF source is expected to be encrypted.void
setExcludeAllOperationalAttributes(boolean excludeAllOpAttrs)
Specifies whether all the operational attributes should be excluded.void
setExcludeAllUserAttributes(boolean excludeAllUserAttrs)
Specifies whether all the user attributes should be excluded.void
setExcludeAttributes(Set<AttributeType> excludeAttributes)
Specifies the set of attributes that should be excluded from the entries read from the LDIF.void
setExcludeBranches(Set<Dn> excludeBranches)
Specifies the set of base DNs that specify the set of entries to exclude from the import.void
setIncludeAllOpAttributes(boolean includeAllOpAttrs)
Specifies whether all the operational attributes should be included.void
setIncludeAllUserAttributes(boolean includeAllUserAttrs)
Specifies whether all the user attributes should be included.void
setIncludeAttributes(Set<AttributeType> includeAttributes)
Specifies the set of attributes that should be included in the entries read from the LDIF.void
setIncludeBranches(Set<Dn> includeBranches)
Specifies the set of base DNs that specify the set of entries to include in the import.void
setIncludeExcludeFilters(Set<Filter> includeFilters, Set<Filter> excludeFilters)
Specifies search filters that should be used to determine which entries to include/exclude from the LDIF.void
setInvokeImportPlugins(boolean invokeImportPlugins)
Specifies whether any LDIF import plugins registered with the server should be invoked during the import operation.void
setThreadCount(int c)
Set the thread count.void
setTmpDirectory(String path)
Set the temporary directory to the specified path.void
setValidateSchema(boolean validateSchema)
Specifies whether to perform schema validation on entries as they are read.boolean
validateSchema()
Indicates whether to perform schema validation on entries as they are read.void
writeRejectedEntries(OutputStream outputStream)
Indicates that rejected entries should be written to the provided output stream.void
writeRejectedEntries(String rejectFile, ExistingFileBehavior existingFileBehavior)
Indicates that rejected entries should be written to the specified file.void
writeSkippedEntries(String skipFile, ExistingFileBehavior existingFileBehavior)
Indicates that skipped entries should be written to the specified file.-
Methods inherited from class org.opends.server.types.Cancellable
cancel, getCancelReason, isCancelled, toString
-
-
-
-
Constructor Detail
-
LDIFImportConfig
public LDIFImportConfig(String ldifFile)
Creates a new LDIF import configuration that will read from the specified LDIF file.- Parameters:
ldifFile
- The path to the LDIF file with the data to import.
-
LDIFImportConfig
public LDIFImportConfig(List<String> ldifFiles)
Creates a new LDIF import configuration that will read from the specified LDIF files. The files will be imported in the order they are specified in the provided list.- Parameters:
ldifFiles
- The paths to the LDIF files with the data to import.
-
LDIFImportConfig
public LDIFImportConfig(EntryGenerator entryGenerator)
Creates a new LDIF import configuration that will read from the provided entry generator.- Parameters:
entryGenerator
- The entry generator from which to read the LDIF data.
-
LDIFImportConfig
public LDIFImportConfig(InputStream ldifInputStream)
Creates a new LDIF import configuration that will read from the provided input stream.- Parameters:
ldifInputStream
- The input stream from which to read the LDIF data.
-
-
Method Detail
-
getReader
public BufferedReader getReader() throws IOException
Retrieves the reader that should be used to read the LDIF data. Note that if the LDIF file is compressed and/or encrypted, then that must be indicated before this method is called for the first time.- Returns:
- The reader that should be used to read the LDIF data.
- Throws:
IOException
- If a problem occurs while obtaining the reader.
-
nextReader
public BufferedReader nextReader() throws IOException
Retrieves the LDIF reader configured to read from the next LDIF file in the list.- Returns:
- The reader that should be used to read the LDIF data, or
null
if there are no more files to read. - Throws:
IOException
- If a problem occurs while obtaining the reader.
-
getRejectWriter
public BufferedWriter getRejectWriter()
Retrieves the writer that should be used to write entries that are rejected rather than imported for some reason.- Returns:
- The reject writer, or
null
if none is to be used.
-
getSkipWriter
public BufferedWriter getSkipWriter()
Retrieves the writer that should be used to write entries that are skipped because they don't match the criteria.- Returns:
- The skip writer, or
null
if none is to be used.
-
writeRejectedEntries
public void writeRejectedEntries(String rejectFile, ExistingFileBehavior existingFileBehavior) throws IOException
Indicates that rejected entries should be written to the specified file. Note that this applies only to entries that are rejected because they are invalid (e.g., are malformed or don't conform to schema requirements), and not to entries that are rejected because they matched exclude criteria.- Parameters:
rejectFile
- The path to the file to which reject information should be written.existingFileBehavior
- Indicates how to treat an existing file.- Throws:
IOException
- If a problem occurs while opening the reject file for writing.
-
writeRejectedEntries
public void writeRejectedEntries(OutputStream outputStream)
Indicates that rejected entries should be written to the provided output stream. Note that this applies only to entries that are rejected because they are invalid (e.g., are malformed or don't conform to schema requirements), and not to entries that are rejected because they matched exclude criteria.- Parameters:
outputStream
- The output stream to which rejected entries should be written.
-
writeSkippedEntries
public void writeSkippedEntries(String skipFile, ExistingFileBehavior existingFileBehavior) throws IOException
Indicates that skipped entries should be written to the specified file. Note that this applies only to entries that are skipped because they matched exclude criteria.- Parameters:
skipFile
- The path to the file to which skipped information should be written.existingFileBehavior
- Indicates how to treat an existing file.- Throws:
IOException
- If a problem occurs while opening the skip file for writing.
-
invokeImportPlugins
public boolean invokeImportPlugins()
Indicates whether any LDIF import plugins registered with the server should be invoked during the import operation.- Returns:
true
if registered LDIF import plugins should be invoked during the import operation, orfalse
if they should not be invoked.
-
setInvokeImportPlugins
public void setInvokeImportPlugins(boolean invokeImportPlugins)
Specifies whether any LDIF import plugins registered with the server should be invoked during the import operation.- Parameters:
invokeImportPlugins
- Specifies whether any LDIF import plugins registered with the server should be invoked during the import operation.
-
isCompressed
public boolean isCompressed()
Indicates whether the input LDIF source is expected to be compressed.- Returns:
true
if the LDIF source is expected to be compressed, orfalse
if not.
-
setCompressed
public void setCompressed(boolean isCompressed)
Specifies whether the input LDIF source is expected to be compressed. If compression is used, then this must be set prior to the initial call togetReader
.- Parameters:
isCompressed
- Indicates whether the input LDIF source is expected to be compressed.
-
isEncrypted
public boolean isEncrypted()
Indicates whether the input LDIF source is expected to be encrypted.- Returns:
true
if the LDIF source is expected to be encrypted, orfalse
if not.
-
setEncrypted
public void setEncrypted(boolean isEncrypted)
Specifies whether the input LDIF source is expected to be encrypted. If encryption is used, then this must be set prior to the initial call togetReader
.- Parameters:
isEncrypted
- Indicates whether the input LDIF source is expected to be encrypted.
-
clearBackend
public boolean clearBackend()
Indicates whether to clear the entire backend if importing to a backend with more than one base DNs.- Returns:
true
if the entire backend should be cleared orfalse
if not.
-
setClearBackend
public void setClearBackend(boolean clearBackend)
Specifies whether to clear the entire backend if importing to a backend.- Parameters:
clearBackend
- Indicates whether to clear the entire backend.
-
validateSchema
public boolean validateSchema()
Indicates whether to perform schema validation on entries as they are read.- Returns:
true
if schema validation should be performed on the entries as they are read, orfalse
if not.
-
setValidateSchema
public void setValidateSchema(boolean validateSchema)
Specifies whether to perform schema validation on entries as they are read.- Parameters:
validateSchema
- Indicates whether to perform schema validation on entries as they are read.
-
getExcludeBranches
public Set<Dn> getExcludeBranches()
Retrieves the set of base DNs that specify the set of entries to exclude from the import. The contents of the returned list may be altered by the caller.- Returns:
- The set of base DNs that specify the set of entries to exclude from the import.
-
setExcludeBranches
public void setExcludeBranches(Set<Dn> excludeBranches)
Specifies the set of base DNs that specify the set of entries to exclude from the import.- Parameters:
excludeBranches
- The set of base DNs that specify the set of entries to exclude from the import.
-
getIncludeBranches
public Set<Dn> getIncludeBranches()
Retrieves the set of base DNs that specify the set of entries to include in the import. The contents of the returned list may be altered by the caller.- Returns:
- The set of base DNs that specify the set of entries to include in the import.
-
setIncludeBranches
public void setIncludeBranches(Set<Dn> includeBranches)
Specifies the set of base DNs that specify the set of entries to include in the import.- Parameters:
includeBranches
- The set of base DNs that specify the set of entries to include in the import.
-
includeEntry
public Pair<Boolean,LocalizableMessage> includeEntry(Dn dn)
Indicates whether to include the entry with the specified DN in the import.- Parameters:
dn
- The DN of the entry for which to make the determination.- Returns:
- a pair where the first element is a boolean indicating whether the entry with the specified DN should be
included in the import, and the second element is a message with the reason why an entry is not included
in the import (it is
null
when the entry is included in the import).
-
getExcludeAttributes
public Set<AttributeType> getExcludeAttributes()
Retrieves the set of attributes that should be excluded from the entries read from the LDIF. The contents of the returned set may be modified by the caller.- Returns:
- The set of attributes that should be excluded from the entries read from the LDIF.
-
setExcludeAttributes
public void setExcludeAttributes(Set<AttributeType> excludeAttributes)
Specifies the set of attributes that should be excluded from the entries read from the LDIF.- Parameters:
excludeAttributes
- The set of attributes that should be excluded from the entries read from the LDIF.
-
getIncludeAttributes
public Set<AttributeType> getIncludeAttributes()
Retrieves the set of attributes that should be included in the entries read from the LDIF. The contents of the returned set may be modified by the caller.- Returns:
- The set of attributes that should be included in the entries read from the LDIF.
-
setIncludeAttributes
public void setIncludeAttributes(Set<AttributeType> includeAttributes)
Specifies the set of attributes that should be included in the entries read from the LDIF.- Parameters:
includeAttributes
- The set of attributes that should be included in the entries read from the LDIF.
-
includeAttribute
public boolean includeAttribute(AttributeType attributeType)
Indicates whether the specified attribute should be included in the entries read from the LDIF.- Parameters:
attributeType
- The attribute type for which to make the determination.- Returns:
true
if the specified attribute should be included in the entries read from the LDIF, orfalse
if not.
-
setIncludeExcludeFilters
public void setIncludeExcludeFilters(Set<Filter> includeFilters, Set<Filter> excludeFilters)
Specifies search filters that should be used to determine which entries to include/exclude from the LDIF.- Parameters:
includeFilters
- The filters that should be used to determine which entries to include from the LDIF.excludeFilters
- The filters that should be used to determine which entries to exclude from the LDIF.
-
includeEntry
public Pair<Boolean,LocalizableMessage> includeEntry(Entry entry)
Indicates whether the specified entry should be included in the import based on the configured set of include and exclude filters.- Parameters:
entry
- The entry for which to make the determination.- Returns:
- a pair where the first element is a boolean indicating whether the entry with the specified DN should be
included in the import, and the second element is a message with the reason why an entry is not included
in the import (it is
null
when the entry is included in the import).
-
getBufferSize
public int getBufferSize()
Retrieves the buffer size that should be used when reading LDIF data.- Returns:
- The buffer size that should be used when reading LDIF data.
-
setBufferSize
public void setBufferSize(int bufferSize)
Specifies the buffer size that should be used when reading LDIF data.- Parameters:
bufferSize
- The buffer size that should be used when reading LDIF data.
-
setExcludeAllUserAttributes
public void setExcludeAllUserAttributes(boolean excludeAllUserAttrs)
Specifies whether all the user attributes should be excluded.- Parameters:
excludeAllUserAttrs
- Specifies all user attributes to be excluded.
-
setExcludeAllOperationalAttributes
public void setExcludeAllOperationalAttributes(boolean excludeAllOpAttrs)
Specifies whether all the operational attributes should be excluded.- Parameters:
excludeAllOpAttrs
- Specifies whether all the operational attributes should be excluded.
-
setIncludeAllOpAttributes
public void setIncludeAllOpAttributes(boolean includeAllOpAttrs)
Specifies whether all the operational attributes should be included.- Parameters:
includeAllOpAttrs
- Specifies whether all the operation attributes should be included.
-
setIncludeAllUserAttributes
public void setIncludeAllUserAttributes(boolean includeAllUserAttrs)
Specifies whether all the user attributes should be included.- Parameters:
includeAllUserAttrs
- Specifies whether all the user attributes should be included.
-
close
public void close()
Closes any resources that this import config might have open.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
setTmpDirectory
public void setTmpDirectory(String path)
Set the temporary directory to the specified path.- Parameters:
path
- The path to set the temporary directory to.
-
getTmpDirectory
public String getTmpDirectory()
Return the temporary directory path.- Returns:
- The temporary directory string.
-
setThreadCount
public void setThreadCount(int c)
Set the thread count.- Parameters:
c
- The thread count value.
-
getThreadCount
public int getThreadCount()
Return the specified thread count.- Returns:
- The thread count.
-
-