| | |
| | | * |
| | | * |
| | | * Copyright 2006-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2013 ForgeRock AS. |
| | | * Portions Copyright 2013-2014 ForgeRock AS. |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | |
| | | import org.opends.server.config.ConfigException; |
| | | import org.opends.server.core.DirectoryServer; |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_MAC.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_MAC.get( |
| | | macKeyID, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, e); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_DIGEST.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_DIGEST.get( |
| | | digestAlgorithm, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, e); |
| | |
| | | // No incremental backup ID: log a message informing that a backup |
| | | // could not be found and that a normal backup will be done. |
| | | incremental = false; |
| | | Message message = WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL.get( |
| | | LocalizableMessage message = WARN_BACKUPDB_INCREMENTAL_NOT_FOUND_DOING_NORMAL.get( |
| | | backupDir.getPath()); |
| | | logError(message); |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_CREATE_ARCHIVE_FILE. |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_CREATE_ARCHIVE_FILE. |
| | | get(String.valueOf(archiveFilename), backupDir.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_CIPHER.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_CIPHER.get( |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | // Wrap the file output stream in a zip output stream. |
| | | ZipOutputStream zipStream = new ZipOutputStream(outputStream); |
| | | |
| | | Message message = ERR_JEB_BACKUP_ZIP_COMMENT.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_ZIP_COMMENT.get( |
| | | DynamicConstants.PRODUCT_NAME, |
| | | backupID, backendID); |
| | | zipStream.setComment(message.toString()); |
| | |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | Message message = ERR_JEB_BACKUP_CANNOT_RESTORE.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_RESTORE.get( |
| | | backupInfo.getBackupID(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | Message message = ERR_JEB_BACKUP_CANNOT_RESTORE.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_RESTORE.get( |
| | | dependent.getBackupID(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | { |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | Message message = ERR_JEB_BACKUP_CANNOT_RESTORE.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_RESTORE.get( |
| | | backupInfo.getBackupID(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | backendDir.delete(); |
| | | if (!restoreDir.renameTo(backendDir)) |
| | | { |
| | | Message msg = ERR_JEB_CANNOT_RENAME_RESTORE_DIRECTORY.get( |
| | | LocalizableMessage msg = ERR_JEB_CANNOT_RENAME_RESTORE_DIRECTORY.get( |
| | | restoreDir.getPath(), backendDir.getPath()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | msg); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR.get( |
| | | backupDir.getDescriptorPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_MAC.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_MAC.get( |
| | | macKeyID, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_DIGEST.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_DIGEST.get( |
| | | digestAlgorithm, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_CIPHER.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_CIPHER.get( |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | { |
| | | if (verifyOnly) |
| | | { |
| | | Message message = NOTE_JEB_BACKUP_VERIFY_FILE.get(zipEntry.getName()); |
| | | LocalizableMessage message = NOTE_JEB_BACKUP_VERIFY_FILE.get(zipEntry.getName()); |
| | | logError(message); |
| | | } |
| | | |
| | |
| | | { |
| | | outputStream.close(); |
| | | |
| | | Message message = NOTE_JEB_BACKUP_RESTORED_FILE.get( |
| | | LocalizableMessage message = NOTE_JEB_BACKUP_RESTORED_FILE.get( |
| | | zipEntry.getName(), totalBytesRead); |
| | | logError(message); |
| | | } |
| | |
| | | { |
| | | if (!Arrays.equals(digest.digest(), hash)) |
| | | { |
| | | Message message = ERR_JEB_BACKUP_UNSIGNED_HASH_ERROR.get(backupID); |
| | | LocalizableMessage message = ERR_JEB_BACKUP_UNSIGNED_HASH_ERROR.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | | } |
| | |
| | | |
| | | if (!Arrays.equals(computedSignHash, signHash)) |
| | | { |
| | | Message message = ERR_JEB_BACKUP_SIGNED_HASH_ERROR.get(backupID); |
| | | LocalizableMessage message = ERR_JEB_BACKUP_SIGNED_HASH_ERROR.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | | } |
| | |
| | | // Finish the zip entry. |
| | | zipStream.closeEntry(); |
| | | |
| | | Message message = NOTE_JEB_BACKUP_ARCHIVED_FILE.get(zipEntry.getName()); |
| | | LocalizableMessage message = NOTE_JEB_BACKUP_ARCHIVED_FILE.get(zipEntry.getName()); |
| | | logError(message); |
| | | |
| | | return totalBytesRead; |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_JEB_BACKUP_CANNOT_GET_CIPHER.get( |
| | | LocalizableMessage message = ERR_JEB_BACKUP_CANNOT_GET_CIPHER.get( |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | BackupInfo backupInfo = backupDir.getBackupInfo(backupID); |
| | | if (backupInfo == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_JEB_BACKUP_MISSING_BACKUPID.get(backupDir.getPath(), backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |