org.alfresco.repo.domain.permissions
Class AbstractAclCrudDAOImpl

java.lang.Object
  extended by org.alfresco.repo.domain.permissions.AbstractAclCrudDAOImpl
All Implemented Interfaces:
AclCrudDAO
Direct Known Subclasses:
AclCrudDAOImpl

public abstract class AbstractAclCrudDAOImpl
extends java.lang.Object
implements AclCrudDAO

Abstract implementation for ACL crud DAO.

This provides basic services such as caching, but defers to the underlying implementation for CRUD operations for: alf_access_control_list alf_acl_member alf_acl_change_set alf_access_control_entry alf_permission alf_authority Also, following are currently unused: alf_ace_context alf_authority_alias

Since:
3.4

Constructor Summary
AbstractAclCrudDAOImpl()
          Default constructor.
 
Method Summary
 void addAclMembersToAcl(long aclId, java.util.List aceIdsWithDepths)
           
 void addAclMembersToAcl(long aclId, java.util.List aceIds, int depth)
           
 Ace createAce(Permission permission, Authority authority, ACEType type, org.alfresco.service.cmr.security.AccessStatus accessStatus)
           
protected abstract  long createAceContextEntity(AceContextEntity entity)
           
protected abstract  long createAceEntity(AceEntity entity)
           
 AclEntity createAcl(AclEntity entity)
           
 java.lang.Long createAclChangeSet()
           
protected abstract  java.lang.Long createAclChangeSetEntity()
           
protected abstract  AclEntity createAclEntity(AclEntity entity)
           
protected abstract  AclMemberEntity createAclMemberEntity(AclMemberEntity entity)
           
 Authority createAuthority(java.lang.String authorityName)
           
protected abstract  long createAuthorityAliasEntity(AuthorityAliasEntity entity)
           
protected abstract  AuthorityEntity createAuthorityEntity(AuthorityEntity entity)
           
 Permission createPermission(PermissionReference permissionReference)
           
protected abstract  PermissionEntity createPermissionEntity(PermissionEntity entity)
           
protected abstract  int deleteAceContextEntity(long aceContextId)
           
protected abstract  int deleteAceEntities(java.util.List aceIds)
           
 int deleteAces(java.util.List aceIds)
           
 void deleteAcl(long id)
           
 void deleteAclChangeSet(java.lang.Long changeSetId)
           
protected abstract  int deleteAclChangeSetEntity(java.lang.Long id)
           
protected abstract  int deleteAclEntity(long id)
           
protected abstract  int deleteAclMemberEntities(java.util.List aclMemberIds)
           
protected abstract  int deleteAclMemberEntitiesByAcl(long idOfAcl)
           
 int deleteAclMembers(java.util.List aclMemberIds)
           
 int deleteAclMembersByAcl(long idOfAcl)
           
 void deleteAuthority(long id)
           
protected abstract  int deleteAuthorityAliasEntity(long id)
           
protected abstract  int deleteAuthorityEntity(long id)
           
 void deletePermission(long id)
           
protected abstract  int deletePermissionEntity(long id)
           
 Ace getAce(long aceEntityId)
           
 Ace getAce(Permission permission, Authority authority, ACEType type, org.alfresco.service.cmr.security.AccessStatus accessStatus)
           
protected abstract  java.util.List getAceAndAuthorityEntitiesByAcl(long idOfAcl)
           
protected abstract  AceContextEntity getAceContextEntity(long aceContextId)
           
protected abstract  java.util.List getAceEntitiesByAuthority(long authorityId)
           
protected abstract  AceEntity getAceEntity(long aceEntityId)
           
protected abstract  AceEntity getAceEntity(long permissionId, long authorityId, boolean allowed, ACEType type)
           
 java.util.List getAcesAndAuthoritiesByAcl(long idOfAcl)
           
 java.util.List getAcesByAuthority(long authorityId)
           
 Acl getAcl(long id)
           
 AclChangeSetEntity getAclChangeSet(java.lang.Long changeSetId)
           
