if (entry == null)
{
Message message = ERR_CONFIG_FILE_EMPTY.get(f.getAbsolutePath());
throw new InitializationException(message);
}
configRootEntry = new ConfigEntry(entry, null);
baseDNs = new DN[] { configRootEntry.getDN() };
configEntries.put(entry.getDN(), configRootEntry);
// Iterate through the rest of the configuration file and process the
// remaining entries.
while (entry != null)
{
// Read the next entry from the configuration.
entry = reader.readEntry(checkSchema);
if (entry != null)
{
DN entryDN = entry.getDN();
DN parentDN = entryDN.getParent();
ConfigEntry parentEntry = null;
if (parentDN != null)
{
parentEntry = configEntries.get(parentDN);
}
if (parentEntry == null)
{
if (parentDN == null)
{
Message message = ERR_CONFIG_FILE_UNKNOWN_PARENT.get(
entryDN.toString(),
reader.getLastEntryLineNumber(),
f.getAbsolutePath());
throw new InitializationException(message);
}
else
{
Message message =
ERR_CONFIG_FILE_NO_PARENT.get(entryDN.toString(),
reader.getLastEntryLineNumber(),
f.getAbsolutePath(), parentDN.toString());
throw new InitializationException(message);
}
}
else
{
ConfigEntry configEntry = new ConfigEntry(entry, parentEntry);
parentEntry.addChild(configEntry);
configEntries.put(entryDN, configEntry);
}
}
}