| | |
| | | * |
| | | * |
| | | * Copyright 2008-2009 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | */ |
| | | package org.opends.server.tasks; |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | |
| | | |
| | | |
| | |
| | | private long connectionID; |
| | | |
| | | // The disconnect message to send to the client. |
| | | private Message disconnectMessage; |
| | | private LocalizableMessage disconnectMessage; |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | @Override |
| | | public Message getDisplayName() { |
| | | public LocalizableMessage getDisplayName() { |
| | | return INFO_TASK_DISCONNECT_CLIENT_NAME.get(); |
| | | } |
| | | |
| | |
| | | ClientConnection conn = operation.getClientConnection(); |
| | | if (! conn.hasPrivilege(Privilege.DISCONNECT_CLIENT, operation)) |
| | | { |
| | | Message message = ERR_TASK_DISCONNECT_NO_PRIVILEGE.get(); |
| | | LocalizableMessage message = ERR_TASK_DISCONNECT_NO_PRIVILEGE.get(); |
| | | throw new DirectoryException(ResultCode.INSUFFICIENT_ACCESS_RIGHTS, |
| | | message); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASK_DISCONNECT_INVALID_CONN_ID.get(v.getValue().toString()); |
| | | throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, |
| | | message, e); |
| | |
| | | |
| | | if (connectionID < 0) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASK_DISCONNECT_NO_CONN_ID.get(ATTR_TASK_DISCONNECT_CONN_ID); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, |
| | | message); |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASK_DISCONNECT_INVALID_NOTIFY_CLIENT.get(stringValue); |
| | | throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, |
| | | message); |
| | |
| | | { |
| | | for (AttributeValue v : a) |
| | | { |
| | | disconnectMessage = Message.raw(v.getValue().toString()); |
| | | disconnectMessage = LocalizableMessage.raw(v.getValue().toString()); |
| | | break disconnectMessageLoop; |
| | | } |
| | | } |
| | |
| | | // terminate it. |
| | | if (clientConnection == null) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_TASK_DISCONNECT_NO_SUCH_CONNECTION.get( |
| | | String.valueOf(connectionID)); |
| | | logError(message); |