@Override
public void delete(String name)
throws ManifoldCFException
{
// Grab repository connection manager handle, to check on legality of deletion.
IRepositoryConnectionManager repoManager = RepositoryConnectionManagerFactory.make(threadContext);
IAuthorityConnectionManager authManager = AuthorityConnectionManagerFactory.make(threadContext);
StringSetBuffer ssb = new StringSetBuffer();
ssb.add(getAuthorityGroupsKey());
ssb.add(getAuthorityGroupKey(name));
StringSet cacheKeys = new StringSet(ssb);
ICacheHandle ch = cacheManager.enterCache(null,cacheKeys,getTransactionID());
try
{
beginTransaction();
try
{
// Check if anything refers to this group name
if (repoManager.isGroupReferenced(name))
throw new ManifoldCFException("Can't delete authority group '"+name+"': existing repository connections refer to it");
if (authManager.isGroupReferenced(name))
throw new ManifoldCFException("Can't delete authority group '"+name+"': existing authority connections refer to it");
ManifoldCF.noteConfigurationChange();
ArrayList params = new ArrayList();