| | |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.backends.task; |
| | | import org.opends.messages.Message; |
| | | |
| | | |
| | | |
| | |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.ExistingFileBehavior; |
| | | import org.opends.server.types.InitializationException; |
| | | import org.opends.server.types.LDIFImportConfig; |
| | |
| | | import org.opends.server.util.TimeThread; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.ErrorLogger.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.*; |
| | | import static org.opends.server.loggers.ErrorLogger.*; |
| | | import org.opends.server.loggers.debug.DebugTracer; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | |
| | |
| | | |
| | | if (recurringTasks.containsKey(id)) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_DUPLICATE_RECURRING_ID; |
| | | String message = getMessage(msgID, String.valueOf(id)); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_TASKSCHED_DUPLICATE_RECURRING_ID.get(String.valueOf(id)); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | | |
| | | recurringTasks.put(id, recurringTask); |
| | |
| | | (t.getRecurringTaskID().equals(recurringTaskID)) && |
| | | (! TaskState.isDone(t.getTaskState()))) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_REMOVE_RECURRING_EXISTING_ITERATION; |
| | | String message = getMessage(msgID, String.valueOf(recurringTaskID), |
| | | String.valueOf(t.getTaskID())); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_REMOVE_RECURRING_EXISTING_ITERATION. |
| | | get(String.valueOf(recurringTaskID), |
| | | String.valueOf(t.getTaskID())); |
| | | throw new DirectoryException( |
| | | ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (tasks.containsKey(id)) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_DUPLICATE_TASK_ID; |
| | | String message = getMessage(msgID, String.valueOf(id)); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_TASKSCHED_DUPLICATE_TASK_ID.get(String.valueOf(id)); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | | |
| | | tasks.put(id, task); |
| | |
| | | Task t = tasks.get(taskID); |
| | | if (t == null) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_REMOVE_PENDING_NO_SUCH_TASK; |
| | | String message = getMessage(msgID, String.valueOf(taskID)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, msgID); |
| | | Message message = ERR_TASKSCHED_REMOVE_PENDING_NO_SUCH_TASK.get( |
| | | String.valueOf(taskID)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | |
| | | if (TaskState.isPending(t.getTaskState())) |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_TASKSCHED_REMOVE_PENDING_NOT_PENDING; |
| | | String message = getMessage(msgID, String.valueOf(taskID)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_REMOVE_PENDING_NOT_PENDING.get( |
| | | String.valueOf(taskID)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | finally |
| | |
| | | } |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_REMOVE_COMPLETED_NO_SUCH_TASK; |
| | | String message = getMessage(msgID, String.valueOf(taskID)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, msgID); |
| | | Message message = ERR_TASKSCHED_REMOVE_COMPLETED_NO_SUCH_TASK.get( |
| | | String.valueOf(taskID)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | finally |
| | | { |
| | |
| | | if (recurringTask == null) |
| | | { |
| | | // This shouldn't happen, but handle it anyway. |
| | | int msgID = MSGID_TASKSCHED_CANNOT_FIND_RECURRING_TASK; |
| | | String message = getMessage(msgID, String.valueOf(taskID), |
| | | String.valueOf(recurringTaskID)); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_FIND_RECURRING_TASK.get( |
| | | String.valueOf(taskID), String.valueOf(recurringTaskID)); |
| | | logError(message); |
| | | |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_FIND_RECURRING_TASK, msgID, |
| | | message); |
| | | ALERT_TYPE_CANNOT_FIND_RECURRING_TASK, |
| | | message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_ERROR_SCHEDULING_RECURRING_ITERATION; |
| | | String message = getMessage(msgID, recurringTaskID, |
| | | de.getErrorMessage()); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = |
| | | ERR_TASKSCHED_ERROR_SCHEDULING_RECURRING_ITERATION. |
| | | get(recurringTaskID, de.getMessageObject()); |
| | | logError(message); |
| | | |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_SCHEDULE_RECURRING_ITERATION, msgID, |
| | | message); |
| | | ALERT_TYPE_CANNOT_SCHEDULE_RECURRING_ITERATION, |
| | | message); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | for (TaskThread thread : idleThreads) |
| | | { |
| | | int msgID = MSGID_TASKBE_INTERRUPTED_BY_SHUTDOWN; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_TASKBE_INTERRUPTED_BY_SHUTDOWN.get(); |
| | | thread.interruptTask(TaskState.STOPPED_BY_SHUTDOWN, message, true); |
| | | } |
| | | } |
| | |
| | | * |
| | | * @param interruptState The state that should be assigned to the tasks if |
| | | * they are successfully interrupted. |
| | | * @param interruptReason A human-readable message indicating the reason |
| | | * that the tasks are to be interrupted. |
| | | * @param interruptReason A message indicating the reason that the tasks |
| | | * are to be interrupted. |
| | | * @param waitForStop Indicates whether this method should wait until |
| | | * all active tasks have stopped before returning. |
| | | */ |
| | | public void interruptRunningTasks(TaskState interruptState, |
| | | String interruptReason, boolean waitForStop) |
| | | Message interruptReason, |
| | | boolean waitForStop) |
| | | { |
| | | // Grab a copy of the running threads so that we can operate on them without |
| | | // holding the lock. |
| | |
| | | |
| | | if (le.canContinueReading()) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_CANNOT_PARSE_ENTRY_RECOVERABLE; |
| | | String message = getMessage(msgID, backingFilePath, |
| | | le.getLineNumber(), le.getMessage()); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_PARSE_ENTRY_RECOVERABLE.get( |
| | | backingFilePath, le.getLineNumber(), le.getMessage()); |
| | | logError(message); |
| | | |
| | | continue; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_PARSE_ENTRY_FATAL; |
| | | String message = getMessage(msgID, backingFilePath, |
| | | le.getLineNumber(), le.getMessage()); |
| | | throw new InitializationException(msgID, message); |
| | | Message message = ERR_TASKSCHED_CANNOT_PARSE_ENTRY_FATAL.get( |
| | | backingFilePath, le.getLineNumber(), le.getMessage()); |
| | | throw new InitializationException(message); |
| | | } |
| | | } |
| | | |
| | |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | | if (parentDN == null) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_ENTRY_HAS_NO_PARENT; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | String.valueOf(taskBackend.getTaskRootDN())); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_TASKSCHED_ENTRY_HAS_NO_PARENT. |
| | | get(String.valueOf(entryDN), |
| | | String.valueOf(taskBackend.getTaskRootDN())); |
| | | logError(message); |
| | | } |
| | | else if (parentDN.equals(taskBackend.getRecurringTasksParentDN())) |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = |
| | | MSGID_TASKSCHED_CANNOT_SCHEDULE_RECURRING_TASK_FROM_ENTRY; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | de.getErrorMessage()); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = |
| | | ERR_TASKSCHED_CANNOT_SCHEDULE_RECURRING_TASK_FROM_ENTRY. |
| | | get(String.valueOf(entryDN), de.getMessageObject()); |
| | | logError(message); |
| | | } |
| | | } |
| | | else if (parentDN.equals(taskBackend.getScheduledTasksParentDN())) |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_SCHEDULE_TASK_FROM_ENTRY; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | de.getErrorMessage()); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_SCHEDULE_TASK_FROM_ENTRY. |
| | | get(String.valueOf(entryDN), de.getMessageObject()); |
| | | logError(message); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_TASKSCHED_INVALID_TASK_ENTRY_DN; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | backingFilePath); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_TASKSCHED_INVALID_TASK_ENTRY_DN.get( |
| | | String.valueOf(entryDN), backingFilePath); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_ERROR_READING_TASK_BACKING_FILE; |
| | | String message = getMessage(msgID, String.valueOf(backingFilePath), |
| | | stackTraceToSingleLineString(ioe)); |
| | | throw new InitializationException(msgID, message, ioe); |
| | | Message message = ERR_TASKSCHED_ERROR_READING_TASK_BACKING_FILE.get( |
| | | String.valueOf(backingFilePath), stackTraceToSingleLineString(ioe)); |
| | | throw new InitializationException(message, ioe); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | // First, write a header to the top of the file to indicate that it should |
| | | // not be manually edited. |
| | | writer.writeComment(getMessage(MSGID_TASKBE_BACKING_FILE_HEADER), 80); |
| | | writer.writeComment(INFO_TASKBE_BACKING_FILE_HEADER.get(), 80); |
| | | |
| | | |
| | | // Next, create the required hierarchical entries and add them to the |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_CREATE_BACKING_FILE; |
| | | String message = getMessage(msgID, backingFile, |
| | | stackTraceToSingleLineString(ioe)); |
| | | throw new InitializationException(msgID, message, ioe); |
| | | Message message = ERR_TASKSCHED_CANNOT_CREATE_BACKING_FILE.get( |
| | | backingFile, stackTraceToSingleLineString(ioe)); |
| | | throw new InitializationException(message, ioe); |
| | | } |
| | | catch (LDIFException le) |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_CREATE_BACKING_FILE; |
| | | String message = getMessage(msgID, backingFile, le.getMessage()); |
| | | throw new InitializationException(msgID, message, le); |
| | | Message message = ERR_TASKSCHED_CANNOT_CREATE_BACKING_FILE.get( |
| | | backingFile, le.getMessage()); |
| | | throw new InitializationException(message, le); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | // First, write a header to the top of the file to indicate that it should |
| | | // not be manually edited. |
| | | writer.writeComment(getMessage(MSGID_TASKBE_BACKING_FILE_HEADER), 80); |
| | | writer.writeComment(INFO_TASKBE_BACKING_FILE_HEADER.get(), 80); |
| | | |
| | | |
| | | // Next, write the structural entries to the top of the LDIF. |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_RENAME_CURRENT_BACKING_FILE; |
| | | String message = getMessage(msgID, String.valueOf(backingFilePath), |
| | | String.valueOf(saveFile.getAbsolutePath()), |
| | | stackTraceToSingleLineString(e)); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_WARNING, |
| | | message, msgID); |
| | | Message message = WARN_TASKSCHED_CANNOT_RENAME_CURRENT_BACKING_FILE. |
| | | get(String.valueOf(backingFilePath), |
| | | String.valueOf(saveFile.getAbsolutePath()), |
| | | stackTraceToSingleLineString(e)); |
| | | logError(message); |
| | | |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_RENAME_CURRENT_TASK_FILE, msgID, |
| | | message); |
| | | ALERT_TYPE_CANNOT_RENAME_CURRENT_TASK_FILE, |
| | | message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_RENAME_NEW_BACKING_FILE; |
| | | String message = getMessage(msgID, String.valueOf(tmpFilePath), |
| | | String.valueOf(backingFilePath), |
| | | stackTraceToSingleLineString(e)); |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_RENAME_NEW_BACKING_FILE. |
| | | get(String.valueOf(tmpFilePath), String.valueOf(backingFilePath), |
| | | stackTraceToSingleLineString(e)); |
| | | logError(message); |
| | | |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_RENAME_NEW_TASK_FILE, msgID, |
| | | message); |
| | | ALERT_TYPE_CANNOT_RENAME_NEW_TASK_FILE, |
| | | message); |
| | | } |
| | | } |
| | | catch (IOException ioe) |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, ioe); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE; |
| | | String message = getMessage(msgID, tmpFilePath, |
| | | stackTraceToSingleLineString(ioe)); |
| | | |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_WRITE_BACKING_FILE.get( |
| | | tmpFilePath, stackTraceToSingleLineString(ioe)); |
| | | logError(message); |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_WRITE_TASK_FILE, msgID, message); |
| | | ALERT_TYPE_CANNOT_WRITE_TASK_FILE, message); |
| | | } |
| | | catch (LDIFException le) |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE; |
| | | String message = getMessage(msgID, tmpFilePath, le.getMessage()); |
| | | |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_WRITE_BACKING_FILE.get( |
| | | tmpFilePath, le.getMessage()); |
| | | logError(message); |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_WRITE_TASK_FILE, msgID, message); |
| | | ALERT_TYPE_CANNOT_WRITE_TASK_FILE, message); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_WRITE_BACKING_FILE; |
| | | String message = getMessage(msgID, tmpFilePath, |
| | | stackTraceToSingleLineString(e)); |
| | | |
| | | logError(ErrorLogCategory.TASK, ErrorLogSeverity.SEVERE_ERROR, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_CANNOT_WRITE_BACKING_FILE.get( |
| | | tmpFilePath, stackTraceToSingleLineString(e)); |
| | | logError(message); |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_WRITE_TASK_FILE, msgID, message); |
| | | ALERT_TYPE_CANNOT_WRITE_TASK_FILE, message); |
| | | } |
| | | finally |
| | | { |
| | |
| | | |
| | | if (lock == null) |
| | | { |
| | | int msgID = MSGID_BACKEND_CANNOT_LOCK_ENTRY; |
| | | String message = getMessage(msgID, String.valueOf(entryDN)); |
| | | Message message = |
| | | ERR_BACKEND_CANNOT_LOCK_ENTRY.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | else |
| | | { |
| | |
| | | List<Attribute> attrList = entry.getAttribute(attrType); |
| | | if ((attrList == null) || attrList.isEmpty()) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_NO_CLASS_ATTRIBUTE; |
| | | String message = getMessage(msgID, ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_NO_CLASS_ATTRIBUTE.get(ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | if (attrList.size() > 1) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_MULTIPLE_CLASS_TYPES; |
| | | String message = getMessage(msgID, ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_MULTIPLE_CLASS_TYPES.get(ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | Attribute attr = attrList.get(0); |
| | | LinkedHashSet<AttributeValue> values = attr.getValues(); |
| | | if ((values == null) || values.isEmpty()) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_NO_CLASS_VALUES; |
| | | String message = getMessage(msgID, ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_NO_CLASS_VALUES.get(ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | Iterator<AttributeValue> iterator = values.iterator(); |
| | | AttributeValue value = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_MULTIPLE_CLASS_VALUES; |
| | | String message = getMessage(msgID, ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.OBJECTCLASS_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_MULTIPLE_CLASS_VALUES.get(ATTR_TASK_ID); |
| | | throw new DirectoryException(ResultCode.OBJECTCLASS_VIOLATION, message); |
| | | } |
| | | |
| | | String taskClassName = value.getStringValue(); |
| | | if (! DirectoryServer.getAllowedTasks().contains(taskClassName)) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_NOT_ALLOWED_TASK; |
| | | String message = getMessage(msgID, taskClassName); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_TASKSCHED_NOT_ALLOWED_TASK.get(taskClassName); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_LOAD_CLASS; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | | ATTR_TASK_CLASS, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_TASKSCHED_CANNOT_LOAD_CLASS. |
| | | get(String.valueOf(taskClassName), ATTR_TASK_CLASS, |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_INSTANTIATE_CLASS_AS_TASK; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName)); |
| | | Message message = ERR_TASKSCHED_CANNOT_INSTANTIATE_CLASS_AS_TASK.get( |
| | | String.valueOf(taskClassName), Task.class.getName()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, ie); |
| | | } |
| | | |
| | | int msgID = MSGID_TASKSCHED_CANNOT_INITIALIZE_INTERNAL; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | | ie.getMessage()); |
| | | Message message = ERR_TASKSCHED_CANNOT_INITIALIZE_INTERNAL.get( |
| | | String.valueOf(taskClassName), ie.getMessage()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_TASKSCHED_CANNOT_INITIALIZE_INTERNAL; |
| | | String message = getMessage(msgID, String.valueOf(taskClassName), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_TASKSCHED_CANNOT_INITIALIZE_INTERNAL.get( |
| | | String.valueOf(taskClassName), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | |