/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt * or http://forgerock.org/license/CDDLv1.0.html. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at legal-notices/CDDLv1_0.txt. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2007-2009 Sun Microsystems, Inc. * Portions Copyright 2013-2015 ForgeRock AS */ package org.opends.server.replication.server; import java.net.InetAddress; import java.util.SortedSet; import java.util.TreeSet; import org.opends.server.admin.Configuration; import org.opends.server.admin.server.ConfigurationChangeListener; import org.opends.server.admin.server.ServerManagedObject; import org.opends.server.admin.std.server.ReplicationServerCfg; import org.opends.server.types.DN; /** * This Class implements an object that can be used to instantiate * The ReplicationServer class for tests purpose. */ @SuppressWarnings("javadoc") public class ReplServerFakeConfiguration implements ReplicationServerCfg { private int port; private String dirName; private int purgeDelay; private int serverId; private int queueSize; private int windowSize; private SortedSet<String> servers; /* * Assured mode properties */ /** Timeout (in milliseconds) when waiting for acknowledgments. */ private long assuredTimeout = 1000; /** Group id. */ private int groupId = 1; /** Threshold for status analyzers. */ private int degradedStatusThreshold = 5000; /** The weight of the server. */ private int weight = 1; /** The monitoring publisher period. */ private long monitoringPeriod = 3000; private boolean computeChangenumber; /** Constructor without group id, assured info and weight. */ public ReplServerFakeConfiguration( int port, String dirName, int purgeDelay, int serverId, int queueSize, int windowSize, SortedSet<String> servers) { this.port = port; this.dirName = dirName != null ? dirName : "changelogDb"; if (purgeDelay == 0) { this.purgeDelay = 24*60*60; } else { this.purgeDelay = purgeDelay; } this.serverId = serverId; if (queueSize == 0) { this.queueSize = 10000; } else { this.queueSize = queueSize; } if (windowSize == 0) { this.windowSize = 100; } else { this.windowSize = windowSize; } this.servers = servers != null ? servers : new TreeSet<String>(); } /** * Constructor with group id and assured info. */ public ReplServerFakeConfiguration( int port, String dirName, int purgeDelay, int serverId, int queueSize, int windowSize, SortedSet<String> servers, int groupId, long assuredTimeout, int degradedStatusThreshold) { this(port, dirName, purgeDelay, serverId, queueSize, windowSize, servers); this.groupId = groupId; this.assuredTimeout = assuredTimeout; this.degradedStatusThreshold = degradedStatusThreshold; } /** Constructor with group id, assured info and weight. */ public ReplServerFakeConfiguration( int port, String dirName, int purgeDelay, int serverId, int queueSize, int windowSize, SortedSet<String> servers, int groupId, long assuredTimeout, int degradedStatusThreshold, int weight) { this(port, dirName, purgeDelay, serverId, queueSize, windowSize, servers, groupId, assuredTimeout, degradedStatusThreshold); this.weight = weight; } @Override public void addChangeListener( ConfigurationChangeListener<ReplicationServerCfg> listener) { // not supported } @Override public Class<? extends ReplicationServerCfg> configurationClass() { return null; } @Override public String getReplicationDBDirectory() { return dirName; } @Override public int getReplicationPort() { return port; } @Override public long getReplicationPurgeDelay() { return purgeDelay; } @Override public SortedSet<String> getReplicationServer() { return servers; } @Override public int getReplicationServerId() { return serverId; } @Override public InetAddress getSourceAddress() { return null; } @Override public int getQueueSize() { return queueSize; } @Override public int getWindowSize() { return windowSize; } @Override public void removeChangeListener(ConfigurationChangeListener<ReplicationServerCfg> listener) { // not supported } @Override public DN dn() { return null; } public ServerManagedObject<? extends Configuration> managedObject() { return null; } @Override public int getGroupId() { return groupId; } @Override public long getAssuredTimeout() { return assuredTimeout; } @Override public int getDegradedStatusThreshold() { return degradedStatusThreshold; } public void setDegradedStatusThreshold(int degradedStatusThreshold) { this.degradedStatusThreshold = degradedStatusThreshold; } @Override public int getWeight() { return weight; } @Override public long getMonitoringPeriod() { return monitoringPeriod; } public void setMonitoringPeriod(long monitoringPeriod) { this.monitoringPeriod = monitoringPeriod; } @Override public boolean isComputeChangeNumber() { return computeChangenumber; } public void setComputeChangeNumber(boolean computeChangenumber) { this.computeChangenumber = computeChangenumber; } }