org.apache.archiva.web.security
Class ArchivaRbacManager

java.lang.Object
  extended by org.apache.archiva.redback.rbac.AbstractRBACManager
      extended by org.apache.archiva.web.security.ArchivaRbacManager
All Implemented Interfaces:
org.apache.archiva.redback.rbac.RBACManager

@Service(value="rbacManager#archiva")
public class ArchivaRbacManager
extends org.apache.archiva.redback.rbac.AbstractRBACManager
implements org.apache.archiva.redback.rbac.RBACManager

Since:
1.4-M4
Author:
Olivier Lamy

Field Summary
private  org.springframework.context.ApplicationContext applicationContext
           
private  org.apache.archiva.redback.components.cache.Cache<String,Set<org.apache.archiva.redback.rbac.Role>> effectiveRoleSetCache
           
private  org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Operation> operationsCache
           
private  org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Permission> permissionsCache
           
private  Map<String,org.apache.archiva.redback.rbac.RBACManager> rbacManagersPerId
           
private  RedbackRuntimeConfigurationAdmin redbackRuntimeConfigurationAdmin
           
private  org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Resource> resourcesCache
           
private  org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Role> rolesCache
           
private  org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.UserAssignment> userAssignmentsCache
           
private  org.apache.archiva.redback.components.cache.Cache<String,Map<String,List<org.apache.archiva.redback.rbac.Permission>>> userPermissionsCache
           
 
Fields inherited from class org.apache.archiva.redback.rbac.AbstractRBACManager
log
 
Constructor Summary
ArchivaRbacManager()
           
 
Method Summary
 org.apache.archiva.redback.rbac.Operation createOperation(String name)
           
 org.apache.archiva.redback.rbac.Permission createPermission(String name)
           
 org.apache.archiva.redback.rbac.Permission createPermission(String name, String operationName, String resourceIdentifier)
           
 org.apache.archiva.redback.rbac.Resource createResource(String identifier)
           
 org.apache.archiva.redback.rbac.Role createRole(String name)
           
 org.apache.archiva.redback.rbac.UserAssignment createUserAssignment(String principal)
           
 void eraseDatabase()
           
 List<org.apache.archiva.redback.rbac.Operation> getAllOperations()
           
 List<org.apache.archiva.redback.rbac.Permission> getAllPermissions()
           
 List<org.apache.archiva.redback.rbac.Resource> getAllResources()
           
 List<org.apache.archiva.redback.rbac.Role> getAllRoles()
           
 List<org.apache.archiva.redback.rbac.UserAssignment> getAllUserAssignments()
           
 String getDescriptionKey()
           
 org.apache.archiva.redback.rbac.Operation getOperation(String operationName)
           
 org.apache.archiva.redback.rbac.Permission getPermission(String permissionName)
           
protected  org.apache.archiva.redback.rbac.RBACManager getRbacManagerForWrite()
           
 org.apache.archiva.redback.rbac.Resource getResource(String resourceIdentifier)
           
 org.apache.archiva.redback.rbac.Role getRole(String roleName)
           
 org.apache.archiva.redback.rbac.UserAssignment getUserAssignment(String principal)
           
 List<org.apache.archiva.redback.rbac.UserAssignment> getUserAssignmentsForRoles(Collection<String> roleNames)
           
 void initialize()
           
 boolean isFinalImplementation()
           
 boolean isReadOnly()
           
 void removeOperation(org.apache.archiva.redback.rbac.Operation operation)
           
 void removePermission(org.apache.archiva.redback.rbac.Permission permission)
           
 void removeResource(org.apache.archiva.redback.rbac.Resource resource)
           
 void removeRole(org.apache.archiva.redback.rbac.Role role)
           
 void removeUserAssignment(org.apache.archiva.redback.rbac.UserAssignment userAssignment)
           
 boolean roleExists(org.apache.archiva.redback.rbac.Role role)
           
 boolean roleExists(String name)
           
 org.apache.archiva.redback.rbac.Operation saveOperation(org.apache.archiva.redback.rbac.Operation operation)
           
 org.apache.archiva.redback.rbac.Permission savePermission(org.apache.archiva.redback.rbac.Permission permission)
           
 org.apache.archiva.redback.rbac.Resource saveResource(org.apache.archiva.redback.rbac.Resource resource)
           
 org.apache.archiva.redback.rbac.Role saveRole(org.apache.archiva.redback.rbac.Role role)
           
 void saveRoles(Collection<org.apache.archiva.redback.rbac.Role> roles)
           
 org.apache.archiva.redback.rbac.UserAssignment saveUserAssignment(org.apache.archiva.redback.rbac.UserAssignment userAssignment)
           
 boolean userAssignmentExists(String principal)
           
 boolean userAssignmentExists(org.apache.archiva.redback.rbac.UserAssignment assignment)
           
 