protected abstract  AclChangeSetEntity getAclChangeSetEntity(java.lang.Long changeSetId)
           
protected abstract  java.util.List getAclEntitiesThatInheritFromAcl(long idOfAcl)
           
protected abstract  AclEntity getAclEntity(long id)
           
 AclUpdateEntity getAclForUpdate(long id)
           
protected abstract  java.util.List getAclMemberEntitiesByAcl(long idOfAcl)
           
protected abstract  java.util.List getAclMemberEntitiesByAuthority(java.lang.String authorityName)
           
 java.util.List getAclMembersByAcl(long idOfAcl)
           
 java.util.List getAclMembersByAclForUpdate(long idOfAcl)
           
 java.util.List getAclMembersByAuthority(java.lang.String authorityName)
           
 java.util.List getAclsThatInheritFromAcl(long aclEntityId)
           
protected abstract  java.util.List getADMNodeEntityIdsByAcl(long aclEntityId, int maxResults)
           
 java.util.List getADMNodesByAcl(long aclEntityId, int maxResults)
           
 Authority getAuthority(long id)
           
 Authority getAuthority(java.lang.String authorityName)
           
protected abstract  AuthorityEntity getAuthorityEntity(long id)
           
protected abstract  AuthorityEntity getAuthorityEntity(java.lang.String authorityName)
           
protected abstract  java.util.List getAVMNodeEntityIdsByAcl(long aclEntityId, int maxResults)
           
 java.util.List getAVMNodesByAcl(long aclEntityId, int maxResults)
           
 java.lang.Long getLatestAclByGuid(java.lang.String aclGuid)
           
protected abstract  java.lang.Long getLatestAclEntityByGuid(java.lang.String aclGuid)
           
 Ace getOrCreateAce(Permission permission, Authority authority, ACEType type, org.alfresco.service.cmr.security.AccessStatus accessStatus)
           
 Authority getOrCreateAuthority(java.lang.String name)
           
 Permission getOrCreatePermission(PermissionReference permissionReference)
           
 Permission getPermission(long id)
           
 Permission getPermission(PermissionReference permissionReference)
           
protected abstract  PermissionEntity getPermissionEntity(long id)
           
protected abstract  PermissionEntity getPermissionEntity(long qnameId, java.lang.String name)
           
 void renameAuthority(java.lang.String before, java.lang.String after)
           
 void renamePermission(org.alfresco.service.namespace.QName oldTypeQName, java.lang.String oldName, org.alfresco.service.namespace.QName newTypeQName, java.lang.String newName)
           
 void setAclEntityCache(org.alfresco.repo.cache.SimpleCache aclEntityCache)
          Set the cache to use for alf_access_control_list lookups (optional).
 void setAuthorityEntityCache(org.alfresco.repo.cache.SimpleCache authorityEntityCache)
          Set the cache to use for alf_authority lookups (optional).
 void setBatchSize(int batchSizeOverride)
           
 void setPermissionEntityCache(org.alfresco.repo.cache.SimpleCache permissionEntityCache)
          Set the cache to use for alf_permission lookups (optional).
 void setQnameDAO(QNameDAO qnameDAO)
           
 void updateAcl(AclUpdateEntity entity)
           
 void updateAclChangeSet(java.lang.Long aclChangeSetEntityId, long commitTimeMs)
           
protected abstract  int updateAclEntity(AclEntity entity)
           
 void updateAclMember(AclMemberEntity entity)
           
protected abstract  int updateAclMemberEntity(AclMemberEntity entity)
           
protected abstract  int updateAuthorityEntity(AuthorityEntity updateEntity)
           
protected abstract  int updateChangeSetEntity(java.lang.Long id, long commitTimeMs)
           
protected abstract  int updatePermissionEntity(PermissionEntity updateEntity)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAclCrudDAOImpl

public AbstractAclCrudDAOImpl()
Default constructor.

This sets up the DAO accessors to bypass any caching to handle the case where the caches are not supplied in the setters.

Method Detail

setQnameDAO

public void setQnameDAO(QNameDAO qnameDAO)

setBatchSize

public void setBatchSize(int batchSizeOverride)

setAclEntityCache

public void setAclEntityCache(org.alfresco.repo.cache.SimpleCache aclEntityCache)
Set the cache to use for alf_access_control_list lookups (optional).

Parameters:
aclEntityCache - the cache of IDs to AclEntities

setAuthorityEntityCache

public void setAuthorityEntityCache(org.alfresco.repo.cache.SimpleCache authorityEntityCache)
Set the cache to use for alf_authority lookups (optional).

Parameters:
authorityEntityCache - the cache of IDs to AclEntities

setPermissionEntityCache

public void setPermissionEntityCache(org.alfresco.repo.cache.SimpleCache permissionEntityCache)
Set the cache to use for alf_permission lookups (optional).

Parameters:
permissionEntityCache - the cache of IDs to PermissionEntities

createAcl

public AclEntity createAcl(AclEntity entity)
Specified by:
createAcl in interface AclCrudDAO

getAcl

public Acl getAcl(long id)
Specified by:
getAcl in interface AclCrudDAO

getAclForUpdate

public AclUpdateEntity getAclForUpdate(long id)
Specified by:
getAclForUpdate in interface AclCrudDAO

getAclsThatInheritFromAcl

public java.util.List getAclsThatInheritFromAcl(long aclEntityId)
Specified by:
getAclsThatInheritFromAcl in interface AclCrudDAO

getLatestAclByGuid

public java.lang.Long getLatestAclByGuid(java.lang.String aclGuid)
Specified by:
getLatestAclByGuid in interface AclCrudDAO

getADMNodesByAcl

public java.util.List getADMNodesByAcl(long aclEntityId,
                                       int maxResults)
Specified by:
getADMNodesByAcl in interface AclCrudDAO

getAVMNodesByAcl

public java.util.List getAVMNodesByAcl(long aclEntityId,
                                       int maxResults)
Specified by:
getAVMNodesByAcl in interface AclCrudDAO

updateAcl

public void updateAcl(AclUpdateEntity entity)
Specified by:
updateAcl in interface AclCrudDAO

deleteAcl

public void deleteAcl(long id)
Specified by:
deleteAcl in interface AclCrudDAO

createAclEntity

protected abstract AclEntity createAclEntity(AclEntity entity)

getAclEntity

protected abstract AclEntity getAclEntity(long id)

getAclEntitiesThatInheritFromAcl

protected abstract java.util.List getAclEntitiesThatInheritFromAcl(long idOfAcl)

getLatestAclEntityByGuid

protected abstract java.lang.Long getLatestAclEntityByGuid(java.lang.String aclGuid)

updateAclEntity

protected abstract int updateAclEntity(AclEntity entity)

deleteAclEntity

protected abstract int deleteAclEntity(long id)

getADMNodeEntityIdsByAcl

protected abstract java.util.List getADMNodeEntityIdsByAcl(long aclEntityId,
                                                           int maxResults)

getAVMNodeEntityIdsByAcl

protected abstract java.util.List getAVMNodeEntityIdsByAcl(long aclEntityId,
                                                           int maxResults)

addAclMembersToAcl

public void addAclMembersToAcl(long aclId,
                               java.util.List aceIds,
                               int depth)
Specified by:
addAclMembersToAcl in interface AclCrudDAO

addAclMembersToAcl

public void addAclMembersToAcl(long aclId,
                               java.util.List aceIdsWithDepths)
Specified by:
addAclMembersToAcl in interface AclCrudDAO

getAclMembersByAcl

public java.util.List getAclMembersByAcl(long idOfAcl)
Specified by:
getAclMembersByAcl in interface AclCrudDAO

getAclMembersByAclForUpdate

public java.util.List getAclMembersByAclForUpdate(long idOfAcl)
Specified by:
getAclMembersByAclForUpdate in interface AclCrudDAO

getAclMembersByAuthority

public java.util.List getAclMembersByAuthority(java.lang.String authorityName)
Specified by:
getAclMembersByAuthority in interface AclCrudDAO

updateAclMember

public void updateAclMember(AclMemberEntity entity)
Specified by:
updateAclMember in interface AclCrudDAO

deleteAclMembers

public int deleteAclMembers(java.util.List aclMemberIds)
Specified by:
deleteAclMembers in interface AclCrudDAO

deleteAclMembersByAcl

public int deleteAclMembersByAcl(long idOfAcl)
Specified by:
deleteAclMembersByAcl in interface AclCrudDAO

createAclMemberEntity

protected abstract AclMemberEntity createAclMemberEntity(AclMemberEntity entity)

getAclMemberEntitiesByAcl

protected abstract java.util.List getAclMemberEntitiesByAcl(long idOfAcl)

getAclMemberEntitiesByAuthority

protected abstract java.util.List getAclMemberEntitiesByAuthority(java.lang.String authorityName)

updateAclMemberEntity

protected abstract int updateAclMemberEntity(AclMemberEntity entity)

deleteAclMemberEntities

protected abstract int deleteAclMemberEntities(java.util.List aclMemberIds)

deleteAclMemberEntitiesByAcl

protected abstract int deleteAclMemberEntitiesByAcl(long idOfAcl)

createAclChangeSet

public java.lang.Long createAclChangeSet()
Specified by:
createAclChangeSet in interface AclCrudDAO

updateAclChangeSet

public void updateAclChangeSet(java.lang.Long aclChangeSetEntityId,
                               long commitTimeMs)
Specified by:
updateAclChangeSet in interface AclCrudDAO

getAclChangeSet

public AclChangeSetEntity getAclChangeSet(java.lang.Long changeSetId)
Specified by:
getAclChangeSet in interface AclCrudDAO

deleteAclChangeSet

public void deleteAclChangeSet(java.lang.Long changeSetId)
Specified by:
deleteAclChangeSet in interface AclCrudDAO

createAclChangeSetEntity

protected abstract java.lang.Long createAclChangeSetEntity()

getAclChangeSetEntity

protected abstract AclChangeSetEntity getAclChangeSetEntity(java.lang.Long changeSetId)

deleteAclChangeSetEntity

protected abstract int deleteAclChangeSetEntity(java.lang.Long id)

updateChangeSetEntity

protected abstract int updateChangeSetEntity(java.lang.Long id,
                                             long commitTimeMs)

createAce

public Ace createAce(Permission permission,
                     Authority authority,
                     ACEType type,
                     org.alfresco.service.cmr.security.AccessStatus accessStatus)
Specified by:
createAce in interface AclCrudDAO

getAce

public Ace getAce(Permission permission,
                  Authority authority,
                  ACEType type,
                  org.alfresco.service.cmr.security.AccessStatus accessStatus)
Specified by:
getAce in interface AclCrudDAO

getAce

public Ace getAce(long aceEntityId)
Specified by:
getAce in interface AclCrudDAO

getOrCreateAce

public Ace getOrCreateAce(Permission permission,
                          Authority authority,
                          ACEType type,
                          org.alfresco.service.cmr.security.AccessStatus accessStatus)
Specified by:
getOrCreateAce in interface AclCrudDAO

getAcesByAuthority

public java.util.List getAcesByAuthority(long authorityId)
Specified by:
getAcesByAuthority in interface AclCrudDAO

getAcesAndAuthoritiesByAcl

public java.util.List getAcesAndAuthoritiesByAcl(long idOfAcl)
Specified by:
getAcesAndAuthoritiesByAcl in interface AclCrudDAO

deleteAces

