mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
25.14.2016 ddf7385f6d72164c9e66aff00b3a4f076ec69c78
opendj-server-legacy/src/main/java/org/forgerock/opendj/adapter/server3x/Adapters.java
@@ -56,7 +56,6 @@
import org.opends.server.core.CompareOperation;
import org.opends.server.core.DeleteOperation;
import org.opends.server.core.ExtendedOperation;
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.internal.InternalSearchListener;
import org.opends.server.protocols.internal.InternalSearchOperation;
@@ -72,15 +71,10 @@
import static org.forgerock.opendj.ldap.LdapException.*;
import static org.forgerock.util.promise.Promises.*;
/**
 * This class provides a connection factory and an adapter for the OpenDJ 2.x
 * server.
 */
/** This class provides a connection factory and an adapter for the OpenDJ 2.x server. */
public final class Adapters {
    /**
     * Constructor.
     */
    /** Constructor. */
    private Adapters() {
        // No implementation required.
    }
@@ -226,13 +220,7 @@
            @Override
            public Result modifyDN(final ModifyDNRequest request) throws LdapException {
                final ModifyDNOperation modifyDNOperation =
                        icc.processModifyDN(valueOfObject(request.getName()),
                                valueOfObject(request.getNewRDN()),
                                request.isDeleteOldRDN(),
                                request.getNewSuperior() != null ? valueOfObject(request.getNewSuperior()) : null,
                                to(request.getControls()));
                return getResponseResult(modifyDNOperation);
                return getResponseResult(icc.processModifyDN(request));
            }
            @Override
opendj-server-legacy/src/main/java/org/opends/server/protocols/internal/InternalClientConnection.java
@@ -80,6 +80,7 @@
import org.opends.server.util.ModifyDNChangeRecordEntry;
import static org.forgerock.opendj.adapter.server3x.Converters.*;
import static org.forgerock.opendj.ldap.ByteString.*;
import static org.opends.messages.ProtocolMessages.*;
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.util.CollectionUtils.*;
@@ -597,7 +598,6 @@
    // time limit for internal client connections.
  }
  /** {@inheritDoc} */
  @Override
  public boolean isConnectionValid()
  {
@@ -1546,81 +1546,6 @@
        toRawModifications(modifyRequest.getModifications()), to(modifyRequest.getControls()));
  }
  /**
   * Processes an internal modify DN operation with the provided
   * information.
   *
   * @param  rawEntryDN    The current DN of the entry to rename.
   * @param  rawNewRDN     The new RDN to use for the entry.
   * @param  deleteOldRDN  The flag indicating whether the old RDN
   *                       value is to be removed from the entry.
   *
   * @return  A reference to the modify DN operation that was
   *          processed and contains information about the result of
   *          the processing.
   */
  public ModifyDNOperation processModifyDN(String rawEntryDN,
                                           String rawNewRDN,
                                           boolean deleteOldRDN)
  {
    return processModifyDN(ByteString.valueOfUtf8(rawEntryDN),
        ByteString.valueOfUtf8(rawNewRDN),
                           deleteOldRDN, null, null);
  }
  /**
   * Processes an internal modify DN operation with the provided
   * information.
   *
   * @param  rawEntryDN    The current DN of the entry to rename.
   * @param  rawNewRDN     The new RDN to use for the entry.
   * @param  deleteOldRDN  The flag indicating whether the old RDN
   *                       value is to be removed from the entry.
   * @param  controls      The set of controls to include in the
   *                       request.
   *
   * @return  A reference to the modify DN operation that was
   *          processed and contains information about the result of
   *          the processing.
   */
  public ModifyDNOperation processModifyDN(String rawEntryDN,
                                           String rawNewRDN,
                                           boolean deleteOldRDN,
                                           List<Control> controls)
  {
    return processModifyDN(ByteString.valueOfUtf8(rawEntryDN),
        ByteString.valueOfUtf8(rawNewRDN),
                           deleteOldRDN, null, controls);
  }
  /**
   * Processes an internal modify DN operation with the provided
   * information.
   *
   * @param  rawEntryDN    The current DN of the entry to rename.
   * @param  rawNewRDN     The new RDN to use for the entry.
   * @param  deleteOldRDN  The flag indicating whether the old RDN
   *                       value is to be removed from the entry.
   *
   * @return  A reference to the modify DN operation that was
   *          processed and contains information about the result of
   *          the processing.
   */
  public ModifyDNOperation processModifyDN(ByteString rawEntryDN,
                                           ByteString rawNewRDN,
                                           boolean deleteOldRDN)
  {
    return processModifyDN(rawEntryDN, rawNewRDN, deleteOldRDN, null,
                           null);
  }
  /**
   * Processes an internal modify DN operation with the provided
   * information.
@@ -1678,35 +1603,6 @@
        ByteString.valueOfUtf8(rawNewSuperior), controls);
  }
  /**
   * Processes an internal modify DN operation with the provided
   * information.
   *
   * @param  rawEntryDN      The current DN of the entry to rename.
   * @param  rawNewRDN       The new RDN to use for the entry.
   * @param  deleteOldRDN    The flag indicating whether the old RDN
   *                         value is to be removed from the entry.
   * @param  rawNewSuperior  The new superior for the modify DN
   *                         operation, or <CODE>null</CODE> if the
   *                         entry will remain below the same parent.
   *
   * @return  A reference to the modify DN operation that was
   *          processed and contains information about the result of
   *          the processing.
   */
  public ModifyDNOperation processModifyDN(ByteString rawEntryDN,
                                           ByteString rawNewRDN,
                                           boolean deleteOldRDN,
                                           ByteString rawNewSuperior)
  {
    return processModifyDN(rawEntryDN, rawNewRDN, deleteOldRDN,
                           rawNewSuperior, null);
  }
  /**
   * Processes an internal modify DN operation with the provided
   * information.
@@ -1852,26 +1748,25 @@
   * Processes an internal modify DN operation with the provided information.
   *
   * @param modifyDNRequest
   *          The modify DN request with information about the processing to perform.
   *          The modify DN requests with information about the processing to perform.
   * @return A reference to the modify DN operation that was processed and contains information about
   *         the result of the processing.
   */
  public ModifyDNOperation processModifyDN(ModifyDNRequest modifyDNRequest)
  {
    return processModifyDN(modifyDNRequest.getName(),
                           modifyDNRequest.getNewRDN(),
                           modifyDNRequest.isDeleteOldRDN(),
                           modifyDNRequest.getNewSuperior());
    ModifyDNRequest r = modifyDNRequest;
    ByteString rawNewSuperior = r.getNewSuperior() != null ? valueOfObject(r.getNewSuperior()) : null;
    return processModifyDN(valueOfObject(r.getName()), valueOfObject(r.getNewRDN()), r.isDeleteOldRDN(),
        rawNewSuperior, to(r.getControls()));
  }
  /**
   * Processes an internal search operation with the provided
   * information.
   * Processes an internal search operation with the provided information.
   *
   * @param  request         The search request.
   * @return  A reference to the internal search operation that was
   *          processed and contains information about the result of
   *          the processing.
   * @param request
   *          The search request.
   * @return A reference to the internal search operation that was processed and contains
   *         information about the result of the processing.
   */
  public InternalSearchOperation processSearch(final SearchRequest request)
  {
@@ -2241,7 +2136,6 @@
    return 0;
  }
  /** {@inheritDoc} */
  @Override
  public int getSSF() {
      //Always return strongest value.
opendj-server-legacy/src/test/java/org/opends/server/backends/LDIFBackendTestCase.java
@@ -16,6 +16,7 @@
 */
package org.opends.server.backends;
import static org.forgerock.opendj.ldap.requests.Requests.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.protocols.internal.Requests.*;
import static org.testng.Assert.*;
@@ -381,15 +382,13 @@
    assertTrue(DirectoryServer.entryExists(beforeDN));
    assertFalse(DirectoryServer.entryExists(afterDN));
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modifyDNOperation =
      conn.processModifyDN("ou=leaf before,o=ldif", "ou=leaf after", true);
    ModifyDNOperation modifyDNOperation = processModifyDN("ou=leaf before,o=ldif", "ou=leaf after", true);
    assertEquals(modifyDNOperation.getResultCode(), ResultCode.SUCCESS);
    assertFalse(DirectoryServer.entryExists(beforeDN));
    assertTrue(DirectoryServer.entryExists(afterDN));
    DeleteOperation deleteOperation = conn.processDelete(afterDN);
    DeleteOperation deleteOperation = getRootConnection().processDelete(afterDN);
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    assertFalse(DirectoryServer.entryExists(afterDN));
  }
@@ -411,14 +410,11 @@
      "objectClass: organizationalUnit",
      "ou: new entry");
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN("ou=new entry,o=ldif", "ou=People", true);
    assertEquals(modifyDNOperation.getResultCode(),
                 ResultCode.ENTRY_ALREADY_EXISTS);
    ModifyDNOperation modifyDNOperation = processModifyDN("ou=new entry,o=ldif", "ou=People", true);
    assertEquals(modifyDNOperation.getResultCode(), ResultCode.ENTRY_ALREADY_EXISTS);
    assertTrue(DirectoryServer.entryExists(DN.valueOf("ou=new entry,o=ldif")));
    DeleteOperation deleteOperation = conn.processDelete("ou=new entry,o=ldif");
    DeleteOperation deleteOperation = getRootConnection().processDelete("ou=new entry,o=ldif");
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    assertFalse(DirectoryServer.entryExists(DN.valueOf("ou=new entry,o=ldif")));
  }
@@ -483,9 +479,7 @@
    assertTrue(DirectoryServer.entryExists(childBeforeDN));
    assertFalse(DirectoryServer.entryExists(childAfterDN));
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modifyDNOperation =
      conn.processModifyDN("ou=People,o=ldif", "ou=Users", true);
    ModifyDNOperation modifyDNOperation = processModifyDN("ou=People,o=ldif", "ou=Users", true);
    assertEquals(modifyDNOperation.getResultCode(), ResultCode.SUCCESS);
    assertFalse(DirectoryServer.entryExists(beforeDN));
@@ -494,8 +488,7 @@
    assertFalse(DirectoryServer.entryExists(childBeforeDN));
    assertTrue(DirectoryServer.entryExists(childAfterDN));
    modifyDNOperation =
         conn.processModifyDN("ou=Users,o=ldif", "ou=People", true);
    modifyDNOperation = processModifyDN("ou=Users,o=ldif", "ou=People", true);
    assertTrue(DirectoryServer.entryExists(beforeDN));
    assertFalse(DirectoryServer.entryExists(afterDN));
@@ -504,7 +497,10 @@
    assertFalse(DirectoryServer.entryExists(childAfterDN));
  }
  private ModifyDNOperation processModifyDN(String name, String newRDN, boolean deleteOldRDN)
  {
    return getRootConnection().processModifyDN(newModifyDNRequest(name, newRDN).setDeleteOldRDN(deleteOldRDN));
  }
  /**
   * Tests to ensure that a base-level search works as expected.
opendj-server-legacy/src/test/java/org/opends/server/core/TestModifyDNOperation.java
@@ -24,6 +24,7 @@
import org.forgerock.opendj.ldap.AVA;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.requests.ModifyDNRequest;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.opends.server.TestCaseUtils;
import org.opends.server.controls.ProxiedAuthV1Control;
@@ -53,6 +54,7 @@
import static org.assertj.core.api.Assertions.*;
import static org.forgerock.opendj.ldap.ResultCode.*;
import static org.forgerock.opendj.ldap.requests.Requests.*;
import static org.opends.server.TestCaseUtils.*;
import static org.opends.server.protocols.internal.InternalClientConnection.*;
import static org.opends.server.util.ServerConstants.*;
@@ -916,8 +918,9 @@
      assertFalse(DirectoryServer.entryExists(
                      dn("uid=first.test,ou=Users,dc=example,dc=com")));
      ModifyDNOperation modifyDNOperation =
          getRootConnection().processModifyDN("ou=People,dc=example,dc=com", "ou=Users", true);
      ModifyDNRequest modifyDNRequest =
          newModifyDNRequest("ou=People,dc=example,dc=com", "ou=Users").setDeleteOldRDN(true);
      ModifyDNOperation modifyDNOperation = getRootConnection().processModifyDN(modifyDNRequest);
      assertSuccess(modifyDNOperation);
//      assertEquals(InvocationCounterPlugin.getSubordinateModifyDNCount(), 2);
opendj-server-legacy/src/test/java/org/opends/server/protocols/internal/InternalClientConnectionTestCase.java
@@ -563,7 +563,7 @@
    InternalClientConnection conn = getRootConnection();
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN(ByteString.valueOfUtf8("cn=test,o=test"),
                              ByteString.valueOfUtf8("cn=test2"), true);
                              ByteString.valueOfUtf8("cn=test2"), true, null, null);
    assertEquals(modifyDNOperation.getResultCode(), ResultCode.SUCCESS);
  }
@@ -589,7 +589,7 @@
    ModifyDNOperation modifyDNOperation =
         conn.processModifyDN(ByteString.valueOfUtf8("cn=test,o=test"),
                              ByteString.valueOfUtf8("cn=test2"), true,
                              ByteString.valueOfUtf8("dc=example,dc=com"));
                              ByteString.valueOfUtf8("dc=example,dc=com"), null);
    assertEquals(modifyDNOperation.getResultCode(),
                 ResultCode.UNWILLING_TO_PERFORM);
  }