Methods inherited from class org.apache.archiva.redback.rbac.AbstractRBACManager
addChildRole, addListener, fireRbacInit, fireRbacPermissionRemoved, fireRbacPermissionSaved, fireRbacRoleRemoved, fireRbacRoleSaved, fireRbacUserAssignmentRemoved, fireRbacUserAssignmentSaved, getAllAssignableRoles, getAssignedPermissionMap, getAssignedPermissions, getAssignedRoles, getAssignedRoles, getChildRoles, getEffectivelyAssignedRoles, getEffectivelyAssignedRoles, getEffectivelyUnassignedRoles, getEffectiveRoles, getGlobalResource, getParentRoles, getRoles, getUnassignedRoles, operationExists, operationExists, permissionExists, permissionExists, removeListener, removeOperation, removePermission, removeResource, removeRole, removeUserAssignment, resourceExists, resourceExists
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.archiva.redback.rbac.RBACManager
addChildRole, addListener, getAllAssignableRoles, getAssignedPermissionMap, getAssignedPermissions, getAssignedRoles, getAssignedRoles, getChildRoles, getEffectivelyAssignedRoles, getEffectivelyUnassignedRoles, getEffectiveRoles, getGlobalResource, getParentRoles, getRoles, getUnassignedRoles, operationExists, operationExists, permissionExists, permissionExists, removeListener, removeOperation, removePermission, removeResource, removeRole, removeUserAssignment, resourceExists, resourceExists
 

Field Detail

rbacManagersPerId

private Map<String,org.apache.archiva.redback.rbac.RBACManager> rbacManagersPerId

applicationContext

@Inject
private org.springframework.context.ApplicationContext applicationContext

redbackRuntimeConfigurationAdmin

@Inject
private RedbackRuntimeConfigurationAdmin redbackRuntimeConfigurationAdmin

operationsCache

@Inject
@Named(value="cache#operations")
private org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Operation> operationsCache

permissionsCache

@Inject
@Named(value="cache#permissions")
private org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Permission> permissionsCache

resourcesCache

@Inject
@Named(value="cache#resources")
private org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Resource> resourcesCache

rolesCache

@Inject
@Named(value="cache#roles")
private org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.Role> rolesCache

userAssignmentsCache

@Inject
@Named(value="cache#userAssignments")
private org.apache.archiva.redback.components.cache.Cache<String,org.apache.archiva.redback.rbac.UserAssignment> userAssignmentsCache

userPermissionsCache

@Inject
@Named(value="cache#userPermissions")
private org.apache.archiva.redback.components.cache.Cache<String,Map<String,List<org.apache.archiva.redback.rbac.Permission>>> userPermissionsCache

effectiveRoleSetCache

@Inject
@Named(value="cache#effectiveRoleSet")
private org.apache.archiva.redback.components.cache.Cache<String,Set<org.apache.archiva.redback.rbac.Role>> effectiveRoleSetCache
Constructor Detail

ArchivaRbacManager

public ArchivaRbacManager()
Method Detail

initialize

public void initialize()
Specified by:
initialize in interface org.apache.archiva.redback.rbac.RBACManager
Overrides:
initialize in class org.apache.archiva.redback.rbac.AbstractRBACManager

getRbacManagerForWrite

protected org.apache.archiva.redback.rbac.RBACManager getRbacManagerForWrite()

createRole

public org.apache.archiva.redback.rbac.Role createRole(String name)
Specified by:
createRole in interface org.apache.archiva.redback.rbac.RBACManager

saveRole

public org.apache.archiva.redback.rbac.Role saveRole(org.apache.archiva.redback.rbac.Role role)
                                              throws org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                                                     org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
saveRole in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

saveRoles

public void saveRoles(Collection<org.apache.archiva.redback.rbac.Role> roles)
               throws org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                      org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
saveRoles in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

getRole

public org.apache.archiva.redback.rbac.Role getRole(String roleName)
                                             throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                                                    org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getRole in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacManagerException

getAllRoles

public List<org.apache.archiva.redback.rbac.Role> getAllRoles()
                                                       throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getAllRoles in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

removeRole

public void removeRole(org.apache.archiva.redback.rbac.Role role)
                throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                       org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                       org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
removeRole in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

createPermission

public org.apache.archiva.redback.rbac.Permission createPermission(String name)
                                                            throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
createPermission in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

createPermission

public org.apache.archiva.redback.rbac.Permission createPermission(String name,
                                                                   String operationName,
                                                                   String resourceIdentifier)
                                                            throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
createPermission in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

savePermission

public org.apache.archiva.redback.rbac.Permission savePermission(org.apache.archiva.redback.rbac.Permission permission)
                                                          throws org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                                                                 org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
savePermission in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

getPermission

public org.apache.archiva.redback.rbac.Permission getPermission(String permissionName)
                                                         throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                                                                org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getPermission in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacManagerException

getAllPermissions

public List<org.apache.archiva.redback.rbac.Permission> getAllPermissions()
                                                                   throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getAllPermissions in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

removePermission

public void removePermission(org.apache.archiva.redback.rbac.Permission permission)
                      throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                             org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                             org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
removePermission in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

createOperation

public org.apache.archiva.redback.rbac.Operation createOperation(String name)
                                                          throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
