DomainFakeCfg.java revision d25372dc8e65a9ed019a88fdf659ca61313f1b31
/*
* 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
* 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
* trunk/opends/resource/legal-notices/OpenDS.LICENSE. 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-2008 Sun Microsystems, Inc.
*/
/**
* This class implement a configuration object for the MultimasterDomain
* that can be used in unit tests to instantiate ReplicationDomain.
*/
public class DomainFakeCfg implements ReplicationDomainCfg
{
private int serverId;
private long heartbeatInterval = 1000;
// Is assured mode enabled or not ?
private boolean assured = false;
// Assured sub mode (used when assured is true)
// Safe Data level (used when assuredType is safe data)
private int assuredSdLevel = 1;
// Timeout (in milliseconds) when waiting for acknowledgments
private long assuredTimeout = 1000;
// Group id
private int groupId = 1;
// Referrals urls to be published to other servers of the topology
/**
* Creates a new Domain with the provided information
* (assured mode disabled, default group id)
*/
{
this.replicationServers = replServers;
}
/**
* Creates a new Domain with the provided information
* (assured mode disabled, group id provided)
*/
int groupId)
{
}
/**
* Creates a new Domain with the provided information
* (assured mode info provided as well as group id)
*/
{
switch(assuredType)
{
case NOT_ASSURED:
assured = false;
break;
case SAFE_DATA:
case SAFE_READ:
assured = true;
this.assuredType = assuredType;
break;
}
this.assuredSdLevel = assuredSdLevel;
this.assuredTimeout = assuredTimeout;
}
/**
* {@inheritDoc}
*/
public void addChangeListener(
{
}
/**
* {@inheritDoc}
*/
{
return null;
}
/**
* {@inheritDoc}
*/
public long getHeartbeatInterval()
{
return heartbeatInterval ;
}
/**
* {@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}
*/
{
return baseDn;
}
/**
* {@inheritDoc}
*/
{
return replicationServers;
}
/**
* {@inheritDoc}
*/
public int getServerId()
{
return serverId;
}
/**
* {@inheritDoc}
*/
public int getWindowSize()
{
return 100;
}
/**
* {@inheritDoc}
*/
public void removeChangeListener(
{
}
/**
* {@inheritDoc}
*/
{
try
{
return DN.decode("cn=domain, cn=domains,cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config");
} catch (DirectoryException e)
{
return null;
}
}
/**
* {@inheritDoc}
*/
return null;
}
/**
* Set the heartbeat interval.
*
* @param interval
*/
public void setHeartbeatInterval(long interval)
{
}
/**
* Get the isolation policy.
*/
public IsolationPolicy getIsolationPolicy()
{
return policy;
}
/**
* Set the isolation policy.
*
* @param policy the policy that must now be used.
*/
{
}
public int getAssuredSdLevel()
{
return assuredSdLevel;
}
public int getGroupId()
{
return groupId;
}
public long getAssuredTimeout()
{
return assuredTimeout;
}
public AssuredType getAssuredType()
{
return assuredType;
}
public boolean isAssured()
{
return assured;
}
{
return refUrls;
}
}