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

Jean-Noel Rouvignac
23.19.2013 55065c7531e93a725b02dc619f6c526228e768ce
opends/tests/unit-tests-testng/src/server/org/opends/server/replication/plugin/DomainFakeCfg.java
@@ -23,7 +23,7 @@
 *
 *
 *      Copyright 2007-2010 Sun Microsystems, Inc.
 *      Portions copyright 2011 ForgeRock AS
 *      Portions copyright 2011-2013 ForgeRock AS
 */
package org.opends.server.replication.plugin;
@@ -31,11 +31,9 @@
import java.util.SortedSet;
import java.util.TreeSet;
import org.opends.server.admin.Configuration;
import org.opends.server.admin.server.ConfigurationAddListener;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.server.ConfigurationDeleteListener;
import org.opends.server.admin.server.ServerManagedObject;
import org.opends.server.admin.std.meta.ReplicationDomainCfgDefn.AssuredType;
import org.opends.server.admin.std.meta.ReplicationDomainCfgDefn.IsolationPolicy;
import org.opends.server.admin.std.server.ExternalChangelogDomainCfg;
@@ -50,44 +48,44 @@
 */
public class DomainFakeCfg implements ReplicationDomainCfg
{
  private DN baseDn;
  private DN baseDN;
  private int serverId;
  private SortedSet<String> replicationServers;
  private long heartbeatInterval = 1000;
  // By default changeTimeHeartbeatInterval is set to 0 in order to disable
  // this feature and not kill the tests that expect to receive special
  // messages.
  /**
   * By default changeTimeHeartbeatInterval is set to 0 in order to disable this
   * feature and not kill the tests that expect to receive special messages.
   */
  private long changeTimeHeartbeatInterval = 0;
  private IsolationPolicy policy = IsolationPolicy.REJECT_ALL_UPDATES;
  // Is assured mode enabled or not ?
  private boolean assured = false;
  // Assured sub mode (used when assured is true)
  /** Assured sub mode (used when assured is true) */
  private AssuredType assuredType = AssuredType.NOT_ASSURED;
  // Safe Data level (used when assuredType is safe data)
  /** Safe Data level (used when assuredType is safe data) */
  private int assuredSdLevel = 1;
  // Timeout (in milliseconds) when waiting for acknowledgments
  /** Timeout (in milliseconds) when waiting for acknowledgments */
  private long assuredTimeout = 1000;
  // Group id
  /** Group id */
  private int groupId = 1;
  // Referrals urls to be published to other servers of the topology
  SortedSet<String> refUrls = new TreeSet<String>();
  /** Referrals urls to be published to other servers of the topology */
  private SortedSet<String> refUrls = new TreeSet<String>();
  private SortedSet<String> fractionalExcludes = new TreeSet<String>();
  private SortedSet<String> fractionalIncludes = new TreeSet<String>();
  private ExternalChangelogDomainCfg eclCfg =
    new ExternalChangelogDomainFakeCfg(true, null, null);
  private int windowSize = 100;
  /**
   * Creates a new Domain with the provided information
   * (assured mode disabled, default group id)
   */
  public DomainFakeCfg(DN baseDn, int serverId, SortedSet<String> replServers)
  public DomainFakeCfg(DN baseDN, int serverId, SortedSet<String> replServers)
  {
    this.baseDn = baseDn;
    this.baseDN = baseDN;
    this.serverId = serverId;
    this.replicationServers = replServers;
  }
@@ -96,10 +94,10 @@
   * Creates a new Domain with the provided information
   * (with some fractional configuration provided)
   */
  public DomainFakeCfg(DN baseDn, int serverId, SortedSet<String> replServers,
  public DomainFakeCfg(DN baseDN, int serverId, SortedSet<String> replServers,
    List<String> fractionalExcludes, List<String> fractionalIncludes)
  {
    this(baseDn, serverId, replServers);
    this(baseDN, serverId, replServers);
    if (fractionalExcludes != null)
    {
      for (String str : fractionalExcludes)
@@ -120,10 +118,10 @@
   * Creates a new Domain with the provided information
   * (assured mode disabled, group id provided)
   */
  public DomainFakeCfg(DN baseDn, int serverId, SortedSet<String> replServers,
  public DomainFakeCfg(DN baseDN, int serverId, SortedSet<String> replServers,
    int groupId)
  {
    this(baseDn, serverId, replServers);
    this(baseDN, serverId, replServers);
    this.groupId = groupId;
  }
@@ -131,19 +129,17 @@
   * Creates a new Domain with the provided information
   * (assured mode info provided as well as group id)
   */
  public DomainFakeCfg(DN baseDn, int serverId, SortedSet<String> replServers,
  public DomainFakeCfg(DN baseDN, int serverId, SortedSet<String> replServers,
    AssuredType assuredType, int assuredSdLevel, int groupId,
    long assuredTimeout, SortedSet<String> refUrls)
  {
    this(baseDn, serverId, replServers);
    this(baseDN, serverId, replServers);
    switch(assuredType)
    {
      case NOT_ASSURED:
        assured = false;
        break;
      case SAFE_DATA:
      case SAFE_READ:
        assured = true;
        this.assuredType = assuredType;
        break;
    }
@@ -157,33 +153,34 @@
  /**
   * Create a new Domain from the provided arguments.
   *
   * @param string         The baseDN in string form.
   * @param baseDN         The baseDN in string form.
   * @param serverId       The serverID.
   * @param replServer     The replication Server that will be used.
   *
   * @throws DirectoryException  When the provided string is not a valid DN.
   */
  public DomainFakeCfg(String string, int serverId, String replServer)
  public DomainFakeCfg(String baseDN, int serverId, String replServer)
         throws DirectoryException
  {
    this.replicationServers = new TreeSet<String>();
    this.replicationServers.add(replServer);
    this.baseDn = DN.decode(string);
    this.baseDN = DN.decode(baseDN);
    this.serverId = serverId;
  }
  /**
   * {@inheritDoc}
   */
  @Override
  public void addChangeListener(
      ConfigurationChangeListener<ReplicationDomainCfg> listener)
  {
  }
  /**
   * {@inheritDoc}
   */
  @Override
  public Class<? extends ReplicationDomainCfg> configurationClass()
  {
    return null;
@@ -192,6 +189,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public long getHeartbeatInterval()
  {
    return heartbeatInterval ;
@@ -200,14 +198,12 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public long getChangetimeHeartbeatInterval()
  {
    return changeTimeHeartbeatInterval;
  }
  /**
   * {@inheritDoc}
   */
  public void setChangetimeHeartbeatInterval(long changeTimeHeartbeatInterval)
  {
    this.changeTimeHeartbeatInterval = changeTimeHeartbeatInterval;
@@ -216,46 +212,16 @@
  /**
   * {@inheritDoc}
   */
  public long getMaxReceiveDelay()
  {
    return 0;
  }
  /**
   * {@inheritDoc}
   */
  public int getMaxReceiveQueue()
  {
    return 0;
  }
  /**
   * {@inheritDoc}
   */
  public long getMaxSendDelay()
  {
    return 0;
  }
  /**
   * {@inheritDoc}
   */
  public int getMaxSendQueue()
  {
    return 0;
  }
  /**
   * {@inheritDoc}
   */
  @Override
  public DN getBaseDN()
  {
    return baseDn;
    return baseDN;
  }
  /**
   * {@inheritDoc}
   */
  @Override
  public SortedSet<String> getReplicationServer()
  {
    return replicationServers;
@@ -264,6 +230,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public int getServerId()
  {
    return serverId;
@@ -272,14 +239,21 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public int getWindowSize()
  {
    return 100;
    return this.windowSize;
  }
  public void setWindowSize(int windowSize)
  {
    this.windowSize = windowSize;
  }
  /**
   * {@inheritDoc}
   */
  @Override
  public void removeChangeListener(
      ConfigurationChangeListener<ReplicationDomainCfg> listener)
  {
@@ -288,6 +262,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public DN dn()
  {
    try
@@ -300,16 +275,7 @@
  }
  /**
   * {@inheritDoc}
   */
  public ServerManagedObject<? extends Configuration> managedObject() {
    return null;
  }
  /**
   * Set the heartbeat interval.
   *
   * @param interval
   */
  public void setHeartbeatInterval(long interval)
  {
@@ -319,6 +285,7 @@
  /**
   * Get the isolation policy.
   */
  @Override
  public IsolationPolicy getIsolationPolicy()
  {
    return policy;
@@ -334,66 +301,60 @@
    this.policy = policy;
  }
  @Override
  public int getAssuredSdLevel()
  {
    return assuredSdLevel;
  }
  @Override
  public int getGroupId()
  {
    return groupId;
  }
  @Override
  public long getAssuredTimeout()
  {
    return assuredTimeout;
  }
  @Override
  public AssuredType getAssuredType()
  {
    return assuredType;
  }
  public boolean isAssured()
  {
    return assured;
  }
  @Override
  public SortedSet<String> getReferralsUrl()
  {
    return refUrls;
  }
  @Override
  public SortedSet<String> getFractionalExclude()
  {
    return fractionalExcludes;
  }
  @Override
  public SortedSet<String> getFractionalInclude()
  {
    return fractionalIncludes;
  }
  @Override
  public boolean isSolveConflicts()
  {
    return true;
  }
  public long getInitializationHeartbeatInterval()
  {
    return 180;
  }
  @Override
  public int getInitializationWindowSize()
  {
    return 100;
  }
  public boolean hasExternalChangelogDomain() { return true; }
  /**
   * Gets the ECL Domain if it is present.
   *
@@ -402,6 +363,7 @@
   *           If the ECL Domain does not exist or it could not
   *           be successfully decoded.
   */
  @Override
  public ExternalChangelogDomainCfg getExternalChangelogDomain()
  throws ConfigException
  { return eclCfg; }
@@ -410,7 +372,6 @@
  /**
   * Sets the ECL Domain if it is present.
   *
   * @return Returns the ECL Domain if it is present.
   * @throws ConfigException
   *           If the ECL Domain does not exist or it could not
   *           be successfully decoded.
@@ -477,6 +438,7 @@
      ConfigurationDeleteListener<ExternalChangelogDomainCfg> listener)
  {}
  @Override
  public boolean isLogChangenumber()
  {
    return true;
@@ -489,7 +451,8 @@
   * historical information necessary to solve conflicts.
   *
   * @return Returns the value of the "conflicts-historical-purge-delay" property.
   **/
   */
  @Override
  public long getConflictsHistoricalPurgeDelay()
  {
    return 1440;