mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Fixed authority related startup failures.
Authority caching was making a case mangling mistake. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6830 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -73,24 +73,32 @@ public class ACLTest extends TestCase
|
||||
fCapabilityRegistry = (AuthorityCapabilityRegistry)fContext.getBean("authorityCapabilityRegistry");
|
||||
}
|
||||
// Set up sample users groups and roles.
|
||||
fAuthenticationService.createAuthentication("Buffy", "Buffy".toCharArray());
|
||||
fPersonService.getPerson("Buffy");
|
||||
fAuthorityService.createAuthority(AuthorityType.GROUP, null, "Scoobies");
|
||||
fAuthorityService.addAuthority("GROUP_Scoobies", "Buffy");
|
||||
fAuthenticationService.createAuthentication("Willow", "Willow".toCharArray());
|
||||
fPersonService.getPerson("Willow");
|
||||
fAuthorityService.addAuthority("GROUP_Scoobies", "Willow");
|
||||
fAuthenticationService.createAuthentication("Xander", "Xander".toCharArray());
|
||||
fPersonService.getPerson("Xander");
|
||||
fAuthorityService.addAuthority("GROUP_Scoobies", "Xander");
|
||||
fAuthenticationService.createAuthentication("Tara", "Tara".toCharArray());
|
||||
fPersonService.getPerson("Tara");
|
||||
fAuthenticationService.createAuthentication("Spike", "Spike".toCharArray());
|
||||
fPersonService.getPerson("Spike");
|
||||
fAuthorityService.createAuthority(AuthorityType.GROUP, null, "vampires");
|
||||
fAuthorityService.addAuthority("GROUP_vampires", "Spike");
|
||||
fAuthorityService.createAuthority(AuthorityType.GROUP, null, "soulless");
|
||||
fAuthorityService.addAuthority("GROUP_soulless", "Spike");
|
||||
try
|
||||
{
|
||||
fAuthenticationService.createAuthentication("Buffy", "Buffy".toCharArray());
|
||||
fPersonService.getPerson("Buffy");
|
||||
fAuthorityService.createAuthority(AuthorityType.GROUP, null, "Scoobies");
|
||||
fAuthorityService.addAuthority("GROUP_Scoobies", "Buffy");
|
||||
fAuthenticationService.createAuthentication("Willow", "Willow".toCharArray());
|
||||
fPersonService.getPerson("Willow");
|
||||
fAuthorityService.addAuthority("GROUP_Scoobies", "Willow");
|
||||
fAuthenticationService.createAuthentication("Xander", "Xander".toCharArray());
|
||||
fPersonService.getPerson("Xander");
|
||||
fAuthorityService.addAuthority("GROUP_Scoobies", "Xander");
|
||||
fAuthenticationService.createAuthentication("Tara", "Tara".toCharArray());
|
||||
fPersonService.getPerson("Tara");
|
||||
fAuthenticationService.createAuthentication("Spike", "Spike".toCharArray());
|
||||
fPersonService.getPerson("Spike");
|
||||
fAuthorityService.createAuthority(AuthorityType.GROUP, null, "vampires");
|
||||
fAuthorityService.addAuthority("GROUP_vampires", "Spike");
|
||||
fAuthorityService.createAuthority(AuthorityType.GROUP, null, "soulless");
|
||||
fAuthorityService.addAuthority("GROUP_soulless", "Spike");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
tearDown();
|
||||
setUp();
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
@@ -195,15 +195,26 @@ public class AuthorityCapabilityRegistryImpl implements
|
||||
{
|
||||
continue;
|
||||
}
|
||||
auth = normalizeAuthority(auth);
|
||||
Set<String> children = fAuthorityService.getContainedAuthorities(null, auth, true);
|
||||
auth = normalizeAuthority(auth);
|
||||
Set<String> found = fAuthorityToChild.get(auth);
|
||||
if (found == null)
|
||||
{
|
||||
found = new HashSet<String>();
|
||||
fAuthorityToChild.put(auth, found);
|
||||
}
|
||||
AuthorityEntry entry = fAuthorityEntryDAO.get(fAuthorityToID.get(auth));
|
||||
AuthorityEntry entry = null;
|
||||
if (!fAuthorityToID.containsKey(auth))
|
||||
{
|
||||
entry = new AuthorityEntryImpl(auth);
|
||||
fAuthorityEntryDAO.save(entry);
|
||||
fAuthorityToID.put(auth, entry.getId());
|
||||
fIDToAuthority.put(entry.getId(), auth);
|
||||
}
|
||||
else
|
||||
{
|
||||
entry = fAuthorityEntryDAO.get(fAuthorityToID.get(auth));
|
||||
}
|
||||
for (String child : children)
|
||||
{
|
||||
child = normalizeAuthority(child);
|
||||
@@ -211,7 +222,18 @@ public class AuthorityCapabilityRegistryImpl implements
|
||||
{
|
||||
continue;
|
||||
}
|
||||
AuthorityEntry childEntry = fAuthorityEntryDAO.get(fAuthorityToID.get(child));
|
||||
AuthorityEntry childEntry = null;
|
||||
if (!fAuthorityToID.containsKey(child))
|
||||
{
|
||||
childEntry = new AuthorityEntryImpl(child);
|
||||
fAuthorityEntryDAO.save(childEntry);
|
||||
fAuthorityToID.put(child, childEntry.getId());
|
||||
fIDToAuthority.put(childEntry.getId(), child);
|
||||
}
|
||||
else
|
||||
{
|
||||
childEntry = fAuthorityEntryDAO.get(fAuthorityToID.get(child));
|
||||
}
|
||||
entry.getChildren().add(childEntry);
|
||||
found.add(child);
|
||||
Set<String> parents = fChildToAuthority.get(child);
|
||||
|
Reference in New Issue
Block a user