| | |
| | | import java.util.LinkedList; |
| | | import java.util.Set; |
| | | |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.opends.server.admin.Configuration; |
| | | import org.opends.server.admin.std.server.MemoryBackendCfg; |
| | | import org.opends.server.api.Backend; |
| | |
| | | // map. |
| | | if ((baseDNs == null) || (baseDNs.length != 1)) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_REQUIRE_EXACTLY_ONE_BASE.get(); |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_REQUIRE_EXACTLY_ONE_BASE.get(); |
| | | throw new ConfigException(message); |
| | | } |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get( |
| | | LocalizableMessage message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get( |
| | | dn.toString(), getExceptionMessage(e)); |
| | | throw new InitializationException(message, e); |
| | | } |
| | |
| | | DN entryDN = e.getName(); |
| | | if (entryMap.containsKey(entryDN)) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ENTRY_ALREADY_EXISTS.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | | if (parentDN == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ENTRY_DOESNT_BELONG.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | else if (! entryMap.containsKey(parentDN)) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_PARENT_DOESNT_EXIST.get( |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_PARENT_DOESNT_EXIST.get( |
| | | String.valueOf(entryDN), String.valueOf(parentDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | // Make sure the entry exists. If not, then throw an exception. |
| | | if (! entryMap.containsKey(entryDN)) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ENTRY_DOESNT_EXIST.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | // an exception. |
| | | if ((children != null) && (! children.isEmpty())) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_CANNOT_DELETE_ENTRY_WITH_CHILDREN. |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_CANNOT_DELETE_ENTRY_WITH_CHILDREN. |
| | | get(String.valueOf(entryDN)); |
| | | throw new DirectoryException( |
| | | ResultCode.NOT_ALLOWED_ON_NONLEAF, message); |
| | |
| | | DN entryDN = e.getName(); |
| | | if (! entryMap.containsKey(entryDN)) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ENTRY_DOESNT_EXIST.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | // Make sure that the target entry exists. |
| | | if (! entryMap.containsKey(currentDN)) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ENTRY_DOESNT_EXIST.get(String.valueOf(currentDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_CANNOT_RENAME_ENRY_WITH_CHILDREN. |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_CANNOT_RENAME_ENRY_WITH_CHILDREN. |
| | | get(String.valueOf(currentDN)); |
| | | throw new DirectoryException( |
| | | ResultCode.NOT_ALLOWED_ON_NONLEAF, message); |
| | |
| | | // Make sure that no entry exists with the new DN. |
| | | if (entryMap.containsKey(e.getName())) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_ENTRY_ALREADY_EXISTS.get( |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_ENTRY_ALREADY_EXISTS.get( |
| | | String.valueOf(e.getName())); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | |
| | | |
| | | if (! matchFound) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_CANNOT_RENAME_TO_ANOTHER_BACKEND.get( |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_CANNOT_RENAME_TO_ANOTHER_BACKEND.get( |
| | | String.valueOf(currentDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | |
| | | DN parentDN = e.getName().getParentDNInSuffix(); |
| | | if ((parentDN == null) || (! entryMap.containsKey(parentDN))) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_RENAME_PARENT_DOESNT_EXIST.get( |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_RENAME_PARENT_DOESNT_EXIST.get( |
| | | String.valueOf(currentDN), String.valueOf(parentDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | matchedDN = matchedDN.getParentDNInSuffix(); |
| | | } |
| | | |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ENTRY_DOESNT_EXIST.get(String.valueOf(baseDN)); |
| | | throw new DirectoryException( |
| | | ResultCode.NO_SUCH_OBJECT, message, matchedDN, null); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_CANNOT_CREATE_LDIF_WRITER.get(String.valueOf(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_CANNOT_WRITE_ENTRY_TO_LDIF.get( |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_CANNOT_WRITE_ENTRY_TO_LDIF.get( |
| | | String.valueOf(entryDN), String.valueOf(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_CANNOT_CREATE_LDIF_READER.get(String.valueOf(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | { |
| | | if (! le.canContinueReading()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ERROR_READING_LDIF.get(String.valueOf(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_MEMORYBACKEND_ERROR_DURING_IMPORT.get(String.valueOf(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | public void createBackup(BackupConfig backupConfig) |
| | | throws DirectoryException |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED.get(); |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | |
| | | String backupID) |
| | | throws DirectoryException |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED.get(); |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | |
| | | public void restoreBackup(RestoreConfig restoreConfig) |
| | | throws DirectoryException |
| | | { |
| | | Message message = ERR_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED.get(); |
| | | LocalizableMessage message = ERR_MEMORYBACKEND_BACKUP_RESTORE_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |