| | |
| | | |
| | | import static org.opends.server.core.CoreConstants.*; |
| | | import static org.opends.server.loggers.Access.*; |
| | | 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.loggers.Error.*; |
| | | import static org.opends.server.messages.CoreMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | |
| | | implements PreParseModifyDNOperation, PreOperationModifyDNOperation, |
| | | PostOperationModifyDNOperation, PostResponseModifyDNOperation |
| | | { |
| | | /** |
| | | * The fully-qualified name of this class for debugging purposes. |
| | | */ |
| | | private static final String CLASS_NAME = |
| | | "org.opends.server.core.ModifyDNOperation"; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | super(clientConnection, operationID, messageID, requestControls); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(clientConnection), |
| | | String.valueOf(operationID), |
| | | String.valueOf(messageID), |
| | | String.valueOf(requestControls), |
| | | String.valueOf(rawEntryDN), |
| | | String.valueOf(rawNewRDN), |
| | | String.valueOf(deleteOldRDN), |
| | | String.valueOf(rawNewSuperior) |
| | | }); |
| | | |
| | | this.rawEntryDN = rawEntryDN; |
| | | this.rawNewRDN = rawNewRDN; |
| | |
| | | { |
| | | super(clientConnection, operationID, messageID, requestControls); |
| | | |
| | | assert debugConstructor(CLASS_NAME, |
| | | new String[] |
| | | { |
| | | String.valueOf(clientConnection), |
| | | String.valueOf(operationID), |
| | | String.valueOf(messageID), |
| | | String.valueOf(requestControls), |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newRDN), |
| | | String.valueOf(deleteOldRDN), |
| | | String.valueOf(newSuperior) |
| | | }); |
| | | |
| | | this.entryDN = entryDN; |
| | | this.newRDN = newRDN; |
| | |
| | | */ |
| | | public final ByteString getRawEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawEntryDN"); |
| | | |
| | | return rawEntryDN; |
| | | } |
| | |
| | | */ |
| | | public final void setRawEntryDN(ByteString rawEntryDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawEntryDN"); |
| | | |
| | | this.rawEntryDN = rawEntryDN; |
| | | |
| | |
| | | */ |
| | | public final DN getEntryDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getEntryDN"); |
| | | |
| | | return entryDN; |
| | | } |
| | |
| | | */ |
| | | public final ByteString getRawNewRDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawNewRDN"); |
| | | |
| | | return rawNewRDN; |
| | | } |
| | |
| | | */ |
| | | public final void setRawNewRDN(ByteString rawNewRDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawNewRDN", String.valueOf(rawNewRDN)); |
| | | |
| | | this.rawNewRDN = rawNewRDN; |
| | | |
| | |
| | | */ |
| | | public final RDN getNewRDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNewRDN"); |
| | | |
| | | return newRDN; |
| | | } |
| | |
| | | */ |
| | | public final boolean deleteOldRDN() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "deleteOldRDN"); |
| | | |
| | | return deleteOldRDN; |
| | | } |
| | |
| | | */ |
| | | public final void setDeleteOldRDN(boolean deleteOldRDN) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setDeleteOldRDN", |
| | | String.valueOf(deleteOldRDN)); |
| | | |
| | | this.deleteOldRDN = deleteOldRDN; |
| | | } |
| | |
| | | */ |
| | | public final ByteString getRawNewSuperior() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getRawNewSuperior"); |
| | | |
| | | return rawNewSuperior; |
| | | } |
| | |
| | | */ |
| | | public final void setRawNewSuperior(ByteString rawNewSuperior) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setRawNewSuperior", |
| | | String.valueOf(rawNewSuperior)); |
| | | |
| | | this.rawNewSuperior = rawNewSuperior; |
| | | |
| | |
| | | */ |
| | | public final DN getNewSuperior() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getNewSuperior"); |
| | | |
| | | return newSuperior; |
| | | } |
| | |
| | | */ |
| | | public final List<Modification> getModifications() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getModifications"); |
| | | |
| | | return modifications; |
| | | } |
| | |
| | | */ |
| | | public final void addModification(Modification modification) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "addModification", |
| | | String.valueOf(modification)); |
| | | |
| | | modifications.add(modification); |
| | | } |
| | |
| | | */ |
| | | public final Entry getOriginalEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getOriginalEntry"); |
| | | |
| | | return currentEntry; |
| | | } |
| | |
| | | */ |
| | | public final Entry getUpdatedEntry() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getUpdatedEntry"); |
| | | |
| | | return newEntry; |
| | | } |
| | |
| | | @Override() |
| | | public final long getProcessingStartTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getProcessingStartTime"); |
| | | |
| | | return processingStartTime; |
| | | } |
| | |
| | | @Override() |
| | | public final long getProcessingStopTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getProcessingStopTime"); |
| | | |
| | | return processingStopTime; |
| | | } |
| | |
| | | @Override() |
| | | public final long getProcessingTime() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getProcessingTime"); |
| | | |
| | | return (processingStopTime - processingStartTime); |
| | | } |
| | |
| | | */ |
| | | public final long getChangeNumber() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getChangeNumber"); |
| | | |
| | | return changeNumber; |
| | | } |
| | |
| | | */ |
| | | public final void setChangeNumber(long changeNumber) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setChangeNumber", |
| | | String.valueOf(changeNumber)); |
| | | |
| | | this.changeNumber = changeNumber; |
| | | } |
| | |
| | | @Override() |
| | | public final List<Control> getResponseControls() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getResponseControls"); |
| | | |
| | | return responseControls; |
| | | } |
| | |
| | | @Override() |
| | | public final void run() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "run"); |
| | | |
| | | setResultCode(ResultCode.UNDEFINED); |
| | | |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | LockManager.unlock(entryDN, currentLock); |
| | | |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | break; |
| | | } |
| | | |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | appendErrorMessage(le.getMessage()); |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | appendErrorMessage(le.getMessage()); |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | appendErrorMessage(le.getMessage()); |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | appendErrorMessage(le.getMessage()); |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", le); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, le); |
| | | } |
| | | |
| | | setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | appendErrorMessage(le.getMessage()); |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | setResultCode(de.getResultCode()); |
| | | appendErrorMessage(de.getErrorMessage()); |
| | |
| | | } |
| | | catch (CancelledOperationException coe) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", coe); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, coe); |
| | | } |
| | | |
| | | CancelResult cancelResult = coe.getCancelResult(); |
| | | |
| | |
| | | } |
| | | catch (DirectoryException de) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", de); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MODDN_ERROR_NOTIFYING_CHANGE_LISTENER; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "run", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MODDN_ERROR_NOTIFYING_PERSISTENT_SEARCH; |
| | | String message = getMessage(msgID, String.valueOf(persistentSearch), |
| | |
| | | @Override() |
| | | public final CancelResult cancel(CancelRequest cancelRequest) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "cancel", String.valueOf(cancelRequest)); |
| | | |
| | | this.cancelRequest = cancelRequest; |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | assert debugException(CLASS_NAME, "cancel", e); |
| | | if (debugEnabled()) |
| | | { |
| | | debugCought(DebugLogLevel.ERROR, e); |
| | | } |
| | | } |
| | | |
| | | cancelResult = getCancelResult(); |
| | |
| | | @Override() |
| | | public final CancelRequest getCancelRequest() |
| | | { |
| | | assert debugEnter(CLASS_NAME, "getCancelRequest"); |
| | | |
| | | return cancelRequest; |
| | | } |
| | |
| | | @Override() |
| | | boolean setCancelRequest(CancelRequest cancelRequest) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "setCancelRequest", |
| | | String.valueOf(cancelRequest)); |
| | | |
| | | this.cancelRequest = cancelRequest; |
| | | return true; |
| | |
| | | @Override() |
| | | public final void toString(StringBuilder buffer) |
| | | { |
| | | assert debugEnter(CLASS_NAME, "toString", "java.lang.StringBuilder"); |
| | | |
| | | buffer.append("ModifyDNOperation(connID="); |
| | | buffer.append(clientConnection.getConnectionID()); |