| | |
| | | |
| | | import javax.crypto.Mac; |
| | | |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.opends.server.admin.Configuration; |
| | | import org.opends.server.admin.server.ConfigurationChangeListener; |
| | | import org.opends.server.admin.std.server.TaskBackendCfg; |
| | |
| | | // We will only allow one base for task entries. |
| | | if ((baseDNs == null) || (baseDNs.length == 0)) |
| | | { |
| | | Message message = ERR_TASKBE_NO_BASE_DNS.get(); |
| | | LocalizableMessage message = ERR_TASKBE_NO_BASE_DNS.get(); |
| | | throw new ConfigException(message); |
| | | } |
| | | else if (baseDNs.length > 1) |
| | | { |
| | | Message message = ERR_TASKBE_MULTIPLE_BASE_DNS.get(); |
| | | LocalizableMessage message = ERR_TASKBE_MULTIPLE_BASE_DNS.get(); |
| | | throw new ConfigException(message); |
| | | } |
| | | else |
| | |
| | | } |
| | | |
| | | // This should never happen. |
| | | Message message = ERR_TASKBE_CANNOT_DECODE_RECURRING_TASK_BASE_DN.get( |
| | | LocalizableMessage message = ERR_TASKBE_CANNOT_DECODE_RECURRING_TASK_BASE_DN.get( |
| | | String.valueOf(recurringTaskBaseString), getExceptionMessage(e)); |
| | | throw new ConfigException(message, e); |
| | | } |
| | |
| | | } |
| | | |
| | | // This should never happen. |
| | | Message message = ERR_TASKBE_CANNOT_DECODE_SCHEDULED_TASK_BASE_DN.get( |
| | | LocalizableMessage message = ERR_TASKBE_CANNOT_DECODE_SCHEDULED_TASK_BASE_DN.get( |
| | | String.valueOf(scheduledTaskBaseString), getExceptionMessage(e)); |
| | | throw new ConfigException(message, e); |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get( |
| | | LocalizableMessage message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get( |
| | | taskRootDN.toString(), getExceptionMessage(e)); |
| | | throw new InitializationException(message, e); |
| | | } |
| | |
| | | try |
| | | { |
| | | |
| | | Message message = INFO_TASKBE_INTERRUPTED_BY_SHUTDOWN.get(); |
| | | LocalizableMessage message = INFO_TASKBE_INTERRUPTED_BY_SHUTDOWN.get(); |
| | | |
| | | taskScheduler.interruptRunningTasks(TaskState.STOPPED_BY_SHUTDOWN, |
| | | message, true); |
| | |
| | | |
| | | if (parentDN == null) |
| | | { |
| | | Message message = ERR_TASKBE_ADD_DISALLOWED_DN. |
| | | LocalizableMessage message = ERR_TASKBE_ADD_DISALLOWED_DN. |
| | | get(String.valueOf(scheduledTaskParentDN), |
| | | String.valueOf(recurringTaskParentDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | |
| | | } |
| | | |
| | | // We won't allow the entry to be added. |
| | | Message message = ERR_TASKBE_ADD_DISALLOWED_DN. |
| | | LocalizableMessage message = ERR_TASKBE_ADD_DISALLOWED_DN. |
| | | get(String.valueOf(scheduledTaskParentDN), |
| | | String.valueOf(recurringTaskParentDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | | if (parentDN == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_DELETE_INVALID_ENTRY.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | |
| | | Task t = taskScheduler.getScheduledTask(entryDN); |
| | | if (t == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_DELETE_NO_SUCH_TASK.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_DELETE_RUNNING.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | |
| | | RecurringTask rt = taskScheduler.getRecurringTask(entryDN); |
| | | if (rt == null) |
| | | { |
| | | Message message = ERR_TASKBE_DELETE_NO_SUCH_RECURRING_TASK.get( |
| | | LocalizableMessage message = ERR_TASKBE_DELETE_NO_SUCH_RECURRING_TASK.get( |
| | | String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_DELETE_INVALID_ENTRY.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | | if (parentDN == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_INVALID_ENTRY.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | |
| | | Task t = taskScheduler.getScheduledTask(entryDN); |
| | | if (t == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_NO_SUCH_TASK.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | |
| | | if (acceptable) |
| | | { |
| | | Message message = INFO_TASKBE_RUNNING_TASK_CANCELLED.get(); |
| | | LocalizableMessage message = INFO_TASKBE_RUNNING_TASK_CANCELLED.get(); |
| | | t.interruptTask(TaskState.STOPPED_BY_ADMINISTRATOR, message); |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_RUNNING.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message); |
| | |
| | | else if (newTask.getTaskState() == |
| | | TaskState.STOPPED_BY_ADMINISTRATOR) |
| | | { |
| | | Message message = INFO_TASKBE_RUNNING_TASK_CANCELLED.get(); |
| | | LocalizableMessage message = INFO_TASKBE_RUNNING_TASK_CANCELLED.get(); |
| | | t.interruptTask(TaskState.STOPPED_BY_ADMINISTRATOR, message); |
| | | } |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_RECURRING.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException( |
| | | ResultCode.UNWILLING_TO_PERFORM, message); |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_COMPLETED.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message); |
| | |
| | | else if (parentDN.equals(recurringTaskParentDN)) |
| | | { |
| | | // We don't currently support altering recurring tasks. |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_RECURRING.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_MODIFY_INVALID_ENTRY.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | Message message = ERR_TASKBE_MODIFY_DN_NOT_SUPPORTED.get(); |
| | | LocalizableMessage message = ERR_TASKBE_MODIFY_DN_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | |
| | | DN parentDN = baseDN.getParentDNInSuffix(); |
| | | if (parentDN == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_SEARCH_INVALID_BASE.get(String.valueOf(baseDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | Entry e = taskScheduler.getScheduledTaskEntry(baseDN); |
| | | if (e == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_SEARCH_NO_SUCH_TASK.get(String.valueOf(baseDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, |
| | | scheduledTaskParentDN, null); |
| | |
| | | Entry e = taskScheduler.getRecurringTaskEntry(baseDN); |
| | | if (e == null) |
| | | { |
| | | Message message = ERR_TASKBE_SEARCH_NO_SUCH_RECURRING_TASK.get( |
| | | LocalizableMessage message = ERR_TASKBE_SEARCH_NO_SUCH_RECURRING_TASK.get( |
| | | String.valueOf(baseDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, |
| | | recurringTaskParentDN, null); |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKBE_SEARCH_INVALID_BASE.get(String.valueOf(baseDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_CANNOT_EXPORT_TO_FILE.get(String.valueOf(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_TASKS_CANNOT_EXPORT_TO_FILE.get( |
| | | LocalizableMessage message = ERR_TASKS_CANNOT_EXPORT_TO_FILE.get( |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | |
| | | { |
| | | if (! le.canContinueReading()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_CANNOT_EXPORT_TO_FILE.get(String.valueOf(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), |
| | |
| | | throws DirectoryException |
| | | { |
| | | // This backend does not support LDIF imports. |
| | | Message message = ERR_TASKBE_IMPORT_NOT_SUPPORTED.get(); |
| | | LocalizableMessage message = ERR_TASKBE_IMPORT_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_TASKS_BACKUP_CANNOT_GET_MAC.get( |
| | | LocalizableMessage message = ERR_TASKS_BACKUP_CANNOT_GET_MAC.get( |
| | | macKeyID, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_TASKS_BACKUP_CANNOT_GET_DIGEST.get( |
| | | LocalizableMessage message = ERR_TASKS_BACKUP_CANNOT_GET_DIGEST.get( |
| | | digestAlgorithm, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_TASKS_BACKUP_CANNOT_CREATE_ARCHIVE_FILE. |
| | | LocalizableMessage message = ERR_TASKS_BACKUP_CANNOT_CREATE_ARCHIVE_FILE. |
| | | get(String.valueOf(filename), backupDirectory.getPath(), |
| | | getExceptionMessage(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_TASKS_BACKUP_CANNOT_GET_CIPHER.get( |
| | | LocalizableMessage message = ERR_TASKS_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_TASKS_BACKUP_ZIP_COMMENT.get( |
| | | LocalizableMessage message = ERR_TASKS_BACKUP_ZIP_COMMENT.get( |
| | | DynamicConstants.PRODUCT_NAME, |
| | | backupID); |
| | | zipStream.setComment(String.valueOf(message)); |
| | |
| | | BackupInfo backupInfo = backupDirectory.getBackupInfo(backupID); |
| | | if (backupInfo == null) |
| | | { |
| | | Message message = ERR_BACKUP_MISSING_BACKUPID.get( |
| | | LocalizableMessage message = ERR_BACKUP_MISSING_BACKUPID.get( |
| | | backupDirectory.getPath(), backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = ERR_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR.get( |
| | | LocalizableMessage message = ERR_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR.get( |
| | | backupDirectory.getDescriptorPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | |
| | | if (backupInfo == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_RESTORE_NO_SUCH_BACKUP.get(backupID, backupPath); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_ARCHIVE_FILENAME); |
| | | if (backupFilename == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_RESTORE_NO_BACKUP_FILE.get(backupID, backupPath); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | |
| | | { |
| | | if (! backupFile.exists()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_RESTORE_NO_SUCH_FILE.get(backupID, backupFile.getPath()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_CHECK_FOR_ARCHIVE.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_CHECK_FOR_ARCHIVE.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_DIGEST_ALGORITHM); |
| | | if (digestAlgorithm == null) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_UNKNOWN_DIGEST.get(backupID); |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_UNKNOWN_DIGEST.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_RESTORE_CANNOT_GET_DIGEST.get(backupID, digestAlgorithm); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_MAC_KEY_ID); |
| | | if (macKeyID == null) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_UNKNOWN_MAC.get(backupID); |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_UNKNOWN_MAC.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_GET_MAC.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_GET_MAC.get( |
| | | backupID, macKeyID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_OPEN_BACKUP_FILE.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_OPEN_BACKUP_FILE.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (CryptoManagerException e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_GET_CIPHER.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_GET_CIPHER.get( |
| | | backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_GET_ZIP_ENTRY.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_GET_ZIP_ENTRY.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_CREATE_FILE.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_CREATE_FILE.get( |
| | | backupID, filePath, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_CANNOT_PROCESS_ARCHIVE_FILE.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_CANNOT_PROCESS_ARCHIVE_FILE.get( |
| | | backupID, fileName, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE.get( |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, e); |
| | |
| | | byte[] calculatedHash = digest.digest(); |
| | | if (Arrays.equals(calculatedHash, unsignedHash)) |
| | | { |
| | | Message message = NOTE_TASKS_RESTORE_UNSIGNED_HASH_VALID.get(); |
| | | LocalizableMessage message = NOTE_TASKS_RESTORE_UNSIGNED_HASH_VALID.get(); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASKS_RESTORE_UNSIGNED_HASH_INVALID.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | |
| | | byte[] calculatedSignature = mac.doFinal(); |
| | | if (Arrays.equals(calculatedSignature, signedHash)) |
| | | { |
| | | Message message = NOTE_TASKS_RESTORE_SIGNED_HASH_VALID.get(); |
| | | LocalizableMessage message = NOTE_TASKS_RESTORE_SIGNED_HASH_VALID.get(); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | | Message message = ERR_TASKS_RESTORE_SIGNED_HASH_INVALID.get(backupID); |
| | | LocalizableMessage message = ERR_TASKS_RESTORE_SIGNED_HASH_INVALID.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message); |
| | | } |
| | |
| | | // If we are just verifying the archive, then we're done. |
| | | if (verifyOnly) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | NOTE_TASKS_RESTORE_VERIFY_SUCCESSFUL.get(backupID, backupPath); |
| | | logError(message); |
| | | return; |
| | | } |
| | | |
| | | // If we've gotten here, then the archive was restored successfully. |
| | | Message message = NOTE_TASKS_RESTORE_SUCCESSFUL.get(backupID, backupPath); |
| | | LocalizableMessage message = NOTE_TASKS_RESTORE_SUCCESSFUL.get(backupID, backupPath); |
| | | logError(message); |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override() |
| | | public boolean isConfigurationAcceptable(Configuration configuration, |
| | | List<Message> unacceptableReasons) |
| | | List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | | TaskBackendCfg config = (TaskBackendCfg) configuration; |
| | | return isConfigAcceptable(config, unacceptableReasons, null); |
| | |
| | | */ |
| | | @Override |
| | | public boolean isConfigurationChangeAcceptable(TaskBackendCfg configEntry, |
| | | List<Message> unacceptableReasons) |
| | | List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | | return isConfigAcceptable(configEntry, unacceptableReasons, |
| | | taskBackingFile); |
| | |
| | | * if not. |
| | | */ |
| | | private static boolean isConfigAcceptable(TaskBackendCfg config, |
| | | List<Message> unacceptableReasons, |
| | | List<LocalizableMessage> unacceptableReasons, |
| | | String taskBackingFile) |
| | | { |
| | | boolean configIsAcceptable = true; |
| | |
| | | { |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | | boolean adminActionRequired = false; |
| | | ArrayList<Message> messages = new ArrayList<Message>(); |
| | | ArrayList<LocalizableMessage> messages = new ArrayList<LocalizableMessage>(); |
| | | |
| | | |
| | | String tmpBackingFile = taskBackingFile; |