. Performance improvements to authenticating users per screen refresh (5% improvement for basic screens)

. Minor performance improvements to permissions in hot-spot areas (as identified from profiling)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2050 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2005-12-20 14:45:50 +00:00
parent c72f1e626f
commit af6dc02c9e
5 changed files with 38 additions and 17 deletions

View File

@@ -27,7 +27,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
*
* @author andyh
*/
public class SimpleNodePermissionEntry extends AbstractNodePermissionEntry implements Serializable
public final class SimpleNodePermissionEntry extends AbstractNodePermissionEntry implements Serializable
{
/**
* Comment for <code>serialVersionUID</code>

View File

@@ -25,7 +25,7 @@ import org.alfresco.service.cmr.security.AccessStatus;
*
* @author andyh
*/
public class SimplePermissionEntry extends AbstractPermissionEntry
public final class SimplePermissionEntry extends AbstractPermissionEntry
{
/*

View File

@@ -23,7 +23,7 @@ import org.alfresco.service.namespace.QName;
*
* @author andyh
*/
public class SimplePermissionReference extends AbstractPermissionReference
public final class SimplePermissionReference extends AbstractPermissionReference
{
/*
* The type

View File

@@ -347,7 +347,6 @@ public class HibernatePermissionsDAO extends HibernateDaoSupport implements Perm
@SuppressWarnings("unchecked")
public void deleteAllPermissionsForAuthority(final String authority)
{
HibernateCallback callback = new HibernateCallback()
{
public Object doInHibernate(Session session)
@@ -365,8 +364,7 @@ public class HibernatePermissionsDAO extends HibernateDaoSupport implements Perm
}
// Utility methods to create simple detached objects for the outside
// // world
// Utility methods to create simple detached objects for the outside world
// We do not pass out the hibernate objects
private static SimpleNodePermissionEntry createSimpleNodePermissionEntry(
@@ -388,10 +386,13 @@ public class HibernatePermissionsDAO extends HibernateDaoSupport implements Perm
{
return null;
}
HashSet<SimplePermissionEntry> spes = new HashSet<SimplePermissionEntry>();
for (org.alfresco.repo.security.permissions.impl.hibernate.PermissionEntry pe : nes)
HashSet<SimplePermissionEntry> spes = new HashSet<SimplePermissionEntry>(nes.size(), 1.0f);
if (nes.size() != 0)
{
spes.add(createSimplePermissionEntry(pe));
for (org.alfresco.repo.security.permissions.impl.hibernate.PermissionEntry pe : nes)
{
spes.add(createSimplePermissionEntry(pe));
}
}
return spes;
}