You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2017/06/10 11:25:50 UTC
[05/50] archiva git commit: Add cache reset after configuration save
Add cache reset after configuration save
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/593d69f5
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/593d69f5
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/593d69f5
Branch: refs/heads/citest
Commit: 593d69f52eae0b0187a817212c29388968a2add8
Parents: 4932324
Author: Martin Stockhammer <ma...@apache.org>
Authored: Tue Oct 25 22:43:09 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Tue Oct 25 22:43:09 2016 +0200
----------------------------------------------------------------------
.../archiva/web/security/ArchivaRbacManager.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/593d69f5/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
index 143f3c2..6b2eb9e 100644
--- a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
+++ b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaRbacManager.java
@@ -98,6 +98,8 @@ public class ArchivaRbacManager
List<String> rbacManagerIds =
redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration().getRbacManagerImpls();
+ clearCaches();
+
if ( rbacManagerIds.isEmpty() )
{
rbacManagerIds.add( RedbackRuntimeConfigurationAdmin.DEFAULT_RBAC_MANAGER_IMPL );
@@ -113,6 +115,7 @@ public class ArchivaRbacManager
rbacManagersPerId.put( id, rbacManager );
}
+
}
catch ( RepositoryAdminException e )
{
@@ -122,12 +125,23 @@ public class ArchivaRbacManager
}
}
+ private void clearCaches() {
+ resourcesCache.clear();
+ operationsCache.clear();
+ permissionsCache.clear();
+ rolesCache.clear();
+ userAssignmentsCache.clear();
+ userPermissionsCache.clear();
+ effectiveRoleSetCache.clear();
+ }
+
protected RBACManager getRbacManagerForWrite()
{
for ( RBACManager rbacManager : this.rbacManagersPerId.values() )
{
if ( !rbacManager.isReadOnly() )
{
+ log.debug("Writable Rbac manager {}", rbacManager.getDescriptionKey());
return rbacManager;
}
}