Fix failing unit test. Cascade delete site groups on site deletion.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14641 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Dave Ward
2009-06-10 15:20:05 +00:00
parent d8228cb23f
commit e5c375d103
4 changed files with 32 additions and 3 deletions

View File

@@ -294,9 +294,21 @@ public class AuthorityServiceImpl implements AuthorityService, InitializingBean
}
public void deleteAuthority(String name)
{
deleteAuthority(name, false);
}
public void deleteAuthority(String name, boolean cascade)
{
AuthorityType type = AuthorityType.getAuthorityType(name);
checkTypeIsMutable(type);
if (cascade)
{
for (String child : getContainedAuthorities(type, name, true))
{
deleteAuthority(child, true);
}
}
authorityDAO.deleteAuthority(name);
permissionServiceSPI.deletePermissions(name);
}

View File

@@ -201,6 +201,11 @@ public class SimpleAuthorityServiceImpl implements AuthorityService
}
public void deleteAuthority(String name, boolean cascade)
{
}
public Set<String> getAllRootAuthorities(AuthorityType type)
{
return getAllAuthorities(type);

View File

@@ -926,12 +926,12 @@ public class SiteServiceImpl implements SiteService, SiteModel
// Delete the node
this.nodeService.deleteNode(siteNodeRef);
// Delete the associated group's
// Delete the associated groups
AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>()
{
public Object doWork() throws Exception
{
authorityService.deleteAuthority(getSiteGroup(shortName, true));
authorityService.deleteAuthority(getSiteGroup(shortName, true), true);
return null;
}
}, AuthenticationUtil.getSystemUserName());