public int deleteAces(java.util.List aceIds)
Specified by:
deleteAces in interface AclCrudDAO

createAceEntity

protected abstract long createAceEntity(AceEntity entity)

getAceEntity

protected abstract AceEntity getAceEntity(long aceEntityId)

getAceEntity

protected abstract AceEntity getAceEntity(long permissionId,
                                          long authorityId,
                                          boolean allowed,
                                          ACEType type)

getAceEntitiesByAuthority

protected abstract java.util.List getAceEntitiesByAuthority(long authorityId)

getAceAndAuthorityEntitiesByAcl

protected abstract java.util.List getAceAndAuthorityEntitiesByAcl(long idOfAcl)

deleteAceEntities

protected abstract int deleteAceEntities(java.util.List aceIds)

createPermission

public Permission createPermission(PermissionReference permissionReference)
Specified by:
createPermission in interface AclCrudDAO

getPermission

public Permission getPermission(long id)
Specified by:
getPermission in interface AclCrudDAO

getPermission

public Permission getPermission(PermissionReference permissionReference)
Specified by:
getPermission in interface AclCrudDAO

getOrCreatePermission

public Permission getOrCreatePermission(PermissionReference permissionReference)
Specified by:
getOrCreatePermission in interface AclCrudDAO

renamePermission

public void renamePermission(org.alfresco.service.namespace.QName oldTypeQName,
                             java.lang.String oldName,
                             org.alfresco.service.namespace.QName newTypeQName,
                             java.lang.String newName)
Specified by:
renamePermission in interface AclCrudDAO

deletePermission

public void deletePermission(long id)
Specified by:
deletePermission in interface AclCrudDAO

createPermissionEntity

protected abstract PermissionEntity createPermissionEntity(PermissionEntity entity)

getPermissionEntity

protected abstract PermissionEntity getPermissionEntity(long id)

getPermissionEntity

protected abstract PermissionEntity getPermissionEntity(long qnameId,
                                                        java.lang.String name)

updatePermissionEntity

protected abstract int updatePermissionEntity(PermissionEntity updateEntity)

deletePermissionEntity

protected abstract int deletePermissionEntity(long id)

createAuthority

public Authority createAuthority(java.lang.String authorityName)

getAuthority

public Authority getAuthority(long id)
Specified by:
getAuthority in interface AclCrudDAO

getAuthority

public Authority getAuthority(java.lang.String authorityName)
Specified by:
getAuthority in interface AclCrudDAO

getOrCreateAuthority

public Authority getOrCreateAuthority(java.lang.String name)
Specified by:
getOrCreateAuthority in interface AclCrudDAO

renameAuthority

public void renameAuthority(java.lang.String before,
                            java.lang.String after)
Specified by:
renameAuthority in interface AclCrudDAO

deleteAuthority

public void deleteAuthority(long id)
Specified by:
deleteAuthority in interface AclCrudDAO

createAuthorityEntity

protected abstract AuthorityEntity createAuthorityEntity(AuthorityEntity entity)

getAuthorityEntity

protected abstract AuthorityEntity getAuthorityEntity(long id)

getAuthorityEntity

protected abstract AuthorityEntity getAuthorityEntity(java.lang.String authorityName)

updateAuthorityEntity

protected abstract int updateAuthorityEntity(AuthorityEntity updateEntity)

deleteAuthorityEntity

protected abstract int deleteAuthorityEntity(long id)

createAceContextEntity

protected abstract long createAceContextEntity(AceContextEntity entity)

getAceContextEntity

protected abstract AceContextEntity getAceContextEntity(long aceContextId)

deleteAceContextEntity

protected abstract int deleteAceContextEntity(long aceContextId)

createAuthorityAliasEntity

protected abstract long createAuthorityAliasEntity(AuthorityAliasEntity entity)

deleteAuthorityAliasEntity

protected abstract int deleteAuthorityAliasEntity(long id)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.