createOperation in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

saveOperation

public org.apache.archiva.redback.rbac.Operation saveOperation(org.apache.archiva.redback.rbac.Operation operation)
                                                        throws org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                                                               org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
saveOperation in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

getOperation

public org.apache.archiva.redback.rbac.Operation getOperation(String operationName)
                                                       throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                                                              org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getOperation in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacManagerException

getAllOperations

public List<org.apache.archiva.redback.rbac.Operation> getAllOperations()
                                                                 throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getAllOperations in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

removeOperation

public void removeOperation(org.apache.archiva.redback.rbac.Operation operation)
                     throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                            org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                            org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
removeOperation in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

createResource

public org.apache.archiva.redback.rbac.Resource createResource(String identifier)
                                                        throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
createResource in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

saveResource

public org.apache.archiva.redback.rbac.Resource saveResource(org.apache.archiva.redback.rbac.Resource resource)
                                                      throws org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                                                             org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
saveResource in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

getResource

public org.apache.archiva.redback.rbac.Resource getResource(String resourceIdentifier)
                                                     throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                                                            org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getResource in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacManagerException

getAllResources

public List<org.apache.archiva.redback.rbac.Resource> getAllResources()
                                                               throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getAllResources in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

removeResource

public void removeResource(org.apache.archiva.redback.rbac.Resource resource)
                    throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                           org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                           org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
removeResource in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

createUserAssignment

public org.apache.archiva.redback.rbac.UserAssignment createUserAssignment(String principal)
                                                                    throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
createUserAssignment in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

saveUserAssignment

public org.apache.archiva.redback.rbac.UserAssignment saveUserAssignment(org.apache.archiva.redback.rbac.UserAssignment userAssignment)
                                                                  throws org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                                                                         org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
saveUserAssignment in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

getUserAssignment

public org.apache.archiva.redback.rbac.UserAssignment getUserAssignment(String principal)
                                                                 throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                                                                        org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getUserAssignment in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacManagerException

userAssignmentExists

public boolean userAssignmentExists(String principal)
Specified by:
userAssignmentExists in interface org.apache.archiva.redback.rbac.RBACManager
Overrides:
userAssignmentExists in class org.apache.archiva.redback.rbac.AbstractRBACManager

userAssignmentExists

public boolean userAssignmentExists(org.apache.archiva.redback.rbac.UserAssignment assignment)
Specified by:
userAssignmentExists in interface org.apache.archiva.redback.rbac.RBACManager
Overrides:
userAssignmentExists in class org.apache.archiva.redback.rbac.AbstractRBACManager

getAllUserAssignments

public List<org.apache.archiva.redback.rbac.UserAssignment> getAllUserAssignments()
                                                                           throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getAllUserAssignments in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

getUserAssignmentsForRoles

public List<org.apache.archiva.redback.rbac.UserAssignment> getUserAssignmentsForRoles(Collection<String> roleNames)
                                                                                throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
getUserAssignmentsForRoles in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

removeUserAssignment

public void removeUserAssignment(org.apache.archiva.redback.rbac.UserAssignment userAssignment)
                          throws org.apache.archiva.redback.rbac.RbacObjectNotFoundException,
                                 org.apache.archiva.redback.rbac.RbacObjectInvalidException,
                                 org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
removeUserAssignment in interface org.apache.archiva.redback.rbac.RBACManager
Throws:
org.apache.archiva.redback.rbac.RbacObjectNotFoundException
org.apache.archiva.redback.rbac.RbacObjectInvalidException
org.apache.archiva.redback.rbac.RbacManagerException

roleExists

public boolean roleExists(String name)
                   throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
roleExists in interface org.apache.archiva.redback.rbac.RBACManager
Overrides:
roleExists in class org.apache.archiva.redback.rbac.AbstractRBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

roleExists

public boolean roleExists(org.apache.archiva.redback.rbac.Role role)
                   throws org.apache.archiva.redback.rbac.RbacManagerException
Specified by:
roleExists in interface org.apache.archiva.redback.rbac.RBACManager
Overrides:
roleExists in class org.apache.archiva.redback.rbac.AbstractRBACManager
Throws:
org.apache.archiva.redback.rbac.RbacManagerException

eraseDatabase

public void eraseDatabase()
Specified by:
eraseDatabase in interface org.apache.archiva.redback.rbac.RBACManager

isFinalImplementation

public boolean isFinalImplementation()
Specified by:
isFinalImplementation in interface org.apache.archiva.redback.rbac.RBACManager
Overrides:
isFinalImplementation in class org.apache.archiva.redback.rbac.AbstractRBACManager

getDescriptionKey

public String getDescriptionKey()
Specified by:
getDescriptionKey in interface org.apache.archiva.redback.rbac.RBACManager

isReadOnly

public boolean isReadOnly()
Specified by:
isReadOnly in interface org.apache.archiva.redback.rbac.RBACManager


Copyright © 2006-2013 The Apache Software Foundation. All Rights Reserved.