| | |
| | | * CDDL HEADER END |
| | | * |
| | | * |
| | | * Portions Copyright 2006 Sun Microsystems, Inc. |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.protocols.ldap; |
| | | |
| | |
| | | import org.opends.server.protocols.asn1.ASN1OctetString; |
| | | import org.opends.server.protocols.asn1.ASN1Sequence; |
| | | |
| | | import static org.opends.server.loggers.Debug.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugCought; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.protocols.ldap.LDAPConstants.*; |
| | |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | | |
| | | |
| | | /** |
| | | * This class defines the structures and methods for an LDAP modify DN request |
| | | * protocol op, which is used to move or rename an entry or subtree within the |
| | |
| | | public class ModifyDNRequestProtocolOp |
| | | extends ProtocolOp |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class to use for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.protocols.ldap.ModifyDNRequestProtocolOp"; |
| | | |
| | | |
| | | |
| | |
| | | public ModifyDNRequestProtocolOp(ASN1OctetString entryDN, |
| | | ASN1OctetString newRDN, boolean deleteOldRDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, String.valueOf(entryDN), |
| | | String.valueOf(newRDN), String.valueOf(deleteOldRDN)); |
| | | |
| | | this.entryDN = entryDN; |
| | | this.newRDN = newRDN; |
| | |
| | | ASN1OctetString newRDN, boolean deleteOldRDN, |
| | | ASN1OctetString newSuperior) |
| | | { |
| | | assert debugEnter(CLASS_NAME, String.valueOf(entryDN), |
| | | String.valueOf(newRDN), String.valueOf(deleteOldRDN), |
| | | String.valueOf(newSuperior)); |
| | | |
| | | this.entryDN = entryDN; |
| | | this.newRDN = newRDN; |
| | |
| | | */ |
| | | public ASN1OctetString getEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryDN"); |
| | | |
| | | return entryDN; |
| | | } |
| | |
| | | */ |
| | | public void setEntryDN(ASN1OctetString entryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setEntryDN", String.valueOf(entryDN)); |
| | | |
| | | this.entryDN = entryDN; |
| | | } |
| | |
| | | */ |
| | | public ASN1OctetString getNewRDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNewRDN"); |
| | | |
| | | return newRDN; |
| | | } |
| | |
| | | */ |
| | | public void setNewRDN(ASN1OctetString newRDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setNewRDN", String.valueOf(newRDN)); |
| | | |
| | | this.newRDN = newRDN; |
| | | } |
| | |
| | | */ |
| | | public boolean deleteOldRDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteOldRDN"); |
| | | |
| | | return deleteOldRDN; |
| | | } |
| | |
| | | */ |
| | | public void setDeleteOldRDN(boolean deleteOldRDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setDeleteOldRDN", |
| | | String.valueOf(deleteOldRDN)); |
| | | |
| | | this.deleteOldRDN = deleteOldRDN; |
| | | } |
| | |
| | | */ |
| | | public ASN1OctetString getNewSuperior() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNewSuperior"); |
| | | |
| | | return newSuperior; |
| | | } |
| | |
| | | */ |
| | | public void setNewSuperior(ASN1OctetString newSuperior) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setNewSuperior", |
| | | String.valueOf(newSuperior)); |
| | | |
| | | this.newSuperior = newSuperior; |
| | | } |
| | |
| | | */ |
| | | public byte getType() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getType"); |
| | | |
| | | return OP_TYPE_MODIFY_DN_REQUEST; |
| | | } |
| | |
| | | */ |
| | | public String getProtocolOpName() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getProtocolOpName"); |
| | | |
| | | return "Modify DN Request"; |
| | | } |
| | |
| | | */ |
| | | public ASN1Element encode() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "encode"); |
| | | |
| | | ArrayList<ASN1Element> elements = new ArrayList<ASN1Element>(4); |
| | | elements.add(entryDN); |
| | |
| | | element) |
| | | throws LDAPException |
| | | { |
| | | assert debugEnter(CLASS_NAME, "decodeModifyDNRequest", |
| | | String.valueOf(element)); |
| | | |
| | | ArrayList<ASN1Element> elements; |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeModifyDNRequest", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_SEQUENCE; |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_SEQUENCE; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | throw new LDAPException(PROTOCOL_ERROR, msgID, message, e); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeModifyDNRequest", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_DN; |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_DN; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | throw new LDAPException(PROTOCOL_ERROR, msgID, message, e); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeModifyDNRequest", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_RDN; |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_RDN; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | throw new LDAPException(PROTOCOL_ERROR, msgID, message, e); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeModifyDNRequest", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_DELETE_OLD_RDN; |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_DELETE_OLD_RDN; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | throw new LDAPException(PROTOCOL_ERROR, msgID, message, e); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "decodeModifyDNRequest", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_SUPERIOR; |
| | | int msgID = MSGID_LDAP_MODIFY_DN_REQUEST_DECODE_NEW_SUPERIOR; |
| | | String message = getMessage(msgID, String.valueOf(e)); |
| | | throw new LDAPException(PROTOCOL_ERROR, msgID, message, e); |
| | | } |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("ModifyDNRequest(dn="); |
| | | entryDN.toString(buffer); |
| | |
| | | */ |
| | | public void toString(StringBuilder buffer, int indent) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder", |
| | | String.valueOf(indent)); |
| | | |
| | | StringBuilder indentBuf = new StringBuilder(indent); |
| | | for (int i=0 ; i < indent; i++) |